]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkfilesystemmodel.h
colorsel: include gtkcolorutils.h
[~andy/gtk] / gtk / gtkfilesystemmodel.h
index 5c2d1f3ff32160ba74ec48a491afde90f3c118f2..4a533daddb33cc572cc3ffb3352248971d6d5bf4 100644 (file)
@@ -21,8 +21,8 @@
 #ifndef __GTK_FILE_SYSTEM_MODEL_H__
 #define __GTK_FILE_SYSTEM_MODEL_H__
 
-#include <glib-object.h>
-#include "gtkfilesystem.h"
+#include <gio/gio.h>
+#include <gtk/gtkfilefilter.h>
 #include <gtk/gtktreemodel.h>
 
 G_BEGIN_DECLS
@@ -33,39 +33,66 @@ G_BEGIN_DECLS
 
 typedef struct _GtkFileSystemModel      GtkFileSystemModel;
 
-GType _gtk_file_system_model_get_type (void);
+GType _gtk_file_system_model_get_type (void) G_GNUC_CONST;
 
-enum {
-  GTK_FILE_SYSTEM_MODEL_URI,
-  GTK_FILE_SYSTEM_MODEL_INFO,
-  GTK_FILE_SYSTEM_MODEL_N_COLUMNS
-} GtkFileSystemModelColumns;
+typedef gboolean (*GtkFileSystemModelGetValue)   (GtkFileSystemModel *model,
+                                                  GFile              *file,
+                                                  GFileInfo          *info,
+                                                  int                 column,
+                                                  GValue             *value,
+                                                  gpointer            user_data);
 
-GtkFileSystemModel *_gtk_file_system_model_new              (GtkFileSystem      *file_system,
-                                                            const gchar        *root_uri,
-                                                            gint                max_depth,
-                                                            GtkFileInfoType     types);
-const GtkFileInfo * _gtk_file_system_model_get_info         (GtkFileSystemModel *model,
+GtkFileSystemModel *_gtk_file_system_model_new              (GtkFileSystemModelGetValue get_func,
+                                                             gpointer            get_data,
+                                                             guint               n_columns,
+                                                             ...);
+GtkFileSystemModel *_gtk_file_system_model_new_for_directory(GFile *             dir,
+                                                             const gchar *       attributes,
+                                                             GtkFileSystemModelGetValue get_func,
+                                                             gpointer            get_data,
+                                                             guint               n_columns,
+                                                             ...);
+GCancellable *      _gtk_file_system_model_get_cancellable  (GtkFileSystemModel *model);
+gboolean            _gtk_file_system_model_iter_is_visible  (GtkFileSystemModel *model,
                                                             GtkTreeIter        *iter);
-const gchar *       _gtk_file_system_model_get_uri          (GtkFileSystemModel *model,
+GFileInfo *         _gtk_file_system_model_get_info         (GtkFileSystemModel *model,
                                                             GtkTreeIter        *iter);
+gboolean            _gtk_file_system_model_get_iter_for_file(GtkFileSystemModel *model,
+                                                            GtkTreeIter        *iter,
+                                                            GFile              *file);
+GFile *             _gtk_file_system_model_get_file         (GtkFileSystemModel *model,
+                                                            GtkTreeIter        *iter);
+const GValue *      _gtk_file_system_model_get_value        (GtkFileSystemModel *model,
+                                                             GtkTreeIter *       iter,
+                                                             int                 column);
+
+void                _gtk_file_system_model_add_and_query_file (GtkFileSystemModel *model,
+                                                             GFile              *file,
+                                                             const char         *attributes);
+void                _gtk_file_system_model_update_file      (GtkFileSystemModel *model,
+                                                             GFile              *file,
+                                                             GFileInfo          *info,
+                                                             gboolean            requires_resort);
+
 void                _gtk_file_system_model_set_show_hidden  (GtkFileSystemModel *model,
                                                             gboolean            show_hidden);
 void                _gtk_file_system_model_set_show_folders (GtkFileSystemModel *model,
                                                             gboolean            show_folders);
 void                _gtk_file_system_model_set_show_files   (GtkFileSystemModel *model,
                                                             gboolean            show_files);
+void                _gtk_file_system_model_set_filter_folders (GtkFileSystemModel *model,
+                                                            gboolean            show_folders);
+void                _gtk_file_system_model_freeze_updates   (GtkFileSystemModel *model);
+void                _gtk_file_system_model_thaw_updates     (GtkFileSystemModel *model);
+void                _gtk_file_system_model_clear_cache      (GtkFileSystemModel *model,
+                                                             int                 column);
 
+void                _gtk_file_system_model_set_filter       (GtkFileSystemModel *model,
+                                                             GtkFileFilter      *filter);
 
-typedef void (*GtkFileSystemModelURIFunc) (GtkFileSystemModel *model,
-                                          GtkTreePath        *path,
-                                          GtkTreeIter        *iter,
-                                          gpointer            user_data);
-                                  
-gboolean _gtk_file_system_model_uri_do (GtkFileSystemModel       *model,
-                                       const gchar              *uri,
-                                       GtkFileSystemModelURIFunc func,
-                                       gpointer                  user_data);
+void _gtk_file_system_model_add_editable    (GtkFileSystemModel *model,
+                                            GtkTreeIter        *iter);
+void _gtk_file_system_model_remove_editable (GtkFileSystemModel *model);
 
 G_END_DECLS