summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-vfs-directory.c
diff options
context:
space:
mode:
authorDarin Adler <darin@src.gnome.org>2001-02-16 18:33:09 +0000
committerDarin Adler <darin@src.gnome.org>2001-02-16 18:33:09 +0000
commitb31cdf226e10aa6e017e7859c0a24e6cd64a69db (patch)
tree74dc5c815f48f77cd06c78b0a7c0ed3ec3a056e0 /libnautilus-private/nautilus-vfs-directory.c
parent06f6ce7acb9db42363456364e2ae759d13a7dced (diff)
downloadnautilus-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.c22
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;
}