summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-desktop-directory.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2004-10-11 11:49:00 +0000
committerAlexander Larsson <alexl@src.gnome.org>2004-10-11 11:49:00 +0000
commit22a0330d9213d59e755883be73d00590f2f93153 (patch)
tree28d627b05177e1893e2cafa7fb1db4f23752c365 /libnautilus-private/nautilus-desktop-directory.c
parentd2d44c7f58239a851ea175e580429c056d3bca28 (diff)
downloadnautilus-22a0330d9213d59e755883be73d00590f2f93153.tar.gz
Make nautilus_directory_get_file_list virtual
2004-10-11 Alexander Larsson <alexl@redhat.com> * libnautilus-private/nautilus-directory.[ch]: Make nautilus_directory_get_file_list virtual * libnautilus-private/nautilus-desktop-directory.c: * libnautilus-private/nautilus-merged-directory.c: Override virtual to return all files. Fixes bug #149096. Patch from Jimmy Do <crispyleaves@gmail.com> * src/file-manager/fm-directory-view.c (fm_directory_view_init_show_hidden_files): Don't set up hidden files prefs if ignoring them * src/file-manager/fm-icon-view.c (should_show_file_on_screen): Check if file should be visible.
Diffstat (limited to 'libnautilus-private/nautilus-desktop-directory.c')
-rw-r--r--libnautilus-private/nautilus-desktop-directory.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libnautilus-private/nautilus-desktop-directory.c b/libnautilus-private/nautilus-desktop-directory.c
index 6f484fcd0..ddf5c84f7 100644
--- a/libnautilus-private/nautilus-desktop-directory.c
+++ b/libnautilus-private/nautilus-desktop-directory.c
@@ -393,6 +393,17 @@ desktop_is_not_empty (NautilusDirectory *directory)
return directory->details->file_list != NULL;
}
+static GList *
+desktop_get_file_list (NautilusDirectory *directory)
+{
+ GList *real_dir_file_list, *desktop_dir_file_list;
+ real_dir_file_list = nautilus_directory_get_file_list
+ (NAUTILUS_DESKTOP_DIRECTORY (directory)->details->real_directory);
+ desktop_dir_file_list = GNOME_CALL_PARENT_WITH_DEFAULT
+ (NAUTILUS_DIRECTORY_CLASS, get_file_list, (directory), NULL);
+ return g_list_concat (real_dir_file_list, desktop_dir_file_list);
+}
+
NautilusDirectory *
nautilus_desktop_directory_get_real_directory (NautilusDesktopDirectory *desktop)
{
@@ -492,5 +503,10 @@ nautilus_desktop_directory_class_init (NautilusDesktopDirectoryClass *class)
directory_class->force_reload = desktop_force_reload;
directory_class->are_all_files_seen = desktop_are_all_files_seen;
directory_class->is_not_empty = desktop_is_not_empty;
+ /* Override get_file_list so that we can return the list of files
+ * in NautilusDesktopDirectory->details->real_directory,
+ * in addition to the list of standard desktop icons on the desktop.
+ */
+ directory_class->get_file_list = desktop_get_file_list;
}