diff options
author | Federico Mena Quintero <federico@ximian.com> | 2003-10-08 04:14:55 +0000 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2003-10-08 04:14:55 +0000 |
commit | 462aab4a64c5a00932fcb445a20bed4110684503 (patch) | |
tree | 1e26a017335f53de77f065bc4442c24a5e432398 /gtk/gtkfilesystemunix.c | |
parent | cc46d181bd74f25793e0d5dd3c73396b37a71ed0 (diff) | |
download | gdk-pixbuf-462aab4a64c5a00932fcb445a20bed4110684503.tar.gz |
Added methods for ::get_supports_bookmarks(), ::set_bookmarks(),
2003-10-07 Federico Mena Quintero <federico@ximian.com>
* gtkfilesystem.h (struct _GtkFileSystemIface): Added methods for
::get_supports_bookmarks(), ::set_bookmarks(), ::list_bookmarks().
Added a ::bookmarks_changed() signal.
* gtkfilesystem.c (gtk_file_system_get_supports_bookmarks): New function.
(gtk_file_system_set_bookmarks): New function.
(gtk_file_system_list_bookmarks): New function.
(gtk_file_system_base_init): Create the "bookmarks-changed" signal.
(gtk_file_paths_copy): New function.
* gtkfilesystemunix.c (gtk_file_system_unix_get_supports_bookmarks): Implement.
(gtk_file_system_unix_set_bookmarks): Implement.
(gtk_file_system_unix_get_bookmarks): Implement.
* gtkfilesystemgnomevfs.c (struct _GtkFileSystemGnomeVFS): Added
fields for the bookmarks and the GConfClient.
(gtk_file_system_gnome_vfs_set_bookmarks): Implement.
(gtk_file_system_gnome_vfs_list_bookmarks): Implement.
* gtkfilechooserprivate.h (struct _GtkFileChooserIface): Added
methods for ::set_shortcut_folders(), ::list_shortcut_folders().
* gtkfilechooser.c (gtk_file_chooser_set_shortcut_folders): New
function.
(gtk_file_chooser_list_shortcut_folders): New function.
* gtkfilechooserimpldefault.c (create_shortcuts_model): Unref the
old shortcuts model if it exists. Create the nodes for the
app-specific shortcut folders.
(struct _GtkFileChooserImplDefault): Added a field for the
shortcut_folders.
(gtk_file_chooser_impl_default_set_shortcut_folders): Implement.
(select_shortcuts_folder): New helper function.
(gtk_file_chooser_impl_default_set_current_folder): Use
select_shortcuts_folder().
(shortcuts_append_path): Get the file info here, instead of the
caller.
(shortcuts_append_home): Use shortcuts_append_path().
(shortcuts_append_file_system_roots): Likewise.
(create_shortcuts_model): Add the app-specific shortcut folders
and the bookmarks.
(gtk_file_chooser_impl_default_list_shortcut_folders): Implement.
(create_shortcuts_tree): Added a button to let the user add the
current folder to the bookmarks.
(gtk_file_chooser_impl_default_set_property): Connect to
"bookmarks-changed" on the file system.
(shortcuts_append_bookmarks): New function.
* configure.ac: Depend on GConf.
Diffstat (limited to 'gtk/gtkfilesystemunix.c')
-rw-r--r-- | gtk/gtkfilesystemunix.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gtk/gtkfilesystemunix.c b/gtk/gtkfilesystemunix.c index a2a9c9b20..f62f44e1c 100644 --- a/gtk/gtkfilesystemunix.c +++ b/gtk/gtkfilesystemunix.c @@ -112,6 +112,12 @@ static GtkFilePath *gtk_file_system_unix_uri_to_path (GtkFileSystem *fi static GtkFilePath *gtk_file_system_unix_filename_to_path (GtkFileSystem *file_system, const gchar *filename); +static gboolean gtk_file_system_unix_get_supports_bookmarks (GtkFileSystem *file_system); +static void gtk_file_system_unix_set_bookmarks (GtkFileSystem *file_system, + GSList *bookmarks, + GError **error); +static GSList * gtk_file_system_unix_list_bookmarks (GtkFileSystem *file_system); + static GType gtk_file_folder_unix_get_type (void); static void gtk_file_folder_unix_class_init (GtkFileFolderUnixClass *class); static void gtk_file_folder_unix_iface_init (GtkFileFolderIface *iface); @@ -213,6 +219,9 @@ gtk_file_system_unix_iface_init (GtkFileSystemIface *iface) iface->path_to_filename = gtk_file_system_unix_path_to_filename; iface->uri_to_path = gtk_file_system_unix_uri_to_path; iface->filename_to_path = gtk_file_system_unix_filename_to_path; + iface->get_supports_bookmarks = gtk_file_system_unix_get_supports_bookmarks; + iface->set_bookmarks = gtk_file_system_unix_set_bookmarks; + iface->list_bookmarks = gtk_file_system_unix_list_bookmarks; } static void @@ -532,6 +541,29 @@ gtk_file_system_unix_filename_to_path (GtkFileSystem *file_system, return gtk_file_path_new_dup (filename); } +static gboolean +gtk_file_system_unix_get_supports_bookmarks (GtkFileSystem *file_system) +{ + return FALSE; +} + +static void +gtk_file_system_unix_set_bookmarks (GtkFileSystem *file_system, + GSList *bookmarks, + GError **error) +{ + g_set_error (error, + GTK_FILE_SYSTEM_ERROR, + GTK_FILE_SYSTEM_ERROR_FAILED, + "This file system does not support bookmarks"); +} + +static GSList * +gtk_file_system_unix_list_bookmarks (GtkFileSystem *file_system) +{ + return NULL; +} + /* * GtkFileFolderUnix */ |