Mercurial > geeqie
annotate src/typedefs.h @ 1808:6c61c246506b
Fix a small issue with strptime
strptime do not initialize all fields. So the undefined fields could end
in crash later on.
author | mow |
---|---|
date | Sun, 28 Feb 2010 15:17:12 +0000 |
parents | 956aab097ea7 |
children |
rev | line source |
---|---|
9 | 1 /* |
196 | 2 * Geeqie |
115
53b2bfdcff69
Tue Nov 28 11:54:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
113
diff
changeset
|
3 * (C) 2006 John Ellis |
1802 | 4 * Copyright (C) 2008 - 2010 The Geeqie Team |
9 | 5 * |
6 * Author: John Ellis | |
7 * | |
8 * This software is released under the GNU General Public License (GNU GPL). | |
9 * Please read the included file COPYING for more information. | |
10 * This software comes with no warranty of any kind, use at your own risk! | |
11 */ | |
12 | |
13 | |
14 #ifndef TYPEDEFS_H | |
15 #define TYPEDEFS_H | |
16 | |
134
9009856628f7
started implementation of external commands; external Delete should work
nadvornik
parents:
132
diff
changeset
|
17 typedef enum { |
885
ad420f2eb789
Use a specific enum for image.zoom_mode values (ZoomMode) and
zas_
parents:
868
diff
changeset
|
18 ZOOM_RESET_ORIGINAL = 0, |
ad420f2eb789
Use a specific enum for image.zoom_mode values (ZoomMode) and
zas_
parents:
868
diff
changeset
|
19 ZOOM_RESET_FIT_WINDOW = 1, |
ad420f2eb789
Use a specific enum for image.zoom_mode values (ZoomMode) and
zas_
parents:
868
diff
changeset
|
20 ZOOM_RESET_NONE = 2 |
ad420f2eb789
Use a specific enum for image.zoom_mode values (ZoomMode) and
zas_
parents:
868
diff
changeset
|
21 } ZoomMode; |
ad420f2eb789
Use a specific enum for image.zoom_mode values (ZoomMode) and
zas_
parents:
868
diff
changeset
|
22 |
ad420f2eb789
Use a specific enum for image.zoom_mode values (ZoomMode) and
zas_
parents:
868
diff
changeset
|
23 typedef enum { |
448
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
24 MOUSE_BUTTON_LEFT = 1, |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
25 MOUSE_BUTTON_MIDDLE = 2, |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
26 MOUSE_BUTTON_RIGHT = 3, |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
27 MOUSE_BUTTON_WHEEL_UP = 4, |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
28 MOUSE_BUTTON_WHEEL_DOWN = 5 |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
29 } MouseButton; |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
30 |
a73cc0fa14d0
Use explicit names for mouse buttons instead of numbers.
zas_
parents:
446
diff
changeset
|
31 typedef enum { |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
32 DIRVIEW_LIST, |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
33 DIRVIEW_TREE |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
34 } DirViewType; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
35 |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
36 typedef enum { |
554
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
37 FILEVIEW_LIST, |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
38 FILEVIEW_ICON |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
39 } FileViewType; |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
40 |
1272 | 41 #define CMD_COPY "geeqie-copy-command.desktop" |
42 #define CMD_MOVE "geeqie-move-command.desktop" | |
43 #define CMD_RENAME "geeqie-rename-command.desktop" | |
44 #define CMD_DELETE "geeqie-delete-command.desktop" | |
45 #define CMD_FOLDER "geeqie-folder-command.desktop" | |
9 | 46 |
47 typedef enum { | |
48 SORT_NONE, | |
49 SORT_NAME, | |
50 SORT_SIZE, | |
51 SORT_TIME, | |
52 SORT_PATH, | |
53 SORT_NUMBER | |
54 } SortType; | |
55 | |
56 typedef enum { | |
57 ALTER_NONE, /* do nothing */ | |
58 ALTER_ROTATE_90, | |
59 ALTER_ROTATE_90_CC, /* counterclockwise */ | |
60 ALTER_ROTATE_180, | |
61 ALTER_MIRROR, | |
82
a4c1b7014e6e
Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
62 ALTER_FLIP, |
9 | 63 } AlterType; |
64 | |
65 typedef enum { | |
66 LAYOUT_HIDE = 0, | |
67 LAYOUT_LEFT = 1 << 0, | |
68 LAYOUT_RIGHT = 1 << 1, | |
69 LAYOUT_TOP = 1 << 2, | |
70 LAYOUT_BOTTOM = 1 << 3 | |
71 } LayoutLocation; | |
72 | |
73 | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
74 typedef enum { |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
75 IMAGE_STATE_NONE = 0, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
76 IMAGE_STATE_IMAGE = 1 << 0, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
77 IMAGE_STATE_LOADING = 1 << 1, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
78 IMAGE_STATE_ERROR = 1 << 2, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
79 IMAGE_STATE_COLOR_ADJ = 1 << 3, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
80 IMAGE_STATE_ROTATE_AUTO = 1 << 4, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
81 IMAGE_STATE_ROTATE_USER = 1 << 5, |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
82 IMAGE_STATE_DELAY_FLIP = 1 << 6 |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
83 } ImageState; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
84 |
127 | 85 typedef enum { |
86 SPLIT_NONE = 0, | |
87 SPLIT_VERT, | |
88 SPLIT_HOR, | |
89 SPLIT_QUAD, | |
90 } ImageSplitMode; | |
91 | |
143
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
92 typedef enum { |
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
93 FILEDATA_CHANGE_DELETE, |
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
94 FILEDATA_CHANGE_MOVE, |
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
95 FILEDATA_CHANGE_RENAME, |
590 | 96 FILEDATA_CHANGE_COPY, |
1205
3ff2aa99108b
use the workflow in utilops.c for metadata approving and writting
nadvornik
parents:
1203
diff
changeset
|
97 FILEDATA_CHANGE_UNSPECIFIED, |
3ff2aa99108b
use the workflow in utilops.c for metadata approving and writting
nadvornik
parents:
1203
diff
changeset
|
98 FILEDATA_CHANGE_WRITE_METADATA |
143
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
99 } FileDataChangeType; |
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
100 |
161 | 101 typedef enum { |
102 MTS_MODE_MINUS, | |
103 MTS_MODE_SET, | |
104 MTS_MODE_OR, | |
105 MTS_MODE_AND | |
106 } MarkToSelectionMode; | |
107 | |
108 typedef enum { | |
109 STM_MODE_RESET, | |
110 STM_MODE_SET, | |
111 STM_MODE_TOGGLE | |
112 } SelectionToMarkMode; | |
113 | |
212
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
114 typedef enum { |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
115 FORMAT_CLASS_UNKNOWN, |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
116 FORMAT_CLASS_IMAGE, |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
117 FORMAT_CLASS_RAWIMAGE, |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
118 FORMAT_CLASS_META, |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
119 FILE_FORMAT_CLASSES |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
120 } FileFormatClass; |
c7021159079d
differentiate among normal image, raw image and metadata
nadvornik
parents:
196
diff
changeset
|
121 |
276 | 122 typedef enum { |
123 SS_ERR_NONE = 0, | |
124 SS_ERR_DISABLED, /**< secsave is disabled. */ | |
125 SS_ERR_OUT_OF_MEM, /**< memory allocation failure */ | |
126 | |
127 /* see err field in SecureSaveInfo */ | |
128 SS_ERR_OPEN_READ, | |
129 SS_ERR_OPEN_WRITE, | |
130 SS_ERR_STAT, | |
131 SS_ERR_ACCESS, | |
132 SS_ERR_MKSTEMP, | |
133 SS_ERR_RENAME, | |
134 SS_ERR_OTHER, | |
135 } SecureSaveErrno; | |
136 | |
791 | 137 typedef enum { |
138 NOTIFY_PRIORITY_HIGH = 0, | |
139 NOTIFY_PRIORITY_MEDIUM, | |
140 NOTIFY_PRIORITY_LOW | |
141 } NotifyPriority; | |
142 | |
792 | 143 typedef enum { |
1432 | 144 NOTIFY_MARKS = 1 << 1, /* changed marks */ |
145 NOTIFY_PIXBUF = 1 << 2, /* image was read into fd->pixbuf */ | |
146 NOTIFY_HISTMAP = 1 << 3, /* histmap was read into fd->histmap */ | |
147 NOTIFY_ORIENTATION = 1 << 4, /* image was rotated */ | |
148 NOTIFY_METADATA = 1 << 5, /* changed image metadata, not yet written */ | |
149 NOTIFY_GROUPING = 1 << 6, /* change in fd->sidecar_files or fd->parent */ | |
150 NOTIFY_REREAD = 1 << 7, /* changed file size, date, etc., file name remains unchanged */ | |
151 NOTIFY_CHANGE = 1 << 8 /* generic change described by fd->change */ | |
792 | 152 } NotifyType; |
791 | 153 |
914
9427c91951e8
basic infrastructure for early error and dangerous operations checking
nadvornik
parents:
888
diff
changeset
|
154 typedef enum { |
929 | 155 CHANGE_OK = 0, |
156 CHANGE_WARN_DEST_EXISTS = 1 << 0, | |
157 CHANGE_WARN_NO_WRITE_PERM = 1 << 1, | |
158 CHANGE_WARN_SAME = 1 << 2, | |
933 | 159 CHANGE_WARN_CHANGED_EXT = 1 << 3, |
1677
c5c7e19fbb23
warn if another operation is performed on a file with unsaved metadata
nadvornik
parents:
1660
diff
changeset
|
160 CHANGE_WARN_UNSAVED_META = 1 << 4, |
c5c7e19fbb23
warn if another operation is performed on a file with unsaved metadata
nadvornik
parents:
1660
diff
changeset
|
161 CHANGE_ERROR_MASK = (~0) << 8, /* the values below are fatal errors */ |
c5c7e19fbb23
warn if another operation is performed on a file with unsaved metadata
nadvornik
parents:
1660
diff
changeset
|
162 CHANGE_NO_READ_PERM = 1 << 8, |
c5c7e19fbb23
warn if another operation is performed on a file with unsaved metadata
nadvornik
parents:
1660
diff
changeset
|
163 CHANGE_NO_WRITE_PERM_DIR = 1 << 9, |
c5c7e19fbb23
warn if another operation is performed on a file with unsaved metadata
nadvornik
parents:
1660
diff
changeset
|
164 CHANGE_NO_DEST_DIR = 1 << 10, |
c5c7e19fbb23
warn if another operation is performed on a file with unsaved metadata
nadvornik
parents:
1660
diff
changeset
|
165 CHANGE_NO_WRITE_PERM_DEST_DIR = 1 << 11, |
c5c7e19fbb23
warn if another operation is performed on a file with unsaved metadata
nadvornik
parents:
1660
diff
changeset
|
166 CHANGE_NO_WRITE_PERM_DEST = 1 << 12, |
c5c7e19fbb23
warn if another operation is performed on a file with unsaved metadata
nadvornik
parents:
1660
diff
changeset
|
167 CHANGE_DEST_EXISTS = 1 << 13, |
c5c7e19fbb23
warn if another operation is performed on a file with unsaved metadata
nadvornik
parents:
1660
diff
changeset
|
168 CHANGE_NO_SRC = 1 << 14, |
931
a53f5141228b
allow only existing folders in destination dialog
nadvornik
parents:
929
diff
changeset
|
169 CHANGE_GENERIC_ERROR = 1 << 16 |
914
9427c91951e8
basic infrastructure for early error and dangerous operations checking
nadvornik
parents:
888
diff
changeset
|
170 } ChangeError; |
9427c91951e8
basic infrastructure for early error and dangerous operations checking
nadvornik
parents:
888
diff
changeset
|
171 |
1288 | 172 typedef enum { |
173 METADATA_PLAIN = 0, /* format that can be edited and written back */ | |
174 METADATA_FORMATTED = 1 /* for display only */ | |
175 } MetadataFormat; | |
176 | |
1511
73cecf473802
startup path options simplified and moved to layout options
nadvornik
parents:
1481
diff
changeset
|
177 typedef enum { |
73cecf473802
startup path options simplified and moved to layout options
nadvornik
parents:
1481
diff
changeset
|
178 STARTUP_PATH_CURRENT = 0, |
73cecf473802
startup path options simplified and moved to layout options
nadvornik
parents:
1481
diff
changeset
|
179 STARTUP_PATH_LAST, |
73cecf473802
startup path options simplified and moved to layout options
nadvornik
parents:
1481
diff
changeset
|
180 STARTUP_PATH_HOME, |
73cecf473802
startup path options simplified and moved to layout options
nadvornik
parents:
1481
diff
changeset
|
181 } StartUpPath; |
1288 | 182 |
1582
2ca277a9845b
- handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents:
1566
diff
changeset
|
183 typedef enum { |
2ca277a9845b
- handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents:
1566
diff
changeset
|
184 TOOLBAR_MAIN, |
2ca277a9845b
- handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents:
1566
diff
changeset
|
185 TOOLBAR_STATUS, |
2ca277a9845b
- handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents:
1566
diff
changeset
|
186 TOOLBAR_COUNT |
2ca277a9845b
- handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents:
1566
diff
changeset
|
187 } ToolbarType; |
2ca277a9845b
- handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents:
1566
diff
changeset
|
188 |
127 | 189 #define MAX_SPLIT_IMAGES 4 |
190 | |
9 | 191 typedef struct _ImageLoader ImageLoader; |
192 typedef struct _ThumbLoader ThumbLoader; | |
193 | |
194 typedef struct _CollectInfo CollectInfo; | |
195 typedef struct _CollectionData CollectionData; | |
196 typedef struct _CollectTable CollectTable; | |
197 typedef struct _CollectWindow CollectWindow; | |
198 | |
199 typedef struct _ImageWindow ImageWindow; | |
200 | |
201 typedef struct _FileData FileData; | |
138 | 202 typedef struct _FileDataChangeInfo FileDataChangeInfo; |
9 | 203 |
204 typedef struct _LayoutWindow LayoutWindow; | |
1309 | 205 typedef struct _LayoutOptions LayoutOptions; |
554
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
206 |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
207 typedef struct _ViewDir ViewDir; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
208 typedef struct _ViewDirInfoList ViewDirInfoList; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
209 typedef struct _ViewDirInfoTree ViewDirInfoTree; |
554
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
210 |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
211 typedef struct _ViewFile ViewFile; |
557
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
212 typedef struct _ViewFileInfoList ViewFileInfoList; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
213 typedef struct _ViewFileInfoIcon ViewFileInfoIcon; |
9 | 214 |
215 typedef struct _SlideShowData SlideShowData; | |
216 typedef struct _FullScreenData FullScreenData; | |
217 | |
218 typedef struct _PixmapFolders PixmapFolders; | |
273
e0e2c2b72c5a
reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents:
212
diff
changeset
|
219 typedef struct _Histogram Histogram; |
1294 | 220 typedef struct _HistMap HistMap; |
273
e0e2c2b72c5a
reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents:
212
diff
changeset
|
221 |
276 | 222 typedef struct _SecureSaveInfo SecureSaveInfo; |
9 | 223 |
844 | 224 typedef struct _ExifData ExifData; |
225 | |
1272 | 226 typedef struct _EditorDescription EditorDescription; |
227 | |
1313 | 228 typedef struct _CommandLine CommandLine; |
229 | |
1329
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
230 struct _Histogram { |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
231 gint histogram_channel; /* drawing mode for histogram */ |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
232 gint histogram_mode; /* logarithmical or not */ |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
233 guint vgrid; /* number of vertical divisions, 0 for none */ |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
234 guint hgrid; /* number of horizontal divisions, 0 for none */ |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
235 struct { |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
236 int R; /* red */ |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
237 int G; /* green */ |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
238 int B; /* blue */ |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
239 int A; /* alpha */ |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
240 } grid_color; /* grid color */ |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
241 |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
242 }; |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
243 |
1fc356f629fe
Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
zas_
parents:
1320
diff
changeset
|
244 |
1272 | 245 |
1012
fe82830ab8fd
converted image loader to a GObject and use signals for notification
nadvornik
parents:
1008
diff
changeset
|
246 struct _ImageLoader; |
9 | 247 |
248 typedef void (* ThumbLoaderFunc)(ThumbLoader *tl, gpointer data); | |
249 | |
1231 | 250 typedef void (* FileUtilDoneFunc)(gboolean success, const gchar *done_path, gpointer data); |
251 | |
9 | 252 struct _ThumbLoader |
253 { | |
1446 | 254 gboolean standard_loader; |
9 | 255 |
256 ImageLoader *il; | |
838 | 257 FileData *fd; /* fd->pixbuf contains final (scaled) image when done */ |
9 | 258 |
1446 | 259 gboolean cache_enable; |
260 gboolean cache_hit; | |
9 | 261 gdouble percent_done; |
262 | |
263 gint max_w; | |
264 gint max_h; | |
265 | |
266 ThumbLoaderFunc func_done; | |
267 ThumbLoaderFunc func_error; | |
268 ThumbLoaderFunc func_progress; | |
269 | |
270 gpointer data; | |
271 | |
1523 | 272 guint idle_done_id; /* event source id */ |
9 | 273 }; |
274 | |
275 struct _CollectInfo | |
276 { | |
138 | 277 FileData *fd; |
9 | 278 GdkPixbuf *pixbuf; |
736 | 279 guint flag_mask; |
9 | 280 }; |
281 | |
282 struct _CollectionData | |
283 { | |
284 gchar *path; | |
285 gchar *name; | |
286 GList *list; | |
287 SortType sort_method; | |
288 | |
289 ThumbLoader *thumb_loader; | |
290 CollectInfo *thumb_info; | |
291 | |
292 void (*info_updated_func)(CollectionData *, CollectInfo *, gpointer); | |
293 gpointer info_updated_data; | |
294 | |
295 gint ref; | |
296 | |
297 /* geometry */ | |
298 gint window_read; | |
299 gint window_x; | |
300 gint window_y; | |
301 gint window_w; | |
302 gint window_h; | |
303 | |
304 /* contents changed since save flag */ | |
1446 | 305 gboolean changed; |
303
6ff0bc50ac46
Prevent multiple insertion of the same file in a collection.
zas_
parents:
290
diff
changeset
|
306 |
6ff0bc50ac46
Prevent multiple insertion of the same file in a collection.
zas_
parents:
290
diff
changeset
|
307 GHashTable *existence; |
9 | 308 }; |
309 | |
310 struct _CollectTable | |
311 { | |
312 GtkWidget *scrolled; | |
313 GtkWidget *listview; | |
314 gint columns; | |
315 gint rows; | |
316 | |
317 CollectionData *cd; | |
318 | |
319 GList *selection; | |
320 CollectInfo *prev_selection; | |
321 | |
322 CollectInfo *click_info; | |
323 | |
324 GtkWidget *tip_window; | |
1523 | 325 guint tip_delay_id; /* event source id */ |
9 | 326 CollectInfo *tip_info; |
327 | |
328 GdkWindow *marker_window; | |
329 CollectInfo *marker_info; | |
330 | |
331 GtkWidget *status_label; | |
332 GtkWidget *extra_label; | |
333 | |
334 gint focus_row; | |
335 gint focus_column; | |
336 CollectInfo *focus_info; | |
337 | |
338 GtkWidget *popup; | |
339 CollectInfo *drop_info; | |
340 GList *drop_list; | |
341 | |
1523 | 342 guint sync_idle_id; /* event source id */ |
343 guint drop_idle_id; /* event source id */ | |
9 | 344 |
1446 | 345 gboolean show_text; |
1397
a0bd58a6535f
In various Edit context menus, only display editors that match the file types in the selection.
zas_
parents:
1383
diff
changeset
|
346 |
a0bd58a6535f
In various Edit context menus, only display editors that match the file types in the selection.
zas_
parents:
1383
diff
changeset
|
347 /* file list for edit menu */ |
a0bd58a6535f
In various Edit context menus, only display editors that match the file types in the selection.
zas_
parents:
1383
diff
changeset
|
348 GList *editmenu_fd_list; |
9 | 349 }; |
350 | |
351 struct _CollectWindow | |
352 { | |
353 GtkWidget *window; | |
354 CollectTable *table; | |
355 GtkWidget *status_box; | |
356 GList *list; | |
357 | |
358 GtkWidget *close_dialog; | |
359 | |
360 CollectionData *cd; | |
361 }; | |
362 | |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
363 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
|
364 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
|
365 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
|
366 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
|
367 |
9 | 368 struct _ImageWindow |
369 { | |
370 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
|
371 GtkWidget *pr; |
17acca639a86
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
14
diff
changeset
|
372 GtkWidget *frame; |
9 | 373 |
138 | 374 FileData *image_fd; |
9 | 375 |
1431 | 376 gboolean unknown; /* failed to load image */ |
9 | 377 |
846 | 378 ImageLoader *il; /* FIXME - image loader should probably go to FileData, but it must first support |
995 | 379 sending callbacks to multiple ImageWindows in parallel */ |
9 | 380 |
1431 | 381 gint has_frame; /* not boolean, see image_new() */ |
9 | 382 |
383 /* top level (not necessarily parent) window */ | |
1431 | 384 gboolean top_window_sync; /* resize top_window when image dimensions change */ |
9 | 385 GtkWidget *top_window; /* window that gets title, and window to resize when 'fitting' */ |
386 gchar *title; /* window title to display left of file name */ | |
387 gchar *title_right; /* window title to display right of file name */ | |
1431 | 388 gboolean title_show_zoom; /* option to include zoom in window title */ |
9 | 389 |
1431 | 390 gboolean completed; |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
391 ImageState state; /* mask of IMAGE_STATE_* flags about current image */ |
9 | 392 |
117
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
393 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
|
394 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
|
395 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
|
396 ImageTileRequestFunc func_tile_request; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
397 ImageTileDisposeFunc func_tile_dispose; |
9 | 398 |
399 gpointer data_update; | |
400 gpointer data_complete; | |
117
0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
115
diff
changeset
|
401 gpointer data_state; |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
402 gpointer data_tile; |
9 | 403 |
404 /* button, scroll functions */ | |
868
db6977f8b0f1
Reduce number of parameters (mostly unused), just pass the event pointer.
zas_
parents:
849
diff
changeset
|
405 void (*func_button)(ImageWindow *, GdkEventButton *event, gpointer); |
db6977f8b0f1
Reduce number of parameters (mostly unused), just pass the event pointer.
zas_
parents:
849
diff
changeset
|
406 void (*func_drag)(ImageWindow *, GdkEventButton *event, gdouble dx, gdouble dy, gpointer); |
db6977f8b0f1
Reduce number of parameters (mostly unused), just pass the event pointer.
zas_
parents:
849
diff
changeset
|
407 void (*func_scroll)(ImageWindow *, GdkEventScroll *event, gpointer); |
1481 | 408 void (*func_focus_in)(ImageWindow *, gpointer); |
9 | 409 |
410 gpointer data_button; | |
128
98e2632b5d3d
improved connected scroll and active image switching
nadvornik
parents:
127
diff
changeset
|
411 gpointer data_drag; |
9 | 412 gpointer data_scroll; |
1481 | 413 gpointer data_focus_in; |
9 | 414 |
12
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
415 /* 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
|
416 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
|
417 |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
418 gpointer data_scroll_notify; |
147f4c4b9025
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents:
9
diff
changeset
|
419 |
9 | 420 /* collection info */ |
421 CollectionData *collection; | |
422 CollectInfo *collection_info; | |
423 | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
424 /* color profiles */ |
1431 | 425 gboolean color_profile_enable; |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
426 gint color_profile_input; |
1431 | 427 gboolean color_profile_use_image; |
426
9fe0ca1b5263
show the AdobeRGB profile in the menu, indicate input profile from image
nadvornik
parents:
415
diff
changeset
|
428 gint color_profile_from_image; |
115
53b2bfdcff69
Tue Nov 28 11:54:30 2006 John Ellis <johne@verizon.net>
gqview
parents:
113
diff
changeset
|
429 gpointer cm; |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
430 |
9 | 431 AlterType delay_alter_type; |
432 | |
846 | 433 FileData *read_ahead_fd; |
9 | 434 ImageLoader *read_ahead_il; |
435 | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
436 gint prev_color_row; |
9 | 437 |
1431 | 438 gboolean auto_refresh; |
9 | 439 |
1431 | 440 gboolean delay_flip; |
398
c4080362d619
image post-processing (rotation and color management) moved to
nadvornik
parents:
384
diff
changeset
|
441 gint orientation; |
1431 | 442 gboolean desaturate; |
9 | 443 }; |
444 | |
149 | 445 #define FILEDATA_MARKS_SIZE 6 |
132 | 446 |
138 | 447 struct _FileDataChangeInfo { |
143
0d1bf3ac6cd8
improved FileDataChangeInfo structure, check for another file operation in progress
nadvornik
parents:
141
diff
changeset
|
448 FileDataChangeType type; |
138 | 449 gchar *source; |
450 gchar *dest; | |
914
9427c91951e8
basic infrastructure for early error and dangerous operations checking
nadvornik
parents:
888
diff
changeset
|
451 gint error; |
1623
2842a051c870
regroup sidecar files when an operation on partial group is finished
nadvornik
parents:
1584
diff
changeset
|
452 gboolean regroup_when_finished; |
138 | 453 }; |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
454 |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
455 struct _FileData { |
138 | 456 gint magick; |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
457 gint type; |
138 | 458 gchar *original_path; /* key to file_data_pool hash table */ |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
459 gchar *path; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
460 const gchar *name; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
461 const gchar *extension; |
785 | 462 gchar *collate_key_name; |
463 gchar *collate_key_name_nocase; | |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
464 gint64 size; |
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
465 time_t date; |
945
fd84847c8231
speed-up of directory notification on deleting large number of files
nadvornik
parents:
933
diff
changeset
|
466 mode_t mode; /* this is needed at least for notification in view_dir because it is preserved after the file/directory is deleted */ |
1227 | 467 |
468 guint marks; /* each bit represents one mark */ | |
469 guint valid_marks; /* zero bit means that the corresponding mark needs to be reread */ | |
470 | |
471 | |
137
be3328a58875
started support for sidecar files like xmp, raw+jpeg etc.
nadvornik
parents:
134
diff
changeset
|
472 GList *sidecar_files; |
141 | 473 FileData *parent; /* parent file if this is a sidecar file, NULL otherwise */ |
138 | 474 FileDataChangeInfo *change; /* for rename, move ... */ |
845 | 475 GdkPixbuf *thumb_pixbuf; |
846 | 476 |
849
db68d673448f
added possibility to disable grouping of selected files
nadvornik
parents:
846
diff
changeset
|
477 GdkPixbuf *pixbuf; /* full-size image, only complete images, NULL during loading |
995 | 478 all FileData with non-NULL pixbuf are referenced by image_cache */ |
1294 | 479 |
480 HistMap *histmap; | |
846 | 481 |
138 | 482 gint ref; |
763
81f9e8dbb4bf
improved infrastructure for tracing changes, optimized vflist_populate_view
nadvornik
parents:
753
diff
changeset
|
483 gint version; /* increased when any field in this structure is changed */ |
1453 | 484 gboolean disable_grouping; |
849
db68d673448f
added possibility to disable grouping of selected files
nadvornik
parents:
846
diff
changeset
|
485 |
434
1b0aee2b162e
Keep image orientation set by the user during the session.
zas_
parents:
433
diff
changeset
|
486 gint user_orientation; |
439 | 487 gint exif_orientation; |
844 | 488 |
489 ExifData *exif; | |
1203
43bfcbb62cd6
prepared infrastructure for delayed metadata writting - refreshing
nadvornik
parents:
1167
diff
changeset
|
490 GHashTable *modified_xmp; // hash table which contains unwritten xmp metadata in format: key->list of string values |
9 | 491 }; |
492 | |
1309 | 493 struct _LayoutOptions |
494 { | |
1466
6e020d3ab168
added possibility to update existing layout window from config
nadvornik
parents:
1463
diff
changeset
|
495 gchar *id; |
6e020d3ab168
added possibility to update existing layout window from config
nadvornik
parents:
1463
diff
changeset
|
496 |
1309 | 497 gchar *order; |
498 gint style; | |
499 | |
500 DirViewType dir_view_type; | |
501 FileViewType file_view_type; | |
502 | |
503 gboolean show_thumbnails; | |
504 gboolean show_marks; | |
505 gboolean show_directory_date; | |
1584
0cd2268f500b
improved pixel info, changed the menu entry from "Hide" to "Show",
nadvornik
parents:
1582
diff
changeset
|
506 gboolean show_info_pixel; |
1309 | 507 |
508 struct { | |
509 gint w; | |
510 gint h; | |
511 gint x; | |
512 gint y; | |
513 gboolean maximized; | |
514 gint hdivider_pos; | |
515 gint vdivider_pos; | |
516 } main_window; | |
517 | |
518 struct { | |
519 gint w; | |
520 gint h; | |
521 gint x; | |
522 gint y; | |
523 gint vdivider_pos; | |
524 } float_window; | |
525 | |
526 struct { | |
527 gint w; | |
528 gint h; | |
529 } properties_window; | |
530 | |
1336 | 531 struct { |
532 guint state; | |
533 gint histogram_channel; | |
534 gint histogram_mode; | |
535 } image_overlay; | |
536 | |
1309 | 537 gboolean tools_float; |
538 gboolean tools_hidden; | |
539 gboolean toolbar_hidden; | |
1375
df58e511d90e
Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents:
1336
diff
changeset
|
540 |
1309 | 541 gchar *home_path; |
1511
73cecf473802
startup path options simplified and moved to layout options
nadvornik
parents:
1481
diff
changeset
|
542 gchar *last_path; |
73cecf473802
startup path options simplified and moved to layout options
nadvornik
parents:
1481
diff
changeset
|
543 |
73cecf473802
startup path options simplified and moved to layout options
nadvornik
parents:
1481
diff
changeset
|
544 StartUpPath startup_path; |
1514
22174e704d0b
added option that simplifies saving of multi-window configurations
nadvornik
parents:
1511
diff
changeset
|
545 |
22174e704d0b
added option that simplifies saving of multi-window configurations
nadvornik
parents:
1511
diff
changeset
|
546 gboolean exit_on_close; |
1309 | 547 }; |
548 | |
9 | 549 struct _LayoutWindow |
550 { | |
1309 | 551 LayoutOptions options; |
552 | |
783 | 553 FileData *dir_fd; |
9 | 554 |
555 /* base */ | |
556 | |
557 GtkWidget *window; | |
558 | |
559 GtkWidget *main_box; | |
560 | |
561 GtkWidget *group_box; | |
562 GtkWidget *h_pane; | |
563 GtkWidget *v_pane; | |
564 | |
565 /* menus, path selector */ | |
566 | |
567 GtkActionGroup *action_group; | |
1463
25168240a247
added function to reload external editors at any time
nadvornik
parents:
1453
diff
changeset
|
568 GtkActionGroup *action_group_editors; |
25168240a247
added function to reload external editors at any time
nadvornik
parents:
1453
diff
changeset
|
569 guint ui_editors_id; |
9 | 570 GtkUIManager *ui_manager; |
1582
2ca277a9845b
- handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents:
1566
diff
changeset
|
571 guint toolbar_merge_id[TOOLBAR_COUNT]; |
2ca277a9845b
- handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents:
1566
diff
changeset
|
572 GList *toolbar_actions[TOOLBAR_COUNT]; |
9 | 573 |
574 GtkWidget *path_entry; | |
575 | |
576 /* image */ | |
577 | |
578 LayoutLocation image_location; | |
579 | |
580 ImageWindow *image; | |
581 | |
127 | 582 ImageWindow *split_images[MAX_SPLIT_IMAGES]; |
442 | 583 ImageSplitMode split_mode; |
127 | 584 gint active_split_image; |
585 | |
442 | 586 GtkWidget *split_image_widget; |
837
f8c22438376c
use GtkSizeGroup to control initial size of split images
nadvornik
parents:
812
diff
changeset
|
587 GtkSizeGroup *split_image_sizegroup; |
442 | 588 |
9 | 589 /* tools window (float) */ |
590 | |
591 GtkWidget *tools; | |
592 GtkWidget *tools_pane; | |
593 | |
1309 | 594 // gint tools_float; |
595 // gint tools_hidden; | |
9 | 596 |
1470 | 597 GtkWidget *menu_bar; /* referenced by lw, exist during whole lw lifetime */ |
9 | 598 /* toolbar */ |
599 | |
1582
2ca277a9845b
- handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents:
1566
diff
changeset
|
600 GtkWidget *toolbar[TOOLBAR_COUNT]; /* referenced by lw, exist during whole lw lifetime */ |
1309 | 601 // gint toolbar_hidden; |
9 | 602 |
1334 | 603 // GtkWidget *thumb_button; |
1309 | 604 // gint thumbs_enabled; |
605 // gint marks_enabled; | |
442 | 606 |
1167
e812b1a7adda
Add a back button in the toolbar: it allows to go back and forth between two directories. Experimental, please test and comment on ml.
zas_
parents:
1055
diff
changeset
|
607 GtkWidget *back_button; |
e812b1a7adda
Add a back button in the toolbar: it allows to go back and forth between two directories. Experimental, please test and comment on ml.
zas_
parents:
1055
diff
changeset
|
608 |
9 | 609 /* dir view */ |
610 | |
611 LayoutLocation dir_location; | |
612 | |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
613 ViewDir *vd; |
9 | 614 GtkWidget *dir_view; |
615 | |
1309 | 616 // DirViewType dir_view_type; |
9 | 617 |
618 /* file view */ | |
619 | |
620 LayoutLocation file_location; | |
621 | |
554
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
622 ViewFile *vf; |
1412 | 623 // FileViewType file_view_type; |
554
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
624 |
9 | 625 GtkWidget *file_view; |
626 | |
627 SortType sort_method; | |
1453 | 628 gboolean sort_ascend; |
9 | 629 |
630 /* status bar */ | |
631 | |
632 GtkWidget *info_box; | |
633 GtkWidget *info_progress_bar; | |
634 GtkWidget *info_sort; | |
635 GtkWidget *info_status; | |
636 GtkWidget *info_details; | |
637 GtkWidget *info_zoom; | |
1375
df58e511d90e
Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents:
1336
diff
changeset
|
638 GtkWidget *info_pixel; |
df58e511d90e
Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents:
1336
diff
changeset
|
639 |
9 | 640 /* slide show */ |
641 | |
642 SlideShowData *slideshow; | |
643 | |
644 /* full screen */ | |
645 | |
646 FullScreenData *full_screen; | |
647 | |
648 /* dividers */ | |
649 | |
1309 | 650 // gint div_h; |
651 // gint div_v; | |
652 // gint div_float; | |
9 | 653 |
654 /* misc */ | |
655 | |
1470 | 656 GtkWidget *utility_box; /* referenced by lw, exist during whole lw lifetime */ |
1383 | 657 GtkWidget *utility_paned; /* between image and bar */ |
9 | 658 GtkWidget *bar_sort; |
1291
50ae02a4a675
replaced bar_info with an universal bar, restored the original
nadvornik
parents:
1288
diff
changeset
|
659 GtkWidget *bar; |
9 | 660 |
1309 | 661 // gint bar_sort_enabled; |
662 // gint bar_enabled; | |
9 | 663 |
1309 | 664 // gint bar_width; |
1293
48e064b37ba6
separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents:
1291
diff
changeset
|
665 |
48e064b37ba6
separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents:
1291
diff
changeset
|
666 GtkWidget *exif_window; |
9 | 667 }; |
668 | |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
669 struct _ViewDir |
9 | 670 { |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
671 DirViewType type; |
384
392dd6541d51
Merge parts of view_dir_list/tree constructors/destructors to
zas_
parents:
380
diff
changeset
|
672 gpointer info; |
392dd6541d51
Merge parts of view_dir_list/tree constructors/destructors to
zas_
parents:
380
diff
changeset
|
673 |
9 | 674 GtkWidget *widget; |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
675 GtkWidget *view; |
9 | 676 |
783 | 677 FileData *dir_fd; |
9 | 678 |
679 FileData *click_fd; | |
680 | |
681 FileData *drop_fd; | |
682 GList *drop_list; | |
1523 | 683 guint drop_scroll_id; /* event source id */ |
9 | 684 |
685 /* func list */ | |
1628 | 686 void (*select_func)(ViewDir *vd, FileData *fd, gpointer data); |
9 | 687 gpointer select_data; |
688 | |
407 | 689 void (*dnd_drop_update_func)(ViewDir *vd); |
690 void (*dnd_drop_leave_func)(ViewDir *vd); | |
442 | 691 |
9 | 692 LayoutWindow *layout; |
693 | |
694 GtkWidget *popup; | |
695 | |
696 PixmapFolders *pf; | |
380
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
697 }; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
698 |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
699 struct _ViewDirInfoList |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
700 { |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
701 GList *list; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
702 }; |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
703 |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
704 struct _ViewDirInfoTree |
5afe77bb563a
Introduce a new struct ViewDir to handle directory views common
zas_
parents:
373
diff
changeset
|
705 { |
1523 | 706 guint drop_expand_id; /* event source id */ |
9 | 707 gint busy_ref; |
708 }; | |
709 | |
554
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
710 |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
711 struct _ViewFile |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
712 { |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
713 FileViewType type; |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
714 gpointer info; |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
715 |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
716 GtkWidget *widget; |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
717 GtkWidget *listview; |
964 | 718 GtkWidget *scrolled; |
719 GtkWidget *filter; | |
720 GtkWidget *filter_check[FILEDATA_MARKS_SIZE]; | |
554
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
721 |
783 | 722 FileData *dir_fd; |
554
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
723 GList *list; |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
724 |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
725 SortType sort_method; |
1453 | 726 gboolean sort_ascend; |
554
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
727 |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
728 /* func list */ |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
729 void (*func_thumb_status)(ViewFile *vf, gdouble val, const gchar *text, gpointer data); |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
730 gpointer data_thumb_status; |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
731 |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
732 void (*func_status)(ViewFile *vf, gpointer data); |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
733 gpointer data_status; |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
734 |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
735 LayoutWindow *layout; |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
736 |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
737 GtkWidget *popup; |
563
1ad894219964
Move common thumbs_* fields from _ViewFileInfoIcon and _ViewFileInfoList
zas_
parents:
562
diff
changeset
|
738 |
1ad894219964
Move common thumbs_* fields from _ViewFileInfoIcon and _ViewFileInfoList
zas_
parents:
562
diff
changeset
|
739 /* thumbs updates*/ |
1453 | 740 gboolean thumbs_running; |
563
1ad894219964
Move common thumbs_* fields from _ViewFileInfoIcon and _ViewFileInfoList
zas_
parents:
562
diff
changeset
|
741 ThumbLoader *thumbs_loader; |
1ad894219964
Move common thumbs_* fields from _ViewFileInfoIcon and _ViewFileInfoList
zas_
parents:
562
diff
changeset
|
742 FileData *thumbs_filedata; |
564
514a4525d651
Move marks-related fields from _ViewFileInfoList to _ViewFile, since
zas_
parents:
563
diff
changeset
|
743 |
514a4525d651
Move marks-related fields from _ViewFileInfoList to _ViewFile, since
zas_
parents:
563
diff
changeset
|
744 /* marks */ |
1453 | 745 gboolean marks_enabled; |
564
514a4525d651
Move marks-related fields from _ViewFileInfoList to _ViewFile, since
zas_
parents:
563
diff
changeset
|
746 gint active_mark; |
654
6dcfac4b356f
Get rid of vflist_pop_menu() col_idx parameter, use new Viewfile field
zas_
parents:
616
diff
changeset
|
747 gint clicked_mark; |
772
f53c2bb5b1b1
replaced vflist_maint functions by vflist_refresh - it allows to follow
nadvornik
parents:
763
diff
changeset
|
748 |
f53c2bb5b1b1
replaced vflist_maint functions by vflist_refresh - it allows to follow
nadvornik
parents:
763
diff
changeset
|
749 /* refresh */ |
1523 | 750 guint refresh_idle_id; /* event source id */ |
1660 | 751 time_t time_refresh_set; /* time when refresh_idle_id was set */ |
1397
a0bd58a6535f
In various Edit context menus, only display editors that match the file types in the selection.
zas_
parents:
1383
diff
changeset
|
752 |
a0bd58a6535f
In various Edit context menus, only display editors that match the file types in the selection.
zas_
parents:
1383
diff
changeset
|
753 /* file list for edit menu */ |
a0bd58a6535f
In various Edit context menus, only display editors that match the file types in the selection.
zas_
parents:
1383
diff
changeset
|
754 GList *editmenu_fd_list; |
554
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
755 }; |
2da72a136070
Prepare merging of some parts of view_file_list and view_file_icon and
zas_
parents:
508
diff
changeset
|
756 |
557
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
757 struct _ViewFileInfoList |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
758 { |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
759 FileData *click_fd; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
760 FileData *select_fd; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
761 |
1453 | 762 gboolean thumbs_enabled; |
557
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
763 |
1523 | 764 guint select_idle_id; /* event source id */ |
557
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
765 }; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
766 |
138 | 767 struct _IconData; |
768 | |
557
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
769 struct _ViewFileInfoIcon |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
770 { |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
771 /* table stuff */ |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
772 gint columns; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
773 gint rows; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
774 |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
775 GList *selection; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
776 struct _IconData *prev_selection; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
777 |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
778 GtkWidget *tip_window; |
1523 | 779 guint tip_delay_id; /* event source id */ |
557
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
780 struct _IconData *tip_id; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
781 |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
782 struct _IconData *click_id; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
783 |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
784 struct _IconData *focus_id; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
785 gint focus_row; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
786 gint focus_column; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
787 |
1453 | 788 gboolean show_text; |
557
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
789 }; |
d8d61dc4ff52
Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
zas_
parents:
556
diff
changeset
|
790 |
9 | 791 struct _SlideShowData |
792 { | |
1627
1a134b4dc88c
use layout_set_fd() for changing images from a slideshow
nadvornik
parents:
1623
diff
changeset
|
793 LayoutWindow *lw; /* use this window to display the slideshow */ |
1a134b4dc88c
use layout_set_fd() for changing images from a slideshow
nadvornik
parents:
1623
diff
changeset
|
794 ImageWindow *imd; /* use this window only if lw is not available, |
1a134b4dc88c
use layout_set_fd() for changing images from a slideshow
nadvornik
parents:
1623
diff
changeset
|
795 FIXME: it is probably required only by img-view.c and should be dropped with it */ |
9 | 796 |
138 | 797 GList *filelist; |
9 | 798 CollectionData *cd; |
783 | 799 FileData *dir_fd; |
9 | 800 |
801 GList *list; | |
802 GList *list_done; | |
803 | |
138 | 804 FileData *slide_fd; |
9 | 805 |
736 | 806 guint slide_count; |
1523 | 807 guint timeout_id; /* event source id */ |
9 | 808 |
1453 | 809 gboolean from_selection; |
9 | 810 |
811 void (*stop_func)(SlideShowData *, gpointer); | |
812 gpointer stop_data; | |
813 | |
1433
b4ad1d201279
Use gboolean where applicable, minor cleanup and indentations fixes.
zas_
parents:
1432
diff
changeset
|
814 gboolean paused; |
9 | 815 }; |
816 | |
817 struct _FullScreenData | |
818 { | |
819 GtkWidget *window; | |
820 ImageWindow *imd; | |
821 | |
822 GtkWidget *normal_window; | |
823 ImageWindow *normal_imd; | |
824 | |
1523 | 825 guint hide_mouse_id; /* event source id */ |
826 guint busy_mouse_id; /* event source id */ | |
827 | |
9 | 828 gint cursor_state; |
829 | |
1523 | 830 guint saver_block_id; /* event source id */ |
9 | 831 |
832 void (*stop_func)(FullScreenData *, gpointer); | |
833 gpointer stop_data; | |
834 }; | |
835 | |
836 struct _PixmapFolders | |
837 { | |
838 GdkPixbuf *close; | |
839 GdkPixbuf *open; | |
840 GdkPixbuf *deny; | |
841 GdkPixbuf *parent; | |
842 }; | |
843 | |
276 | 844 struct _SecureSaveInfo { |
845 FILE *fp; /**< file stream pointer */ | |
846 gchar *file_name; /**< final file name */ | |
847 gchar *tmp_file_name; /**< temporary file name */ | |
848 gint err; /**< set to non-zero value in case of error */ | |
1446 | 849 gboolean secure_save; /**< use secure save for this file, internal use only */ |
850 gboolean preserve_perms; /**< whether to preserve perms, TRUE by default */ | |
851 gboolean preserve_mtime; /**< whether to preserve mtime, FALSE by default */ | |
852 gboolean unlink_on_error; /**< whether to remove temporary file on save failure, TRUE by default */ | |
276 | 853 }; |
854 | |
1313 | 855 struct _CommandLine |
856 { | |
857 int argc; | |
858 gchar **argv; | |
859 gboolean startup_blank; | |
860 gboolean startup_full_screen; | |
861 gboolean startup_in_slideshow; | |
862 gboolean startup_command_line_collection; | |
863 gboolean tools_hide; | |
864 gboolean tools_show; | |
865 gchar *path; | |
866 gchar *file; | |
867 GList *cmd_list; | |
868 GList *collection_list; | |
869 gchar *geometry; | |
870 }; | |
871 | |
9 | 872 #endif |
1055
1646720364cf
Adding a vim modeline to all files - patch by Klaus Ethgen
nadvornik
parents:
1047
diff
changeset
|
873 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ |