Mercurial > geeqie.yaz
annotate src/typedefs.h @ 137:be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
author | nadvornik |
---|---|
date | Thu, 23 Aug 2007 20:45:59 +0000 |
parents | 9009856628f7 |
children | 71e1ebee420e |
rev | line source |
---|---|
9 | 1 /* |
2 * GQview | |
115
53b2bfdcff69
Tue Nov 28 11:54:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
113
diff
changeset
|
3 * (C) 2006 John Ellis |
9 | 4 * |
5 * Author: John Ellis | |
6 * | |
7 * This software is released under the GNU General Public License (GNU GPL). | |
8 * Please read the included file COPYING for more information. | |
9 * This software comes with no warranty of any kind, use at your own risk! | |
10 */ | |
11 | |
12 | |
13 #ifndef TYPEDEFS_H | |
14 #define TYPEDEFS_H | |
15 | |
134
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
16 typedef enum { |
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
17 CMD_COPY = GQVIEW_EDITOR_GENERIC_SLOTS, |
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
18 CMD_MOVE, |
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
19 CMD_RENAME, |
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
20 CMD_DELETE, |
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
21 CMD_FOLDER, |
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
22 GQVIEW_EDITOR_SLOTS |
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
23 } SpecialEditor; |
9 | 24 |
25 typedef enum { | |
26 SORT_NONE, | |
27 SORT_NAME, | |
28 SORT_SIZE, | |
29 SORT_TIME, | |
30 SORT_PATH, | |
31 SORT_NUMBER | |
32 } SortType; | |
33 | |
34 typedef enum { | |
35 ALTER_NONE, /* do nothing */ | |
36 ALTER_ROTATE_90, | |
37 ALTER_ROTATE_90_CC, /* counterclockwise */ | |
38 ALTER_ROTATE_180, | |
39 ALTER_MIRROR, | |
82
a4c1b7014e6e
Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
40 ALTER_FLIP, |
a4c1b7014e6e
Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
41 ALTER_DESATURATE |
9 | 42 } AlterType; |
43 | |
44 typedef enum { | |
45 LAYOUT_HIDE = 0, | |
46 LAYOUT_LEFT = 1 << 0, | |
47 LAYOUT_RIGHT = 1 << 1, | |
48 LAYOUT_TOP = 1 << 2, | |
49 LAYOUT_BOTTOM = 1 << 3 | |
50 } LayoutLocation; | |
51 | |
52 | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
53 typedef enum { |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
54 IMAGE_STATE_NONE = 0, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
55 IMAGE_STATE_IMAGE = 1 << 0, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
56 IMAGE_STATE_LOADING = 1 << 1, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
57 IMAGE_STATE_ERROR = 1 << 2, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
58 IMAGE_STATE_COLOR_ADJ = 1 << 3, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
59 IMAGE_STATE_ROTATE_AUTO = 1 << 4, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
60 IMAGE_STATE_ROTATE_USER = 1 << 5, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
61 IMAGE_STATE_DELAY_FLIP = 1 << 6 |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
62 } ImageState; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
63 |
127 | 64 typedef enum { |
65 SPLIT_NONE = 0, | |
66 SPLIT_VERT, | |
67 SPLIT_HOR, | |
68 SPLIT_QUAD, | |
69 } ImageSplitMode; | |
70 | |
71 #define MAX_SPLIT_IMAGES 4 | |
72 | |
9 | 73 typedef struct _ImageLoader ImageLoader; |
74 typedef struct _ThumbLoader ThumbLoader; | |
75 | |
76 typedef struct _CollectInfo CollectInfo; | |
77 typedef struct _CollectionData CollectionData; | |
78 typedef struct _CollectTable CollectTable; | |
79 typedef struct _CollectWindow CollectWindow; | |
80 | |
81 typedef struct _ImageWindow ImageWindow; | |
82 | |
83 typedef struct _FileData FileData; | |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
84 typedef struct _SidecarFileData SidecarFileData; |
9 | 85 |
86 typedef struct _LayoutWindow LayoutWindow; | |
87 typedef struct _ViewDirList ViewDirList; | |
88 typedef struct _ViewDirTree ViewDirTree; | |
89 typedef struct _ViewFileList ViewFileList; | |
90 typedef struct _ViewFileIcon ViewFileIcon; | |
91 | |
92 typedef struct _SlideShowData SlideShowData; | |
93 typedef struct _FullScreenData FullScreenData; | |
94 | |
95 typedef struct _PixmapFolders PixmapFolders; | |
96 | |
97 | |
98 struct _ImageLoader | |
99 { | |
100 GdkPixbuf *pixbuf; | |
101 gchar *path; | |
102 | |
103 gint bytes_read; | |
104 gint bytes_total; | |
105 | |
106 guint buffer_size; | |
107 | |
108 gint requested_width; | |
109 gint requested_height; | |
14
25335c62cd9b
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
12
diff
changeset
|
110 gint shrunk; |
9 | 111 |
112 gint done; | |
113 gint idle_id; | |
114 gint idle_priority; | |
115 | |
116 GdkPixbufLoader *loader; | |
117 gint load_fd; | |
118 | |
119 void (*func_area_ready)(ImageLoader *, guint x, guint y, guint w, guint h, gpointer); | |
120 void (*func_error)(ImageLoader *, gpointer); | |
121 void (*func_done)(ImageLoader *, gpointer); | |
122 void (*func_percent)(ImageLoader *, gdouble, gpointer); | |
123 | |
124 gpointer data_area_ready; | |
125 gpointer data_error; | |
126 gpointer data_done; | |
127 gpointer data_percent; | |
128 | |
129 gint idle_done_id; | |
130 }; | |
131 | |
132 typedef void (* ThumbLoaderFunc)(ThumbLoader *tl, gpointer data); | |
133 | |
134 struct _ThumbLoader | |
135 { | |
136 gint standard_loader; | |
137 | |
138 GdkPixbuf *pixbuf; /* contains final (scaled) image when done */ | |
139 ImageLoader *il; | |
140 gchar *path; | |
141 | |
142 gint cache_enable; | |
143 gint cache_hit; | |
144 gdouble percent_done; | |
145 | |
146 gint max_w; | |
147 gint max_h; | |
148 | |
149 ThumbLoaderFunc func_done; | |
150 ThumbLoaderFunc func_error; | |
151 ThumbLoaderFunc func_progress; | |
152 | |
153 gpointer data; | |
154 | |
155 gint idle_done_id; | |
156 }; | |
157 | |
158 struct _CollectInfo | |
159 { | |
160 gchar *path; | |
161 gint64 size; | |
162 time_t date; | |
163 | |
164 GdkPixbuf *pixbuf; | |
165 gint flag_mask; | |
166 }; | |
167 | |
168 struct _CollectionData | |
169 { | |
170 gchar *path; | |
171 gchar *name; | |
172 GList *list; | |
173 SortType sort_method; | |
174 | |
175 ThumbLoader *thumb_loader; | |
176 CollectInfo *thumb_info; | |
177 | |
178 void (*info_updated_func)(CollectionData *, CollectInfo *, gpointer); | |
179 gpointer info_updated_data; | |
180 | |
181 gint ref; | |
182 | |
183 /* geometry */ | |
184 gint window_read; | |
185 gint window_x; | |
186 gint window_y; | |
187 gint window_w; | |
188 gint window_h; | |
189 | |
190 /* contents changed since save flag */ | |
191 gint changed; | |
192 }; | |
193 | |
194 struct _CollectTable | |
195 { | |
196 GtkWidget *scrolled; | |
197 GtkWidget *listview; | |
198 gint columns; | |
199 gint rows; | |
200 | |
201 CollectionData *cd; | |
202 | |
203 GList *selection; | |
204 CollectInfo *prev_selection; | |
205 | |
206 CollectInfo *click_info; | |
207 | |
208 GtkWidget *tip_window; | |
209 gint tip_delay_id; | |
210 CollectInfo *tip_info; | |
211 | |
212 GdkWindow *marker_window; | |
213 CollectInfo *marker_info; | |
214 | |
215 GtkWidget *status_label; | |
216 GtkWidget *extra_label; | |
217 | |
218 gint focus_row; | |
219 gint focus_column; | |
220 CollectInfo *focus_info; | |
221 | |
222 GtkWidget *popup; | |
223 CollectInfo *drop_info; | |
224 GList *drop_list; | |
225 | |
226 gint sync_idle_id; | |
227 gint drop_idle_id; | |
228 | |
229 gint show_text; | |
230 }; | |
231 | |
232 struct _CollectWindow | |
233 { | |
234 GtkWidget *window; | |
235 CollectTable *table; | |
236 GtkWidget *status_box; | |
237 GList *list; | |
238 | |
239 GtkWidget *close_dialog; | |
240 | |
241 CollectionData *cd; | |
242 }; | |
243 | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
244 typedef gint (* ImageTileRequestFunc)(ImageWindow *imd, gint x, gint y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
245 gint width, gint height, GdkPixbuf *pixbuf, gpointer); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
246 typedef void (* ImageTileDisposeFunc)(ImageWindow *imd, gint x, gint y, |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
247 gint width, gint height, GdkPixbuf *pixbuf, gpointer); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
248 |
9 | 249 struct _ImageWindow |
250 { | |
251 GtkWidget *widget; /* use this to add it and show it */ | |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
252 GtkWidget *pr; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
253 GtkWidget *frame; |
127 | 254 GtkWidget *inner_frame; |
9 | 255 |
256 gchar *image_path; | |
257 const gchar *image_name; | |
258 | |
259 gint64 size; /* file size (bytes) */ | |
260 time_t mtime; /* file modified time stamp */ | |
261 gint unknown; /* failed to load image */ | |
262 | |
263 ImageLoader *il; | |
264 | |
265 gint has_frame; | |
266 | |
267 /* top level (not necessarily parent) window */ | |
23
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
268 gint top_window_sync; /* resize top_window when image dimensions change */ |
9 | 269 GtkWidget *top_window; /* window that gets title, and window to resize when 'fitting' */ |
270 gchar *title; /* window title to display left of file name */ | |
271 gchar *title_right; /* window title to display right of file name */ | |
272 gint title_show_zoom; /* option to include zoom in window title */ | |
273 | |
274 gint completed; | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
275 ImageState state; /* mask of IMAGE_STATE_* flags about current image */ |
9 | 276 |
117
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
277 void (*func_update)(ImageWindow *imd, gpointer data); |
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
278 void (*func_complete)(ImageWindow *imd, gint preload, gpointer data); |
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
279 void (*func_state)(ImageWindow *imd, ImageState state, gpointer data); |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
280 ImageTileRequestFunc func_tile_request; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
281 ImageTileDisposeFunc func_tile_dispose; |
9 | 282 |
283 gpointer data_update; | |
284 gpointer data_complete; | |
117
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
285 gpointer data_state; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
286 gpointer data_tile; |
9 | 287 |
288 /* button, scroll functions */ | |
289 void (*func_button)(ImageWindow *, gint button, | |
290 guint32 time, gdouble x, gdouble y, guint state, gpointer); | |
128
98e2632b5d3d
improved connected scroll and active image switching
nadvornik
parents:
127
diff
changeset
|
291 void (*func_drag)(ImageWindow *, gint button, |
98e2632b5d3d
improved connected scroll and active image switching
nadvornik
parents:
127
diff
changeset
|
292 guint32 time, gdouble x, gdouble y, guint state, gdouble dx, gdouble dy,gpointer); |
9 | 293 void (*func_scroll)(ImageWindow *, GdkScrollDirection direction, |
294 guint32 time, gdouble x, gdouble y, guint state, gpointer); | |
295 | |
296 gpointer data_button; | |
128
98e2632b5d3d
improved connected scroll and active image switching
nadvornik
parents:
127
diff
changeset
|
297 gpointer data_drag; |
9 | 298 gpointer data_scroll; |
299 | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
300 /* scroll notification (for scroll bar implementation) */ |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
301 void (*func_scroll_notify)(ImageWindow *, gint x, gint y, gint width, gint height, gpointer); |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
302 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
303 gpointer data_scroll_notify; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
304 |
9 | 305 /* collection info */ |
306 CollectionData *collection; | |
307 CollectInfo *collection_info; | |
308 | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
309 /* color profiles */ |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
310 gint color_profile_enable; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
311 gint color_profile_input; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
312 gint color_profile_screen; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
313 gint color_profile_use_image; |
115
53b2bfdcff69
Tue Nov 28 11:54:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
113
diff
changeset
|
314 gpointer cm; |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
315 |
9 | 316 AlterType delay_alter_type; |
317 | |
318 ImageLoader *read_ahead_il; | |
319 GdkPixbuf *read_ahead_pixbuf; | |
320 gchar *read_ahead_path; | |
321 | |
322 GdkPixbuf *prev_pixbuf; | |
323 gchar *prev_path; | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
324 gint prev_color_row; |
9 | 325 |
326 gint auto_refresh_id; | |
327 gint auto_refresh_interval; | |
328 | |
329 gint delay_flip; | |
330 }; | |
331 | |
132 | 332 #define FILEDATA_MARKS_SIZE 10 |
333 | |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
334 struct _SidecarFileData { |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
335 gint type; |
9 | 336 gchar *path; |
337 const gchar *name; | |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
338 const gchar *extension; |
9 | 339 gint64 size; |
340 time_t date; | |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
341 }; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
342 |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
343 |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
344 struct _FileData { |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
345 gint type; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
346 gchar *path; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
347 const gchar *name; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
348 const gchar *extension; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
349 gint64 size; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
350 time_t date; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
351 gboolean marks[FILEDATA_MARKS_SIZE]; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
352 GList *sidecar_files; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
353 gchar *target; /* for rename, move ... */ |
9 | 354 GdkPixbuf *pixbuf; |
355 }; | |
356 | |
357 struct _LayoutWindow | |
358 { | |
359 gchar *path; | |
360 | |
361 /* base */ | |
362 | |
363 GtkWidget *window; | |
364 | |
365 GtkWidget *main_box; | |
366 | |
367 GtkWidget *group_box; | |
368 GtkWidget *h_pane; | |
369 GtkWidget *v_pane; | |
370 | |
371 /* menus, path selector */ | |
372 | |
373 GtkActionGroup *action_group; | |
374 GtkUIManager *ui_manager; | |
375 | |
376 GtkWidget *path_entry; | |
377 | |
378 /* image */ | |
379 | |
380 LayoutLocation image_location; | |
381 | |
382 ImageWindow *image; | |
383 | |
127 | 384 ImageWindow *split_images[MAX_SPLIT_IMAGES]; |
385 ImageSplitMode split_mode; | |
386 gint active_split_image; | |
387 | |
388 GtkWidget *split_image_widget; | |
389 | |
390 gint connect_zoom, connect_scroll; | |
391 | |
9 | 392 /* tools window (float) */ |
393 | |
394 GtkWidget *tools; | |
395 GtkWidget *tools_pane; | |
396 | |
397 gint tools_float; | |
398 gint tools_hidden; | |
399 | |
400 /* toolbar */ | |
401 | |
402 GtkWidget *toolbar; | |
403 gint toolbar_hidden; | |
404 | |
405 GtkWidget *thumb_button; | |
406 gint thumbs_enabled; | |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
407 gint marks_enabled; |
132 | 408 |
9 | 409 /* dir view */ |
410 | |
411 LayoutLocation dir_location; | |
412 | |
413 ViewDirList *vdl; | |
414 ViewDirTree *vdt; | |
415 GtkWidget *dir_view; | |
416 | |
417 gint tree_view; | |
418 | |
419 /* file view */ | |
420 | |
421 LayoutLocation file_location; | |
422 | |
423 ViewFileList *vfl; | |
424 ViewFileIcon *vfi; | |
425 GtkWidget *file_view; | |
426 | |
427 gint icon_view; | |
428 SortType sort_method; | |
429 gint sort_ascend; | |
430 | |
431 /* status bar */ | |
432 | |
433 GtkWidget *info_box; | |
434 GtkWidget *info_progress_bar; | |
435 GtkWidget *info_sort; | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
436 GtkWidget *info_color; |
9 | 437 GtkWidget *info_status; |
438 GtkWidget *info_details; | |
439 GtkWidget *info_zoom; | |
440 | |
441 /* slide show */ | |
442 | |
443 SlideShowData *slideshow; | |
444 | |
445 /* full screen */ | |
446 | |
447 FullScreenData *full_screen; | |
448 | |
449 /* dividers */ | |
450 | |
451 gint div_h; | |
452 gint div_v; | |
453 gint div_float; | |
454 | |
455 /* directory update check */ | |
456 | |
457 gint last_time_id; | |
458 time_t last_time; | |
459 | |
460 /* misc */ | |
461 | |
462 GtkWidget *utility_box; | |
463 GtkWidget *bar_sort; | |
464 GtkWidget *bar_exif; | |
465 GtkWidget *bar_info; | |
466 | |
467 gint bar_sort_enabled; | |
468 gint bar_exif_enabled; | |
469 gint bar_info_enabled; | |
470 | |
471 gint bar_exif_size; | |
472 gint bar_exif_advanced; | |
473 }; | |
474 | |
475 struct _ViewDirList | |
476 { | |
477 GtkWidget *widget; | |
478 GtkWidget *listview; | |
479 | |
480 gchar *path; | |
481 GList *list; | |
482 | |
483 FileData *click_fd; | |
484 | |
485 FileData *drop_fd; | |
486 GList *drop_list; | |
487 | |
488 gint drop_scroll_id; | |
489 | |
490 /* func list */ | |
491 void (*select_func)(ViewDirList *vdl, const gchar *path, gpointer data); | |
492 gpointer select_data; | |
493 | |
494 LayoutWindow *layout; | |
495 | |
496 GtkWidget *popup; | |
497 | |
498 PixmapFolders *pf; | |
499 }; | |
500 | |
501 struct _ViewDirTree | |
502 { | |
503 GtkWidget *widget; | |
504 GtkWidget *treeview; | |
505 | |
506 gchar *path; | |
507 | |
508 FileData *click_fd; | |
509 | |
510 FileData *drop_fd; | |
511 GList *drop_list; | |
512 | |
513 gint drop_scroll_id; | |
514 gint drop_expand_id; | |
515 | |
516 /* func list */ | |
517 void (*select_func)(ViewDirTree *vdt, const gchar *path, gpointer data); | |
518 gpointer select_data; | |
519 | |
520 LayoutWindow *layout; | |
521 | |
522 GtkWidget *popup; | |
523 | |
524 PixmapFolders *pf; | |
525 | |
526 gint busy_ref; | |
527 }; | |
528 | |
529 struct _ViewFileList | |
530 { | |
531 GtkWidget *widget; | |
532 GtkWidget *listview; | |
533 | |
534 gchar *path; | |
535 GList *list; | |
536 | |
537 SortType sort_method; | |
538 gint sort_ascend; | |
539 | |
540 FileData *click_fd; | |
541 FileData *select_fd; | |
542 | |
543 gint thumbs_enabled; | |
132 | 544 gint marks_enabled; |
545 | |
9 | 546 /* thumb updates */ |
547 gint thumbs_running; | |
548 gint thumbs_count; | |
549 ThumbLoader *thumbs_loader; | |
550 FileData *thumbs_filedata; | |
551 | |
552 /* func list */ | |
553 void (*func_thumb_status)(ViewFileList *vfl, gdouble val, const gchar *text, gpointer data); | |
554 gpointer data_thumb_status; | |
555 | |
556 void (*func_status)(ViewFileList *vfl, gpointer data); | |
557 gpointer data_status; | |
558 | |
559 gint select_idle_id; | |
560 LayoutWindow *layout; | |
561 | |
562 GtkWidget *popup; | |
563 }; | |
564 | |
565 struct _ViewFileIcon | |
566 { | |
567 GtkWidget *widget; | |
568 GtkWidget *listview; | |
569 | |
570 gchar *path; | |
571 GList *list; | |
572 | |
573 /* table stuff */ | |
574 | |
575 gint columns; | |
576 gint rows; | |
577 | |
578 GList *selection; | |
579 FileData *prev_selection; | |
580 | |
581 GtkWidget *tip_window; | |
582 gint tip_delay_id; | |
583 FileData *tip_fd; | |
584 | |
585 FileData *click_fd; | |
586 | |
587 FileData *focus_fd; | |
588 gint focus_row; | |
589 gint focus_column; | |
590 | |
591 SortType sort_method; | |
592 gint sort_ascend; | |
593 | |
594 gint show_text; | |
595 | |
596 gint sync_idle_id; | |
597 | |
598 /* thumbs */ | |
599 | |
600 gint thumbs_running; | |
601 GList *thumbs_list; | |
602 gint thumbs_count; | |
603 ThumbLoader *thumbs_loader; | |
604 FileData *thumbs_fd; | |
605 | |
606 /* func list */ | |
607 void (*func_thumb_status)(ViewFileIcon *vfi, gdouble val, const gchar *text, gpointer data); | |
608 gpointer data_thumb_status; | |
609 | |
610 void (*func_status)(ViewFileIcon *vfi, gpointer data); | |
611 gpointer data_status; | |
612 | |
613 LayoutWindow *layout; | |
614 | |
615 GtkWidget *popup; | |
616 }; | |
617 | |
618 struct _SlideShowData | |
619 { | |
620 ImageWindow *imd; | |
621 | |
622 GList *path_list; | |
623 CollectionData *cd; | |
624 gchar *layout_path; | |
625 LayoutWindow *layout; | |
626 | |
627 GList *list; | |
628 GList *list_done; | |
629 | |
630 gchar *slide_path; | |
631 | |
632 gint slide_count; | |
633 gint timeout_id; | |
634 | |
635 gint from_selection; | |
636 | |
637 void (*stop_func)(SlideShowData *, gpointer); | |
638 gpointer stop_data; | |
639 | |
640 gint paused; | |
641 }; | |
642 | |
643 struct _FullScreenData | |
644 { | |
645 GtkWidget *window; | |
646 ImageWindow *imd; | |
647 | |
648 GtkWidget *normal_window; | |
649 ImageWindow *normal_imd; | |
650 | |
651 gint hide_mouse_id; | |
652 gint busy_mouse_id; | |
653 gint cursor_state; | |
654 | |
655 gint saver_block_id; | |
656 | |
657 void (*stop_func)(FullScreenData *, gpointer); | |
658 gpointer stop_data; | |
659 }; | |
660 | |
661 struct _PixmapFolders | |
662 { | |
663 GdkPixbuf *close; | |
664 GdkPixbuf *open; | |
665 GdkPixbuf *deny; | |
666 GdkPixbuf *parent; | |
667 }; | |
668 | |
669 | |
670 #endif | |
671 | |
672 |