[nautilus] vfs-directory: stop poking internal directory state
- From: Ernestas Kulik <ernestask src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] vfs-directory: stop poking internal directory state
- Date: Thu, 24 Aug 2017 16:42:14 +0000 (UTC)
commit c02a1f4b59c6508257611cf3c5abe86e911d6a9d
Author: Ernestas Kulik <ernestask gnome org>
Date: Thu Aug 24 14:01:25 2017 +0300
vfs-directory: stop poking internal directory state
This commit moves some NautilusVFSDirectory vfunc overrides to
NautilusDirectory, as they directly access NautilusDirectoryDetails
fields.
https://bugzilla.gnome.org/show_bug.cgi?id=786760
src/nautilus-directory.c | 26 ++++++++++++++++++++++++++
src/nautilus-vfs-directory.c | 30 ------------------------------
2 files changed, 26 insertions(+), 30 deletions(-)
---
diff --git a/src/nautilus-directory.c b/src/nautilus-directory.c
index a1b44a1..48722c1 100644
--- a/src/nautilus-directory.c
+++ b/src/nautilus-directory.c
@@ -65,6 +65,10 @@ static GList *real_get_file_list (NautilusDirectory *directory);
static gboolean real_is_editable (NautilusDirectory *directory);
static void set_directory_location (NautilusDirectory *directory,
GFile *location);
+static gboolean real_contains_file (NautilusDirectory *directory,
+ NautilusFile *file);
+static gboolean real_are_all_files_seen (NautilusDirectory *directory);
+static gboolean real_is_not_empty (NautilusDirectory *directory);
static NautilusFile *real_new_file_from_filename (NautilusDirectory *directory,
const char *filename,
gboolean self_owned);
@@ -127,6 +131,9 @@ nautilus_directory_class_init (NautilusDirectoryClass *klass)
object_class = G_OBJECT_CLASS (klass);
+ klass->contains_file = real_contains_file;
+ klass->are_all_files_seen = real_are_all_files_seen;
+ klass->is_not_empty = real_is_not_empty;
klass->new_file_from_filename = real_new_file_from_filename;
object_class->finalize = nautilus_directory_finalize;
@@ -608,6 +615,25 @@ nautilus_directory_new_file_from_filename (NautilusDirectory *directory,
self_owned);
}
+static gboolean
+real_contains_file (NautilusDirectory *directory,
+ NautilusFile *file)
+{
+ return file->details->directory == directory;
+}
+
+static gboolean
+real_are_all_files_seen (NautilusDirectory *directory)
+{
+ return directory->details->directory_loaded;
+}
+
+static gboolean
+real_is_not_empty (NautilusDirectory *directory)
+{
+ return directory->details->file_list != NULL;
+}
+
static NautilusFile *
real_new_file_from_filename (NautilusDirectory *directory,
const char *filename,
diff --git a/src/nautilus-vfs-directory.c b/src/nautilus-vfs-directory.c
index 2f8f67c..c2bdb11 100644
--- a/src/nautilus-vfs-directory.c
+++ b/src/nautilus-vfs-directory.c
@@ -33,16 +33,6 @@ nautilus_vfs_directory_init (NautilusVFSDirectory *directory)
{
}
-static gboolean
-vfs_contains_file (NautilusDirectory *directory,
- NautilusFile *file)
-{
- g_assert (NAUTILUS_IS_VFS_DIRECTORY (directory));
- g_assert (NAUTILUS_IS_FILE (file));
-
- return file->details->directory == directory;
-}
-
static void
vfs_call_when_ready (NautilusDirectory *directory,
NautilusFileAttributes file_attributes,
@@ -118,34 +108,14 @@ vfs_force_reload (NautilusDirectory *directory)
all_attributes);
}
-static gboolean
-vfs_are_all_files_seen (NautilusDirectory *directory)
-{
- g_assert (NAUTILUS_IS_VFS_DIRECTORY (directory));
-
- return directory->details->directory_loaded;
-}
-
-static gboolean
-vfs_is_not_empty (NautilusDirectory *directory)
-{
- g_assert (NAUTILUS_IS_VFS_DIRECTORY (directory));
- g_assert (nautilus_directory_is_anyone_monitoring_file_list (directory));
-
- return directory->details->file_list != NULL;
-}
-
static void
nautilus_vfs_directory_class_init (NautilusVFSDirectoryClass *klass)
{
NautilusDirectoryClass *directory_class = NAUTILUS_DIRECTORY_CLASS (klass);
- directory_class->contains_file = vfs_contains_file;
directory_class->call_when_ready = vfs_call_when_ready;
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;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]