Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
authorLaurent Monin <geeqie@norz.org>
Sat, 3 May 2008 11:58:41 +0000 (11:58 +0000)
committerLaurent Monin <geeqie@norz.org>
Sat, 3 May 2008 11:58:41 +0000 (11:58 +0000)
src/typedefs.h
src/view_file_icon.c
src/view_file_list.c

index 51a8001..074dc9e 100644 (file)
@@ -155,6 +155,8 @@ typedef struct _ViewDirInfoTree ViewDirInfoTree;
 typedef struct _ViewFile ViewFile;
 typedef struct _ViewFileList ViewFileList;
 typedef struct _ViewFileIcon ViewFileIcon;
+typedef struct _ViewFileInfoList ViewFileInfoList;
+typedef struct _ViewFileInfoIcon ViewFileInfoIcon;
 
 typedef struct _SlideShowData SlideShowData;
 typedef struct _FullScreenData FullScreenData;
@@ -623,6 +625,24 @@ struct _ViewFile
        GtkWidget *popup;
 };
 
+struct _ViewFileInfoList
+{
+       FileData *click_fd;
+       FileData *select_fd;
+
+       gint thumbs_enabled;
+       gint marks_enabled;
+       gint active_mark;
+
+       /* thumb updates */
+       gint thumbs_running;
+       gint thumbs_count;
+       ThumbLoader *thumbs_loader;
+       FileData *thumbs_filedata;
+
+       gint select_idle_id;
+};
+
 struct _ViewFileList
 {
        GtkWidget *widget;
@@ -662,6 +682,37 @@ struct _ViewFileList
 
 struct _IconData;
 
+struct _ViewFileInfoIcon
+{
+       /* table stuff */
+       gint columns;
+       gint rows;
+
+       GList *selection;
+       struct _IconData *prev_selection;
+
+       GtkWidget *tip_window;
+       gint tip_delay_id;
+       struct _IconData *tip_id;
+
+       struct _IconData *click_id;
+
+       struct _IconData *focus_id;
+       gint focus_row;
+       gint focus_column;
+
+       gint show_text;
+
+       gint sync_idle_id;
+
+       /* thumbs */
+       gint thumbs_running;
+       GList *thumbs_list;
+       gint thumbs_count;
+       ThumbLoader *thumbs_loader;
+       FileData *thumbs_fd;
+};
+
 struct _ViewFileIcon
 {
        GtkWidget *widget;
index efeac8d..cc7fc7f 100644 (file)
@@ -36,6 +36,9 @@
 
 #include <gdk/gdkkeysyms.h> /* for keyboard values */
 
+#define VFICON_INFO_POINTER(_vf_) ((ViewFileInfoIcon *)(_vf_->info))
+#define VFICON_INFO(_vf_, _part_) (VFICON_INFO_POINTER(_vf_)->_part_)
+
 /* between these, the icon width is increased by thumb_max_width / 2 */
 #define THUMB_MIN_ICON_WIDTH 128
 #define THUMB_MAX_ICON_WIDTH 150
index 0137749..5e94885 100644 (file)
@@ -32,6 +32,8 @@
 
 #include <gdk/gdkkeysyms.h> /* for keyboard values */
 
+#define VFLIST_INFO_POINTER(_vf_) ((ViewFileInfoList *)(_vf_->info))
+#define VFLIST_INFO(_vf_, _part_) (VFLIST_INFO_POINTER(_vf_)->_part_)
 
 enum {
        FILE_COLUMN_POINTER = 0,