changeset 557:d8d61dc4ff52

Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
author zas_
date Sat, 03 May 2008 11:58:41 +0000
parents fe675761d091
children 17d4ef9785c0
files src/typedefs.h src/view_file_icon.c src/view_file_list.c
diffstat 3 files changed, 56 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/typedefs.h	Sat May 03 11:34:13 2008 +0000
+++ b/src/typedefs.h	Sat May 03 11:58:41 2008 +0000
@@ -155,6 +155,8 @@
 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 @@
 	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 _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;
--- a/src/view_file_icon.c	Sat May 03 11:34:13 2008 +0000
+++ b/src/view_file_icon.c	Sat May 03 11:58:41 2008 +0000
@@ -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
--- a/src/view_file_list.c	Sat May 03 11:34:13 2008 +0000
+++ b/src/view_file_list.c	Sat May 03 11:58:41 2008 +0000
@@ -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,