summaryrefslogtreecommitdiff
path: root/gtk/gtkfilesystem.c
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@ximian.com>2004-01-16 03:35:33 +0000
committerFederico Mena Quintero <federico@src.gnome.org>2004-01-16 03:35:33 +0000
commitf2f12b9aaeb456e45428e80fe5295fcdba2b8f03 (patch)
treec66a47a289e67157849abb538cc2a8610b6a4b94 /gtk/gtkfilesystem.c
parentc13c0a01d80d71744abb8b68d547957da156a8b0 (diff)
downloadgtk+-f2f12b9aaeb456e45428e80fe5295fcdba2b8f03.tar.gz
New get_volume_for_path() method. (struct _GtkFileSystemIface): Finally
2004-01-16 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): New get_volume_for_path() method. (struct _GtkFileSystemIface): Finally removed the list_roots() and get_root_info() methods, and the "roots-changed" signal. * gtk/gtkfilesystem.c (gtk_file_system_get_volume_for_path): New function. (gtk_file_system_list_roots): Removed. (gtk_file_system_get_root_info): Removed. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_volume_for_path): Implement. (get_root_volume): New helper function. (gtk_file_system_unix_list_volumes): Use get_root_volume(). (gtk_file_system_unix_list_roots): Removed. (gtk_file_system_unix_get_root_info): Removed. * gtk/gtkfilesystemmodel.c (_gtk_file_system_model_new): Don't accept a NULL root_path. (struct _GtkFileSystemModel): Add a field to remember the root_path. (_gtk_file_system_model_new): Store the root_path in the model structure. (find_and_ref_path): Stop going up the hierarchy at the root_path of the model. Also, don't return prematurely when walking up the hierarchy. * gtk/gtkfilechooserdefault.c (create_file_list): Sigh, restore the rules_hint. (struct _GtkFileChooserDefault): Added a current_volume_path field. (set_tree_model): New function; create the folder tree model here. (create_folder_tree): Don't create the model here. (set_list_model): Set the show_hidden flag on the list model.
Diffstat (limited to 'gtk/gtkfilesystem.c')
-rw-r--r--gtk/gtkfilesystem.c50
1 files changed, 21 insertions, 29 deletions
diff --git a/gtk/gtkfilesystem.c b/gtk/gtkfilesystem.c
index 691941b42a..0a7d476751 100644
--- a/gtk/gtkfilesystem.c
+++ b/gtk/gtkfilesystem.c
@@ -454,13 +454,6 @@ gtk_file_system_base_init (gpointer g_class)
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
- g_signal_new ("roots-changed",
- iface_type,
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GtkFileSystemIface, roots_changed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
g_signal_new ("bookmarks-changed",
iface_type,
G_SIGNAL_RUN_LAST,
@@ -481,27 +474,6 @@ gtk_file_system_list_volumes (GtkFileSystem *file_system)
return GTK_FILE_SYSTEM_GET_IFACE (file_system)->list_volumes (file_system);
}
-GSList *
-gtk_file_system_list_roots (GtkFileSystem *file_system)
-{
- g_return_val_if_fail (GTK_IS_FILE_SYSTEM (file_system), NULL);
-
- return GTK_FILE_SYSTEM_GET_IFACE (file_system)->list_roots (file_system);
-}
-
-GtkFileInfo *
-gtk_file_system_get_root_info (GtkFileSystem *file_system,
- const GtkFilePath *path,
- GtkFileInfoType types,
- GError **error)
-{
- g_return_val_if_fail (GTK_IS_FILE_SYSTEM (file_system), NULL);
- g_return_val_if_fail (path != NULL, NULL);
- g_return_val_if_fail (error == NULL || *error == NULL, NULL);
-
- return GTK_FILE_SYSTEM_GET_IFACE (file_system)->get_root_info (file_system, path, types, error);
-}
-
GtkFileFolder *
gtk_file_system_get_folder (GtkFileSystem *file_system,
const GtkFilePath *path,
@@ -528,6 +500,26 @@ gtk_file_system_create_folder(GtkFileSystem *file_system,
}
/**
+ * gtk_file_system_get_volume_for_path:
+ * @file_system: a #GtkFileSystem
+ * @path: a #GtkFilePath
+ *
+ * Queries the file system volume that corresponds to a specific path.
+ *
+ * Return value: the #GtkFileSystemVolume that corresponds to the specified
+ * @path. You should free this value with gtk_file_system_volume_free().
+ **/
+GtkFileSystemVolume *
+gtk_file_system_get_volume_for_path (GtkFileSystem *file_system,
+ const GtkFilePath *path)
+{
+ g_return_val_if_fail (GTK_IS_FILE_SYSTEM (file_system), NULL);
+ g_return_val_if_fail (path != NULL, NULL);
+
+ return GTK_FILE_SYSTEM_GET_IFACE (file_system)->get_volume_for_path (file_system, path);
+}
+
+/**
* gtk_file_system_volume_free:
* @file_system: a #GtkFileSystem
* @volume: a #GtkFileSystemVolume
@@ -1016,7 +1008,7 @@ gtk_file_paths_sort (GSList *paths)
/**
* gtk_file_paths_copy:
- * @paths: A #GSList of 3GtkFilePath structures.
+ * @paths: A #GSList of #GtkFilePath structures.
*
* Copies a list of #GtkFilePath structures.
*