diff options
author | Darin Adler <darin@src.gnome.org> | 2001-02-16 18:33:09 +0000 |
---|---|---|
committer | Darin Adler <darin@src.gnome.org> | 2001-02-16 18:33:09 +0000 |
commit | b31cdf226e10aa6e017e7859c0a24e6cd64a69db (patch) | |
tree | 74dc5c815f48f77cd06c78b0a7c0ed3ec3a056e0 /libnautilus-private/nautilus-vfs-directory.c | |
parent | 06f6ce7acb9db42363456364e2ae759d13a7dced (diff) | |
download | nautilus-b31cdf226e10aa6e017e7859c0a24e6cd64a69db.tar.gz |
reviewed by: Gene Ragan <gzr@eazel.com>
Finish fixing bug 6286 (need to re-apply optimization where we do
a single directory load):
* src/nautilus-window-manage-views.c: (begin_location_change): Do
the force_reload work in here. We want it on all 4 kinds of
location change (forward, back, new location, reload). Other
browsers don't do reload on back, so we may want to change this at
some point.
(nautilus_window_reload): Remove the old code to invalidate from
here now that it's done in begin_location_change.
* src/file-manager/fm-directory-view.c: (load_location_callback),
(load_directory), (finish_loading), (filtering_changed_callback):
Remove the old code to do force_reload. The NautilusDirectory part
of triggering a reload is now handled by the shell.
* libnautilus-extensions/nautilus-directory.h:
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_file_monitor_add): No force_reload parameter
any more.
(nautilus_directory_force_reload): New separate call used to force
a reload. A method call so subclasses can implement.
(nautilus_self_check_directory): Removed the FALSE force_reload
argument to file_monitor_add.
* libnautilus-extensions/nautilus-vfs-directory.c:
(vfs_file_monitor_add): No force_reload parameter any more.
(vfs_force_reload): Call through to
nautilus_directory_force_reload_internal to do the real work.
(nautilus_vfs_directory_initialize_class): Install the new
force_reload function.
* libnautilus-extensions/nautilus-merged-directory.c:
(merged_file_monitor_add): No force_reload parameter any more.
(merged_force_reload): Tell all of the real directories to force a
reload.
(monitor_add_directory): No force_reload to track any more.
(nautilus_merged_directory_initialize_class): Install the new
force_reload function.
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-directory-async.c:
(nautilus_directory_force_reload_internal): Change the name of
this function, since there's now a public function that is named
nautilus_directory_force_reload.
* libnautilus-extensions/nautilus-file-private.h:
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_get_all_attributes): Made a separate call so other
parts of the framework can use it.
(nautilus_file_invalidate_all_attributes): Use the new call.
* components/tree/nautilus-tree-model.c:
(nautilus_tree_model_monitor_add),
(nautilus_tree_model_node_begin_monitoring_no_connect): Use the
new force_reload call. The old one had more granularity and thus
forced less to be reloaded, but it's OK to do a little more here.
* libnautilus-extensions/nautilus-trash-monitor.c:
(nautilus_trash_monitor_initialize): Removed the FALSE
force_reload argument to file_monitor_add.
Other stuff:
* libnautilus-extensions/nautilus-directory-metafile.c:
(get_metafile), (nautilus_directory_get_file_metadata),
(nautilus_directory_get_file_metadata_list),
(nautilus_directory_set_file_metadata),
(nautilus_directory_set_file_metadata_list),
(nautilus_directory_copy_file_metadata),
(nautilus_directory_remove_file_metadata),
(nautilus_directory_rename_file_metadata): Moved FIXMEs around.
Pass NULL instead of &ev when calling bonobo_object_release_unref
since we don't really want to do anything different if there's
some kind of error.
* nautilus-installer/install-lib/.cvsignore:
* nautilus-installer/libtrilobite/.cvsignore:
Gotta create these files when you make new directories.
* README: Change xml-i18n-tools to mention the correct branch.
Diffstat (limited to 'libnautilus-private/nautilus-vfs-directory.c')
-rw-r--r-- | libnautilus-private/nautilus-vfs-directory.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/libnautilus-private/nautilus-vfs-directory.c b/libnautilus-private/nautilus-vfs-directory.c index 0638e5c72..bb375bc23 100644 --- a/libnautilus-private/nautilus-vfs-directory.c +++ b/libnautilus-private/nautilus-vfs-directory.c @@ -104,17 +104,11 @@ vfs_file_monitor_add (NautilusDirectory *directory, gconstpointer client, gboolean monitor_hidden_files, gboolean monitor_backup_files, - GList *file_attributes, - gboolean force_reload) + GList *file_attributes) { g_assert (NAUTILUS_IS_VFS_DIRECTORY (directory)); g_assert (client != NULL); - if (force_reload) { - nautilus_directory_force_reload (directory, - file_attributes); - } - nautilus_directory_monitor_add_internal (directory, NULL, client, @@ -133,6 +127,19 @@ vfs_file_monitor_remove (NautilusDirectory *directory, nautilus_directory_monitor_remove_internal (directory, NULL, client); } +static void +vfs_force_reload (NautilusDirectory *directory) +{ + GList *all_attributes; + + g_assert (NAUTILUS_IS_DIRECTORY (directory)); + + all_attributes = nautilus_file_get_all_attributes (); + nautilus_directory_force_reload_internal (directory, + all_attributes); + g_list_free (all_attributes); +} + static gboolean vfs_are_all_files_seen (NautilusDirectory *directory) { @@ -193,6 +200,7 @@ nautilus_vfs_directory_initialize_class (gpointer klass) directory_class->cancel_callback = vfs_cancel_callback; directory_class->file_monitor_add = vfs_file_monitor_add; directory_class->file_monitor_remove = vfs_file_monitor_remove; + directory_class->force_reload = vfs_force_reload; directory_class->are_all_files_seen = vfs_are_all_files_seen; directory_class->is_not_empty = vfs_is_not_empty; } |