From 1f0ef0bc2e7d0b99feb05e57f1c15a5a739c48fa Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Wed, 23 Dec 2009 17:10:39 +0100 Subject: 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/). --- browse_model.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 browse_model.h (limited to 'browse_model.h') 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 +#include + +#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 -- cgit v1.2.3