diff options
author | John Sullivan <sullivan@src.gnome.org> | 2001-01-24 01:49:33 +0000 |
---|---|---|
committer | John Sullivan <sullivan@src.gnome.org> | 2001-01-24 01:49:33 +0000 |
commit | aeb4b32c17e7c06c6a39c45f7db47cbcaea6debb (patch) | |
tree | 7ada17abead4688fbcad709e7f005dc3313974c7 /libnautilus-private/nautilus-file-private.h | |
parent | c562c9ca9ff682836ee99d29bb32d1e0b9b15bb4 (diff) | |
download | nautilus-aeb4b32c17e7c06c6a39c45f7db47cbcaea6debb.tar.gz |
Fixed bug 2153 (deep count calculation in properties window
could be faster)
Fixed bug 5687 (Sidebar flickers and CPU thrashes during
deep count calculation in properties window)
Changed the deep count calculation to send a specialized
signal when the in-progress count updates, instead of using
"file_changed", since many parts of the UI react to file_changed
by doing (in this case unnecessary) work. My stopwatch measurement
on a large directory showed that the time to calculate 20000
contained files went from 147 seconds to 8 seconds, and the CPU
usage pegged around 15% (formerly 100%).
* libnautilus-extensions/nautilus-directory-async.c:
(deep_count_callback): Call nautilus_file_changed only when
count is finished; call nautilus_file_updated_deep_count_in_progress
after every new higher value is computed.
* libnautilus-extensions/nautilus-file-private.h:
Added prototype for nautilus_file_updated_deep_count_in_progress.
* libnautilus-extensions/nautilus-file.h:
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_initialize_class): define "updated_deep_count_in_progres"
signal.
(nautilus_file_updated_deep_count_in_progress): send this new signal
for this file (which must be a directory) and any links pointing to
it.
* src/file-manager/fm-properties-window.c:
(attach_directory_contents_value_field): Make text field in properties
window react to new signal instead of "changed".
Diffstat (limited to 'libnautilus-private/nautilus-file-private.h')
-rw-r--r-- | libnautilus-private/nautilus-file-private.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libnautilus-private/nautilus-file-private.h b/libnautilus-private/nautilus-file-private.h index ed981017f..31778fb57 100644 --- a/libnautilus-private/nautilus-file-private.h +++ b/libnautilus-private/nautilus-file-private.h @@ -114,6 +114,7 @@ void nautilus_file_set_directory (NautilusFile gboolean nautilus_file_get_date (NautilusFile *file, NautilusDateType date_type, time_t *date); +void nautilus_file_updated_deep_count_in_progress (NautilusFile *file); /* Compare file's state with a fresh file info struct, return FALSE if * no change, update file and return TRUE if the file info contains |