summaryrefslogtreecommitdiff
path: root/src/nautilus-directory.c
diff options
context:
space:
mode:
authorErnestas Kulik <ernestask@gnome.org>2017-08-24 14:01:25 +0300
committerErnestas Kulik <ernestask@gnome.org>2017-08-24 19:41:55 +0300
commitc02a1f4b59c6508257611cf3c5abe86e911d6a9d (patch)
tree8a7828751847af9c63afab3bd91c5758664982d9 /src/nautilus-directory.c
parent2e04a28787e9a1eaeb6f1b9f01e303a1a31f60de (diff)
downloadnautilus-c02a1f4b59c6508257611cf3c5abe86e911d6a9d.tar.gz
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
Diffstat (limited to 'src/nautilus-directory.c')
-rw-r--r--src/nautilus-directory.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/nautilus-directory.c b/src/nautilus-directory.c
index a1b44a1ee..48722c100 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,