diff options
author | Ernestas Kulik <ernestask@gnome.org> | 2017-08-24 14:01:25 +0300 |
---|---|---|
committer | Ernestas Kulik <ernestask@gnome.org> | 2017-08-24 19:41:55 +0300 |
commit | c02a1f4b59c6508257611cf3c5abe86e911d6a9d (patch) | |
tree | 8a7828751847af9c63afab3bd91c5758664982d9 /src/nautilus-directory.c | |
parent | 2e04a28787e9a1eaeb6f1b9f01e303a1a31f60de (diff) | |
download | nautilus-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.c | 26 |
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, |