summaryrefslogtreecommitdiff
path: root/browse_model.h
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2009-12-23 17:10:39 +0100
committerJon Bergli Heier <snakebite@jvnv.net>2009-12-23 17:10:39 +0100
commit1f0ef0bc2e7d0b99feb05e57f1c15a5a739c48fa (patch)
treed9000823af75d35d8c0b7a18d51b250c4c674b28 /browse_model.h
parenta539fdf38688cbed984d9db1f08deaaf34eaf9e0 (diff)
Reworked the main window.
Images are now placed in their own icon view. Folders are selected in the above tree view, while the icon view displays thumbnails of the images in the selected folder. The thumbnails are cached using the thumbnail specification (~/.thumbnails/).
Diffstat (limited to 'browse_model.h')
-rw-r--r--browse_model.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/browse_model.h b/browse_model.h
new file mode 100644
index 0000000..1070d74
--- /dev/null
+++ b/browse_model.h
@@ -0,0 +1,50 @@
+#ifndef _BROWSE_MODEL_H_
+#define _BROWSE_MODEL_H_
+
+#include <gtk/gtk.h>
+#include <glib.h>
+
+#include "db.h"
+
+#define MODEL_TYPE_BROWSE (browse_model_get_type())
+#define BROWSE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), MODEL_TYPE_BROWSE, BrowseModel))
+#define BROWSE_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), MODEL_TYPE_BROWSE, BrowseModelClass))
+#define MODEL_IS_BROWSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), MODEL_TYPE_BROWSE))
+#define MODEL_IS_BROWSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), MODEL_TYPE_BROWSE))
+#define BROWSE_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), MODEL_TYPE_BROWSE, BrowseModelClass))
+
+enum {
+ BROWSE_MODEL_COL_NAME = 0,
+ BROWSE_MODEL_N_COLUMNS,
+};
+
+typedef struct _BrowseModelRecord BrowseModelRecord;
+typedef struct _BrowseModel BrowseModel;
+typedef struct _BrowseModelClass BrowseModelClass;
+
+struct _BrowseModelRecord {
+ struct directory_t dir;
+ BrowseModelRecord *parent;
+ GArray *children;
+ guint pos;
+};
+
+struct _BrowseModel {
+ GObject parent;
+
+ guint num_rows;
+ GArray *rows;
+ gint n_columns;
+ GType column_types[BROWSE_MODEL_N_COLUMNS];
+ gint stamp;
+};
+
+struct _BrowseModelClass {
+ GObjectClass parent_class;
+};
+
+GType browse_model_get_type();
+BrowseModel *browse_model_new();
+void browse_model_get_dir_record(GtkTreeModel*, GtkTreeIter*, struct directory_t**);
+
+#endif