Mercurial > geeqie.yaz
annotate src/rcfile.c @ 349:452a4c25da22
exif_* -> exif.display.*
author | zas_ |
---|---|
date | Sat, 12 Apr 2008 23:41:35 +0000 |
parents | 3514f4d49447 |
children | 00696edf1dd3 |
rev | line source |
---|---|
1 | 1 /* |
196 | 2 * Geeqie |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
3 * (C) 2006 John Ellis |
1 | 4 * |
5 * Author: John Ellis | |
6 * | |
9 | 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! | |
1 | 10 */ |
11 | |
276 | 12 #include <glib/gstdio.h> |
13 #include <errno.h> | |
9 | 14 |
281 | 15 #include "main.h" |
9 | 16 #include "rcfile.h" |
1 | 17 |
307
667e49f52168
Move secure save code to its own files: secure_save.{c,h}.
zas_
parents:
288
diff
changeset
|
18 #include "bar_exif.h" |
9 | 19 #include "filelist.h" |
307
667e49f52168
Move secure save code to its own files: secure_save.{c,h}.
zas_
parents:
288
diff
changeset
|
20 #include "secure_save.h" |
9 | 21 #include "slideshow.h" |
22 #include "ui_fileops.h" | |
23 | |
1 | 24 |
25 /* | |
26 *----------------------------------------------------------------------------- | |
27 * line write/parse routines (private) | |
28 *----------------------------------------------------------------------------- | |
29 */ | |
217 | 30 |
31 /* | |
32 returns text without quotes or NULL for empty or broken string | |
33 any text up to first '"' is skipped | |
34 tail is set to point at the char after the second '"' | |
35 or at the ending \0 | |
36 | |
37 */ | |
1 | 38 |
217 | 39 gchar *quoted_value(const gchar *text, const gchar **tail) |
1 | 40 { |
9 | 41 const gchar *ptr; |
1 | 42 gint c = 0; |
43 gint l = strlen(text); | |
210
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
44 gchar *retval = NULL; |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
45 |
217 | 46 if (tail) *tail = text; |
47 | |
210
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
48 if (l == 0) return retval; |
1 | 49 |
50 while (c < l && text[c] !='"') c++; | |
51 if (text[c] == '"') | |
52 { | |
9 | 53 gint e; |
1 | 54 c++; |
55 ptr = text + c; | |
9 | 56 e = c; |
210
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
57 while (e < l) |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
58 { |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
59 if (text[e-1] != '\\' && text[e] == '"') break; |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
60 e++; |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
61 } |
9 | 62 if (text[e] == '"') |
1 | 63 { |
9 | 64 if (e - c > 0) |
1 | 65 { |
210
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
66 gchar *substring = g_strndup(ptr, e - c); |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
67 |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
68 if (substring) |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
69 { |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
70 retval = g_strcompress(substring); |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
71 g_free(substring); |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
72 } |
1 | 73 } |
74 } | |
217 | 75 if (tail) *tail = text + e + 1; |
1 | 76 } |
77 else | |
78 /* for compatibility with older formats (<0.3.7) | |
79 * read a line without quotes too */ | |
80 { | |
81 c = 0; | |
82 while (c < l && text[c] !=' ' && text[c] !=8 && text[c] != '\n') c++; | |
83 if (c != 0) | |
84 { | |
210
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
85 retval = g_strndup(text, c); |
1 | 86 } |
217 | 87 if (tail) *tail = text + c; |
1 | 88 } |
89 | |
210
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
90 return retval; |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
91 } |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
92 |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
93 gchar *escquote_value(const gchar *text) |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
94 { |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
95 gchar *e; |
250 | 96 |
217 | 97 if (!text) return g_strdup("\"\""); |
210
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
98 |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
99 e = g_strescape(text, ""); |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
100 if (e) |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
101 { |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
102 gchar *retval = g_strdup_printf("\"%s\"", e); |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
103 g_free(e); |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
104 return retval; |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
105 } |
217 | 106 return g_strdup("\"\""); |
1 | 107 } |
108 | |
276 | 109 static void write_char_option(SecureSaveInfo *ssi, gchar *label, gchar *text) |
1 | 110 { |
210
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
111 gchar *escval = escquote_value(text); |
3fa93ab9b119
Improve escaping and quoting of strings saved in rc files.
zas_
parents:
209
diff
changeset
|
112 |
276 | 113 secure_fprintf(ssi, "%s: %s\n", label, escval); |
217 | 114 g_free(escval); |
1 | 115 } |
116 | |
117 static gchar *read_char_option(FILE *f, gchar *option, gchar *label, gchar *value, gchar *text) | |
118 { | |
9 | 119 if (strcasecmp(option, label) == 0) |
1 | 120 { |
121 g_free(text); | |
217 | 122 text = quoted_value(value, NULL); |
1 | 123 } |
124 return text; | |
125 } | |
126 | |
267
a9adf9e1a746
Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
zas_
parents:
250
diff
changeset
|
127 /* Since gdk_color_to_string() is only available since gtk 2.12 |
a9adf9e1a746
Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
zas_
parents:
250
diff
changeset
|
128 * here is an equivalent stub function. */ |
a9adf9e1a746
Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
zas_
parents:
250
diff
changeset
|
129 static gchar *color_to_string(GdkColor *color) |
a9adf9e1a746
Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
zas_
parents:
250
diff
changeset
|
130 { |
a9adf9e1a746
Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
zas_
parents:
250
diff
changeset
|
131 return g_strdup_printf("#%04X%04X%04X", color->red, color->green, color->blue); |
a9adf9e1a746
Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
zas_
parents:
250
diff
changeset
|
132 } |
a9adf9e1a746
Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
zas_
parents:
250
diff
changeset
|
133 |
276 | 134 static void write_color_option(SecureSaveInfo *ssi, gchar *label, GdkColor *color) |
208
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
135 { |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
136 if (color) |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
137 { |
267
a9adf9e1a746
Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
zas_
parents:
250
diff
changeset
|
138 gchar *colorstring = color_to_string(color); |
208
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
139 |
276 | 140 write_char_option(ssi, label, colorstring); |
208
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
141 g_free(colorstring); |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
142 } |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
143 else |
276 | 144 secure_fprintf(ssi, "%s: \n", label); |
208
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
145 } |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
146 |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
147 static GdkColor *read_color_option(FILE *f, gchar *option, gchar *label, gchar *value, GdkColor *color) |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
148 { |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
149 if (strcasecmp(option, label) == 0) |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
150 { |
217 | 151 gchar *colorstr = quoted_value(value, NULL); |
152 if (colorstr) gdk_color_parse(colorstr, color); | |
153 g_free(colorstr); | |
208
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
154 } |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
155 return color; |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
156 } |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
157 |
fa0e05f985c3
set user-defined color as image background - patch by Laurent MONIN
nadvornik
parents:
196
diff
changeset
|
158 |
276 | 159 static void write_int_option(SecureSaveInfo *ssi, gchar *label, gint n) |
1 | 160 { |
276 | 161 secure_fprintf(ssi, "%s: %d\n", label, n); |
1 | 162 } |
163 | |
164 static gint read_int_option(FILE *f, gchar *option, gchar *label, gchar *value, gint n) | |
165 { | |
9 | 166 if (strcasecmp(option, label) == 0) |
167 { | |
168 n = strtol(value, NULL, 10); | |
169 } | |
170 return n; | |
171 } | |
172 | |
276 | 173 static void write_int_unit_option(SecureSaveInfo *ssi, gchar *label, gint n, gint subunits) |
9 | 174 { |
175 gint l, r; | |
176 | |
177 if (subunits > 0) | |
178 { | |
179 l = n / subunits; | |
180 r = n % subunits; | |
181 } | |
182 else | |
1 | 183 { |
9 | 184 l = n; |
185 r = 0; | |
186 } | |
187 | |
276 | 188 secure_fprintf(ssi, "%s: %d.%d\n", label, l, r); |
9 | 189 } |
190 | |
191 static gint read_int_unit_option(FILE *f, gchar *option, gchar *label, gchar *value, gint n, gint subunits) | |
192 { | |
193 if (strcasecmp(option, label) == 0) | |
194 { | |
195 gint l, r; | |
196 gchar *ptr; | |
197 | |
198 ptr = value; | |
199 while (*ptr != '\0' && *ptr != '.') ptr++; | |
200 if (*ptr == '.') | |
201 { | |
202 *ptr = '\0'; | |
203 l = strtol(value, NULL, 10); | |
204 *ptr = '.'; | |
205 ptr++; | |
206 r = strtol(ptr, NULL, 10); | |
207 } | |
208 else | |
209 { | |
210 l = strtol(value, NULL, 10); | |
211 r = 0; | |
212 } | |
213 | |
214 n = l * subunits + r; | |
1 | 215 } |
216 return n; | |
217 } | |
218 | |
276 | 219 static void write_bool_option(SecureSaveInfo *ssi, gchar *label, gint n) |
1 | 220 { |
276 | 221 secure_fprintf(ssi, "%s: ", label); |
222 if (n) secure_fprintf(ssi, "true\n"); else secure_fprintf(ssi, "false\n"); | |
1 | 223 } |
224 | |
225 static gint read_bool_option(FILE *f, gchar *option, gchar *label, gchar *value, gint n) | |
226 { | |
9 | 227 if (strcasecmp(option, label) == 0) |
1 | 228 { |
9 | 229 if (strcasecmp(value, "true") == 0) |
1 | 230 n = TRUE; |
231 else | |
232 n = FALSE; | |
233 } | |
234 return n; | |
235 } | |
236 | |
237 /* | |
238 *----------------------------------------------------------------------------- | |
239 * save configuration (public) | |
240 *----------------------------------------------------------------------------- | |
241 */ | |
242 | |
9 | 243 void save_options(void) |
1 | 244 { |
276 | 245 SecureSaveInfo *ssi; |
1 | 246 gchar *rc_path; |
9 | 247 gchar *rc_pathl; |
1 | 248 gint i; |
249 | |
283 | 250 rc_path = g_strconcat(homedir(), "/", GQ_RC_DIR, "/", RC_FILE_NAME, NULL); |
1 | 251 |
9 | 252 rc_pathl = path_from_utf8(rc_path); |
276 | 253 ssi = secure_open(rc_pathl); |
9 | 254 g_free(rc_pathl); |
276 | 255 if (!ssi) |
1 | 256 { |
9 | 257 gchar *buf; |
258 | |
259 buf = g_strdup_printf(_("error saving config file: %s\n"), rc_path); | |
260 print_term(buf); | |
261 g_free(buf); | |
262 | |
1 | 263 g_free(rc_path); |
264 return; | |
265 } | |
276 | 266 |
267 secure_fprintf(ssi, "######################################################################\n"); | |
288
d1f74154463e
Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents:
283
diff
changeset
|
268 secure_fprintf(ssi, "# %30s config file version %7s #\n", GQ_APPNAME, VERSION); |
276 | 269 secure_fprintf(ssi, "######################################################################\n"); |
270 secure_fputc(ssi, '\n'); | |
1 | 271 |
276 | 272 secure_fprintf(ssi, "# Note: This file is autogenerated. Options can be changed here,\n"); |
273 secure_fprintf(ssi, "# but user comments and formatting will be lost.\n"); | |
274 secure_fputc(ssi, '\n'); | |
275 | |
276 secure_fprintf(ssi, "##### General Options #####\n\n"); | |
1 | 277 |
320 | 278 write_bool_option(ssi, "show_icon_names", options->show_icon_names); |
276 | 279 secure_fputc(ssi, '\n'); |
9 | 280 |
345 | 281 write_bool_option(ssi, "tree_descend_subdirs", options->tree_descend_subdirs); |
320 | 282 write_bool_option(ssi, "lazy_image_sync", options->lazy_image_sync); |
283 write_bool_option(ssi, "update_on_time_change", options->update_on_time_change); | |
276 | 284 secure_fputc(ssi, '\n'); |
1 | 285 |
344 | 286 write_bool_option(ssi, "startup_path_enable", options->startup_path_enable); |
318 | 287 write_char_option(ssi, "startup_path", options->startup_path); |
335 | 288 |
346 | 289 write_bool_option(ssi, "progressive_key_scrolling", options->progressive_key_scrolling); |
290 write_bool_option(ssi, "enable_metadata_dirs", options->enable_metadata_dirs); | |
335 | 291 |
342
07490120df2d
Rename dupe_custom_threshold option to duplicates_similarity_threshold.
zas_
parents:
341
diff
changeset
|
292 write_int_option(ssi, "duplicates_similarity_threshold", options->duplicates_similarity_threshold); |
335 | 293 secure_fputc(ssi, '\n'); |
294 | |
346 | 295 write_bool_option(ssi, "mousewheel_scrolls", options->mousewheel_scrolls); |
343
63380ea3e65d
Rename recent_list_max/open_recent_max to open_recent_list_maxsize.
zas_
parents:
342
diff
changeset
|
296 write_int_option(ssi, "open_recent_list_maxsize", options->open_recent_list_maxsize); |
346 | 297 write_bool_option(ssi, "place_dialogs_under_mouse", options->place_dialogs_under_mouse); |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
298 |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
299 |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
300 secure_fprintf(ssi, "\n##### File operations Options #####\n\n"); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
301 |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
302 write_bool_option(ssi, "file_ops.enable_in_place_rename", options->file_ops.enable_in_place_rename); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
303 write_bool_option(ssi, "file_ops.confirm_delete", options->file_ops.confirm_delete); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
304 write_bool_option(ssi, "file_ops.enable_delete_key", options->file_ops.enable_delete_key); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
305 write_bool_option(ssi, "file_ops.safe_delete_enable", options->file_ops.safe_delete_enable); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
306 write_char_option(ssi, "file_ops.safe_delete_path", options->file_ops.safe_delete_path); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
307 write_int_option(ssi, "file_ops.safe_delete_folder_maxsize", options->file_ops.safe_delete_folder_maxsize); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
308 |
339
de1c2cd06fce
Rename user_specified_window_background and window_background_color
zas_
parents:
338
diff
changeset
|
309 |
335 | 310 secure_fprintf(ssi, "\n##### Layout Options #####\n\n"); |
311 | |
312 write_int_option(ssi, "layout.style", options->layout.style); | |
313 write_char_option(ssi, "layout.order", options->layout.order); | |
314 write_bool_option(ssi, "layout.view_as_icons", options->layout.view_as_icons); | |
315 write_bool_option(ssi, "layout.view_as_tree", options->layout.view_as_tree); | |
340
77103f3f2cb1
Rename option thumbnails.enabled to layout.show_thumbnails as it makes
zas_
parents:
339
diff
changeset
|
316 write_bool_option(ssi, "layout.show_thumbnails", options->layout.show_thumbnails); |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
317 secure_fputc(ssi, '\n'); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
318 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
319 write_bool_option(ssi, "layout.save_window_positions", options->layout.save_window_positions); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
320 secure_fputc(ssi, '\n'); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
321 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
322 write_int_option(ssi, "layout.main_window.x", options->layout.main_window.x); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
323 write_int_option(ssi, "layout.main_window.y", options->layout.main_window.y); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
324 write_int_option(ssi, "layout.main_window.w", options->layout.main_window.w); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
325 write_int_option(ssi, "layout.main_window.h", options->layout.main_window.h); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
326 write_bool_option(ssi, "layout.main_window.maximized", options->layout.main_window.maximized); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
327 write_int_option(ssi, "layout.main_window.hdivider_pos", options->layout.main_window.hdivider_pos); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
328 write_int_option(ssi, "layout.main_window.vdivider_pos", options->layout.main_window.vdivider_pos); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
329 secure_fputc(ssi, '\n'); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
330 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
331 write_int_option(ssi, "layout.float_window.x", options->layout.float_window.x); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
332 write_int_option(ssi, "layout.float_window.y", options->layout.float_window.y); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
333 write_int_option(ssi, "layout.float_window.w", options->layout.float_window.w); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
334 write_int_option(ssi, "layout.float_window.h", options->layout.float_window.h); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
335 write_int_option(ssi, "layout.float_window.vdivider_pos", options->layout.float_window.vdivider_pos); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
336 secure_fputc(ssi, '\n'); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
337 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
338 write_bool_option(ssi, "layout.tools_float", options->layout.tools_float); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
339 write_bool_option(ssi, "layout.tools_hidden", options->layout.tools_hidden); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
340 write_bool_option(ssi, "layout.tools_restore_state", options->layout.tools_restore_state); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
341 secure_fputc(ssi, '\n'); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
342 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
343 write_bool_option(ssi, "layout.toolbar_hidden", options->layout.toolbar_hidden); |
335 | 344 |
345 | |
346 secure_fprintf(ssi, "\n##### Image Options #####\n\n"); | |
1 | 347 |
334 | 348 secure_fprintf(ssi, "image.zoom_mode: "); |
349 if (options->image.zoom_mode == ZOOM_RESET_ORIGINAL) secure_fprintf(ssi, "original\n"); | |
350 if (options->image.zoom_mode == ZOOM_RESET_FIT_WINDOW) secure_fprintf(ssi, "fit\n"); | |
351 if (options->image.zoom_mode == ZOOM_RESET_NONE) secure_fprintf(ssi, "dont_change\n"); | |
352 write_bool_option(ssi, "image.zoom_2pass", options->image.zoom_2pass); | |
353 write_bool_option(ssi, "image.zoom_to_fit_allow_expand", options->image.zoom_to_fit_allow_expand); | |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
354 write_int_option(ssi, "image.zoom_quality", options->image.zoom_quality); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
355 write_int_option(ssi, "image.zoom_increment", options->image.zoom_increment); |
334 | 356 write_bool_option(ssi, "image.fit_window_to_image", options->image.fit_window_to_image); |
357 write_bool_option(ssi, "image.limit_window_size", options->image.limit_window_size); | |
358 write_int_option(ssi, "image.max_window_size", options->image.max_window_size); | |
359 write_bool_option(ssi, "image.limit_autofit_size", options->image.limit_autofit_size); | |
360 write_int_option(ssi, "image.max_autofit_size", options->image.max_autofit_size); | |
361 write_int_option(ssi, "image.scroll_reset_method", options->image.scroll_reset_method); | |
337 | 362 write_int_option(ssi, "image.tile_cache_max", options->image.tile_cache_max); |
334 | 363 write_int_option(ssi, "image.dither_quality", options->image.dither_quality); |
364 write_bool_option(ssi, "image.enable_read_ahead", options->image.enable_read_ahead); | |
335 | 365 write_bool_option(ssi, "image.exif_rotate_enable", options->image.exif_rotate_enable); |
339
de1c2cd06fce
Rename user_specified_window_background and window_background_color
zas_
parents:
338
diff
changeset
|
366 write_bool_option(ssi, "image.use_custom_border_color", options->image.use_custom_border_color); |
de1c2cd06fce
Rename user_specified_window_background and window_background_color
zas_
parents:
338
diff
changeset
|
367 write_color_option(ssi, "image.border_color", &options->image.border_color); |
1 | 368 |
335 | 369 |
370 secure_fprintf(ssi, "\n##### Thumbnails Options #####\n\n"); | |
9 | 371 |
333 | 372 write_int_option(ssi, "thumbnails.max_width", options->thumbnails.max_width); |
373 write_int_option(ssi, "thumbnails.max_height", options->thumbnails.max_height); | |
374 write_bool_option(ssi, "thumbnails.enable_caching", options->thumbnails.enable_caching); | |
375 write_bool_option(ssi, "thumbnails.cache_into_dirs", options->thumbnails.cache_into_dirs); | |
376 write_bool_option(ssi, "thumbnails.fast", options->thumbnails.fast); | |
377 write_bool_option(ssi, "thumbnails.use_xvpics", options->thumbnails.use_xvpics); | |
378 write_bool_option(ssi, "thumbnails.spec_standard", options->thumbnails.spec_standard); | |
379 write_int_option(ssi, "thumbnails.quality", options->thumbnails.quality); | |
335 | 380 |
9 | 381 |
335 | 382 secure_fprintf(ssi, "\n##### File sorting Options #####\n\n"); |
1 | 383 |
329 | 384 write_int_option(ssi, "file_sort.method", (gint)options->file_sort.method); |
385 write_bool_option(ssi, "file_sort.ascending", options->file_sort.ascending); | |
386 write_bool_option(ssi, "file_sort.case_sensitive", options->file_sort.case_sensitive); | |
1 | 387 |
335 | 388 |
389 secure_fprintf(ssi, "\n##### Fullscreen Options #####\n\n"); | |
4 | 390 |
322 | 391 write_int_option(ssi, "fullscreen.screen", options->fullscreen.screen); |
392 write_bool_option(ssi, "fullscreen.clean_flip", options->fullscreen.clean_flip); | |
393 write_bool_option(ssi, "fullscreen.disable_saver", options->fullscreen.disable_saver); | |
394 write_bool_option(ssi, "fullscreen.above", options->fullscreen.above); | |
395 write_bool_option(ssi, "fullscreen.show_info", options->fullscreen.show_info); | |
396 write_char_option(ssi, "fullscreen.info", options->fullscreen.info); | |
1 | 397 |
276 | 398 secure_fprintf(ssi, "\n##### Slideshow Options #####\n\n"); |
399 | |
326 | 400 write_int_unit_option(ssi, "slideshow.delay", options->slideshow.delay, SLIDESHOW_SUBSECOND_PRECISION); |
401 write_bool_option(ssi, "slideshow.random", options->slideshow.random); | |
402 write_bool_option(ssi, "slideshow.repeat", options->slideshow.repeat); | |
276 | 403 |
335 | 404 |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
405 secure_fprintf(ssi, "\n##### Collection Options #####\n\n"); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
406 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
407 write_bool_option(ssi, "collections.rectangular_selection", options->collections.rectangular_selection); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
408 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
409 |
276 | 410 secure_fprintf(ssi, "\n##### Filtering Options #####\n\n"); |
1 | 411 |
332 | 412 write_bool_option(ssi, "file_filter.show_dot_files", options->file_filter.show_dot_files); |
413 write_bool_option(ssi, "file_filter.disable", options->file_filter.disable); | |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
414 secure_fputc(ssi, '\n'); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
415 |
276 | 416 filter_write_list(ssi); |
417 | |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
418 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
419 secure_fprintf(ssi, "\n##### Sidecars Options #####\n\n"); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
420 |
276 | 421 sidecar_ext_write(ssi); |
1 | 422 |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
423 |
276 | 424 secure_fprintf(ssi, "\n##### Color Profiles #####\n\n"); |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
425 |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
426 #ifndef HAVE_LCMS |
288
d1f74154463e
Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents:
283
diff
changeset
|
427 secure_fprintf(ssi, "# NOTICE: %s was not built with support for color profiles,\n" |
d1f74154463e
Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents:
283
diff
changeset
|
428 "# color profile options will have no effect.\n\n", GQ_APPNAME); |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
429 #endif |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
430 |
327 | 431 write_bool_option(ssi, "color_profile.enabled", options->color_profile.enabled); |
432 write_bool_option(ssi, "color_profile.use_image", options->color_profile.use_image); | |
433 write_int_option(ssi, "color_profile.input_type", options->color_profile.input_type); | |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
434 secure_fputc(ssi, '\n'); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
435 |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
436 for (i = 0; i < COLOR_PROFILE_INPUTS; i++) |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
437 { |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
438 gchar *buf; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
439 |
327 | 440 buf = g_strdup_printf("color_profile.input_file_%d", i + 1); |
441 write_char_option(ssi, buf, options->color_profile.input_file[i]); | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
442 g_free(buf); |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
443 |
327 | 444 buf = g_strdup_printf("color_profile.input_name_%d", i + 1); |
445 write_char_option(ssi, buf, options->color_profile.input_name[i]); | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
446 g_free(buf); |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
447 } |
276 | 448 secure_fputc(ssi, '\n'); |
327 | 449 write_int_option(ssi, "color_profile.screen_type", options->color_profile.screen_type); |
450 write_char_option(ssi, "color_profile.screen_file", options->color_profile.screen_file); | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
451 |
276 | 452 secure_fprintf(ssi, "\n##### External Programs #####\n"); |
348 | 453 secure_fprintf(ssi, "# Maximum of %d programs (external_1 through external_%d)\n", GQ_EDITOR_GENERIC_SLOTS, GQ_EDITOR_GENERIC_SLOTS); |
454 secure_fprintf(ssi, "# external_%d through external_%d are used for file ops\n", GQ_EDITOR_GENERIC_SLOTS + 1, GQ_EDITOR_SLOTS); | |
276 | 455 secure_fprintf(ssi, "# format: external_n: \"menu name\" \"command line\"\n\n"); |
1 | 456 |
283 | 457 for (i = 0; i < GQ_EDITOR_SLOTS; i++) |
1 | 458 { |
348 | 459 if (i == GQ_EDITOR_GENERIC_SLOTS) secure_fputc(ssi, '\n'); |
318 | 460 gchar *qname = escquote_value(options->editor_name[i]); |
461 gchar *qcommand = escquote_value(options->editor_command[i]); | |
276 | 462 secure_fprintf(ssi, "external_%d: %s %s\n", i+1, qname, qcommand); |
217 | 463 g_free(qname); |
464 g_free(qcommand); | |
1 | 465 } |
466 | |
467 | |
349 | 468 secure_fprintf(ssi, "\n##### Exif Options #####\n# Display:\n# 0: never\n# 1: if set\n# 2: always\n\n"); |
222
77f1bcc6c161
various exif improvements based on patch by Uwe Ohse
nadvornik
parents:
218
diff
changeset
|
469 for (i = 0; ExifUIList[i].key; i++) |
77f1bcc6c161
various exif improvements based on patch by Uwe Ohse
nadvornik
parents:
218
diff
changeset
|
470 { |
349 | 471 secure_fprintf(ssi, "exif.display."); |
276 | 472 write_int_option(ssi, (gchar *)ExifUIList[i].key, ExifUIList[i].current); |
222
77f1bcc6c161
various exif improvements based on patch by Uwe Ohse
nadvornik
parents:
218
diff
changeset
|
473 } |
77f1bcc6c161
various exif improvements based on patch by Uwe Ohse
nadvornik
parents:
218
diff
changeset
|
474 |
276 | 475 secure_fputc(ssi, '\n'); |
476 secure_fprintf(ssi, "######################################################################\n"); | |
288
d1f74154463e
Replace occurences of Geeqie / geeqie by constants defined in main.h.
zas_
parents:
283
diff
changeset
|
477 secure_fprintf(ssi, "# end of config file #\n"); |
276 | 478 secure_fprintf(ssi, "######################################################################\n"); |
1 | 479 |
276 | 480 |
481 if (secure_close(ssi)) | |
482 { | |
483 gchar *buf; | |
484 | |
485 buf = g_strdup_printf(_("error saving config file: %s\nerror: %s\n"), rc_path, | |
486 secsave_strerror(secsave_errno)); | |
487 print_term(buf); | |
488 g_free(buf); | |
489 | |
490 g_free(rc_path); | |
491 return; | |
492 } | |
1 | 493 |
494 g_free(rc_path); | |
495 } | |
496 | |
497 /* | |
498 *----------------------------------------------------------------------------- | |
499 * load configuration (public) | |
500 *----------------------------------------------------------------------------- | |
501 */ | |
502 | |
9 | 503 void load_options(void) |
1 | 504 { |
505 FILE *f; | |
506 gchar *rc_path; | |
9 | 507 gchar *rc_pathl; |
1 | 508 gchar s_buf[1024]; |
509 gchar *s_buf_ptr; | |
510 gchar option[1024]; | |
511 gchar value[1024]; | |
512 gchar value_all[1024]; | |
513 gint c,l,i; | |
9 | 514 |
222
77f1bcc6c161
various exif improvements based on patch by Uwe Ohse
nadvornik
parents:
218
diff
changeset
|
515 for (i = 0; ExifUIList[i].key; i++) |
77f1bcc6c161
various exif improvements based on patch by Uwe Ohse
nadvornik
parents:
218
diff
changeset
|
516 ExifUIList[i].current = ExifUIList[i].default_value; |
77f1bcc6c161
various exif improvements based on patch by Uwe Ohse
nadvornik
parents:
218
diff
changeset
|
517 |
283 | 518 rc_path = g_strconcat(homedir(), "/", GQ_RC_DIR, "/", RC_FILE_NAME, NULL); |
1 | 519 |
9 | 520 rc_pathl = path_from_utf8(rc_path); |
521 f = fopen(rc_pathl,"r"); | |
522 g_free(rc_pathl); | |
1 | 523 if (!f) |
524 { | |
525 g_free(rc_path); | |
526 return; | |
527 } | |
528 | |
529 while (fgets(s_buf,1024,f)) | |
530 { | |
531 if (s_buf[0]=='#') continue; | |
532 if (s_buf[0]=='\n') continue; | |
533 c = 0; | |
534 l = strlen(s_buf); | |
535 while (s_buf[c] != ':' && c < l) c++; | |
536 if (c >= l) continue; | |
537 s_buf[c] = '\0'; | |
538 c++; | |
9 | 539 while ((s_buf[c] == ' ' || s_buf[c] == 8) && c < l) c++; |
1 | 540 s_buf_ptr = s_buf + c; |
9 | 541 strncpy(value_all, s_buf_ptr, sizeof(value_all)); |
1 | 542 while (s_buf[c] != 8 && s_buf[c] != ' ' && s_buf[c] != '\n' && c < l) c++; |
543 s_buf[c] = '\0'; | |
9 | 544 strncpy(option, s_buf, sizeof(option)); |
545 strncpy(value, s_buf_ptr, sizeof(value)); | |
1 | 546 |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
547 |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
548 /* general options */ |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
549 options->show_icon_names = read_bool_option(f, option, |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
550 "show_icon_names", value, options->show_icon_names); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
551 |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
552 options->tree_descend_subdirs = read_bool_option(f, option, |
345 | 553 "tree_descend_subdirs", value, options->tree_descend_subdirs); |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
554 options->lazy_image_sync = read_bool_option(f, option, |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
555 "lazy_image_sync", value, options->lazy_image_sync); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
556 options->update_on_time_change = read_bool_option(f, option, |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
557 "update_on_time_change", value, options->update_on_time_change); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
558 |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
559 options->startup_path_enable = read_bool_option(f, option, |
344 | 560 "startup_path_enable", value, options->startup_path_enable); |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
561 options->startup_path = read_char_option(f, option, |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
562 "startup_path", value_all, options->startup_path); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
563 |
342
07490120df2d
Rename dupe_custom_threshold option to duplicates_similarity_threshold.
zas_
parents:
341
diff
changeset
|
564 options->duplicates_similarity_threshold = read_int_option(f, option, |
07490120df2d
Rename dupe_custom_threshold option to duplicates_similarity_threshold.
zas_
parents:
341
diff
changeset
|
565 "duplicates_similarity_threshold", value, options->duplicates_similarity_threshold); |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
566 |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
567 options->progressive_key_scrolling = read_bool_option(f, option, |
346 | 568 "progressive_key_scrolling", value, options->progressive_key_scrolling); |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
569 |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
570 options->enable_metadata_dirs = read_bool_option(f, option, |
346 | 571 "enable_metadata_dirs", value, options->enable_metadata_dirs); |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
572 |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
573 options->mousewheel_scrolls = read_bool_option(f, option, |
346 | 574 "mousewheel_scrolls", value, options->mousewheel_scrolls); |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
575 |
343
63380ea3e65d
Rename recent_list_max/open_recent_max to open_recent_list_maxsize.
zas_
parents:
342
diff
changeset
|
576 options->open_recent_list_maxsize = read_int_option(f, option, |
63380ea3e65d
Rename recent_list_max/open_recent_max to open_recent_list_maxsize.
zas_
parents:
342
diff
changeset
|
577 "open_recent_list_maxsize", value, options->open_recent_list_maxsize); |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
578 |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
579 options->place_dialogs_under_mouse = read_bool_option(f, option, |
346 | 580 "place_dialogs_under_mouse", value, options->place_dialogs_under_mouse); |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
581 |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
582 |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
583 /* layout options */ |
1 | 584 |
327 | 585 options->layout.style = read_int_option(f, option, |
586 "layout.style", value, options->layout.style); | |
587 options->layout.order = read_char_option(f, option, | |
588 "layout.order", value, options->layout.order); | |
589 options->layout.view_as_icons = read_bool_option(f, option, | |
590 "layout.view_as_icons", value, options->layout.view_as_icons); | |
591 options->layout.view_as_tree = read_bool_option(f, option, | |
592 "layout.view_as_tree", value, options->layout.view_as_tree); | |
340
77103f3f2cb1
Rename option thumbnails.enabled to layout.show_thumbnails as it makes
zas_
parents:
339
diff
changeset
|
593 options->layout.show_thumbnails = read_bool_option(f, option, |
77103f3f2cb1
Rename option thumbnails.enabled to layout.show_thumbnails as it makes
zas_
parents:
339
diff
changeset
|
594 "layout.show_thumbnails", value, options->layout.show_thumbnails); |
77103f3f2cb1
Rename option thumbnails.enabled to layout.show_thumbnails as it makes
zas_
parents:
339
diff
changeset
|
595 |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
596 /* window positions */ |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
597 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
598 options->layout.save_window_positions = read_bool_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
599 "layout.save_window_positions", value, options->layout.save_window_positions); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
600 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
601 options->layout.main_window.x = read_int_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
602 "layout.main_window.x", value, options->layout.main_window.x); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
603 options->layout.main_window.y = read_int_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
604 "layout.main_window.y", value, options->layout.main_window.y); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
605 options->layout.main_window.w = read_int_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
606 "layout.main_window.w", value, options->layout.main_window.w); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
607 options->layout.main_window.h = read_int_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
608 "layout.main_window.h", value, options->layout.main_window.h); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
609 options->layout.main_window.maximized = read_bool_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
610 "layout.main_window.maximized", value, options->layout.main_window.maximized); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
611 options->layout.float_window.x = read_int_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
612 "layout.float_window.x", value, options->layout.float_window.x); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
613 options->layout.float_window.y = read_int_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
614 "layout.float_window.y", value, options->layout.float_window.y); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
615 options->layout.float_window.w = read_int_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
616 "layout.float_window.w", value, options->layout.float_window.w); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
617 options->layout.float_window.h = read_int_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
618 "layout.float_window.h", value, options->layout.float_window.h); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
619 options->layout.float_window.vdivider_pos = read_int_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
620 "layout.float_window.vdivider_pos", value, options->layout.float_window.vdivider_pos); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
621 options->layout.main_window.hdivider_pos = read_int_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
622 "layout.main_window.hdivider_pos", value,options->layout.main_window.hdivider_pos); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
623 options->layout.main_window.vdivider_pos = read_int_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
624 "layout.main_window.vdivider_pos", value, options->layout.main_window.vdivider_pos); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
625 options->layout.tools_float = read_bool_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
626 "layout.tools_float", value, options->layout.tools_float); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
627 options->layout.tools_hidden = read_bool_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
628 "layout.tools_hidden", value, options->layout.tools_hidden); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
629 options->layout.tools_restore_state = read_bool_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
630 "layout.tools_restore_state", value, options->layout.tools_restore_state); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
631 options->layout.toolbar_hidden = read_bool_option(f, option, |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
632 "layout.toolbar_hidden", value, options->layout.toolbar_hidden); |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
633 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
634 |
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
635 /* image options */ |
334 | 636 if (strcasecmp(option, "image.zoom_mode") == 0) |
1 | 637 { |
334 | 638 if (strcasecmp(value, "original") == 0) options->image.zoom_mode = ZOOM_RESET_ORIGINAL; |
639 if (strcasecmp(value, "fit") == 0) options->image.zoom_mode = ZOOM_RESET_FIT_WINDOW; | |
640 if (strcasecmp(value, "dont_change") == 0) options->image.zoom_mode = ZOOM_RESET_NONE; | |
1 | 641 } |
334 | 642 options->image.zoom_2pass = read_bool_option(f, option, |
643 "image.zoom_2pass", value, options->image.zoom_2pass); | |
644 options->image.zoom_to_fit_allow_expand = read_bool_option(f, option, | |
645 "image.zoom_to_fit_allow_expand", value, options->image.zoom_to_fit_allow_expand); | |
646 options->image.fit_window_to_image = read_bool_option(f, option, | |
647 "image.fit_window_to_image", value, options->image.fit_window_to_image); | |
648 options->image.limit_window_size = read_bool_option(f, option, | |
649 "image.limit_window_size", value, options->image.limit_window_size); | |
650 options->image.max_window_size = read_int_option(f, option, | |
651 "image.max_window_size", value, options->image.max_window_size); | |
652 options->image.limit_autofit_size = read_bool_option(f, option, | |
653 "image.limit_autofit_size", value, options->image.limit_autofit_size); | |
654 options->image.max_autofit_size = read_int_option(f, option, | |
655 "image.max_autofit_size", value, options->image.max_autofit_size); | |
656 options->image.scroll_reset_method = read_int_option(f, option, | |
657 "image.scroll_reset_method", value, options->image.scroll_reset_method); | |
658 options->image.tile_cache_max = read_int_option(f, option, | |
337 | 659 "image.tile_cache_max", value, options->image.tile_cache_max); |
334 | 660 options->image.zoom_quality = CLAMP(read_int_option(f, option, |
661 "image.zoom_quality", value, options->image.zoom_quality), GDK_INTERP_NEAREST, GDK_INTERP_HYPER); | |
662 options->image.dither_quality = CLAMP(read_int_option(f, option, | |
663 "image.dither_quality", value, options->image.dither_quality), GDK_RGB_DITHER_NONE, GDK_RGB_DITHER_MAX); | |
664 options->image.zoom_increment = read_int_option(f, option, | |
665 "image.zoom_increment", value, options->image.zoom_increment); | |
666 options->image.enable_read_ahead = read_bool_option(f, option, | |
667 "image.enable_read_ahead", value, options->image.enable_read_ahead); | |
335 | 668 options->image.exif_rotate_enable = read_bool_option(f, option, |
669 "image.exif_rotate_enable", value, options->image.exif_rotate_enable); | |
339
de1c2cd06fce
Rename user_specified_window_background and window_background_color
zas_
parents:
338
diff
changeset
|
670 options->image.use_custom_border_color = read_bool_option(f, option, |
de1c2cd06fce
Rename user_specified_window_background and window_background_color
zas_
parents:
338
diff
changeset
|
671 "image.use_custom_border_color", value, options->image.use_custom_border_color); |
de1c2cd06fce
Rename user_specified_window_background and window_background_color
zas_
parents:
338
diff
changeset
|
672 read_color_option(f, option, |
de1c2cd06fce
Rename user_specified_window_background and window_background_color
zas_
parents:
338
diff
changeset
|
673 "image.border_color", value, &options->image.border_color); |
1 | 674 |
675 | |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
676 /* thumbnails options */ |
333 | 677 options->thumbnails.max_width = read_int_option(f, option, |
678 "thumbnails.max_width", value, options->thumbnails.max_width); | |
679 if (options->thumbnails.max_width < 16) options->thumbnails.max_width = 16; | |
680 options->thumbnails.max_height = read_int_option(f, option, | |
681 "thumbnails.max_height", value, options->thumbnails.max_height); | |
682 if (options->thumbnails.max_height < 16) options->thumbnails.max_height = 16; | |
683 options->thumbnails.enable_caching = read_bool_option(f, option, | |
684 "thumbnails.enable_caching", value, options->thumbnails.enable_caching); | |
685 options->thumbnails.cache_into_dirs = read_bool_option(f, option, | |
686 "thumbnails.cache_into_dirs", value, options->thumbnails.cache_into_dirs); | |
687 options->thumbnails.fast = read_bool_option(f, option, | |
688 "thumbnails.fast", value, options->thumbnails.fast); | |
689 options->thumbnails.use_xvpics = read_bool_option(f, option, | |
690 "thumbnails.use_xvpics", value, options->thumbnails.use_xvpics); | |
691 options->thumbnails.spec_standard = read_bool_option(f, option, | |
692 "thumbnails.spec_standard", value, options->thumbnails.spec_standard); | |
693 options->thumbnails.quality = CLAMP(read_int_option(f, option, | |
694 "thumbnails.quality", value, options->thumbnails.quality), GDK_INTERP_NEAREST, GDK_INTERP_HYPER); | |
9 | 695 |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
696 /* file sorting options */ |
329 | 697 options->file_sort.method = (SortType)read_int_option(f, option, |
698 "file_sort.method", value, (gint)options->file_sort.method); | |
699 options->file_sort.ascending = read_bool_option(f, option, | |
700 "file_sort.ascending", value, options->file_sort.ascending); | |
701 options->file_sort.case_sensitive = read_bool_option(f, option, | |
702 "file_sort.case_sensitive", value, options->file_sort.case_sensitive); | |
1 | 703 |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
704 /* file operations options */ |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
705 options->file_ops.enable_in_place_rename = read_bool_option(f, option, |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
706 "file_ops.enable_in_place_rename", value, options->file_ops.enable_in_place_rename); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
707 options->file_ops.confirm_delete = read_bool_option(f, option, |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
708 "file_ops.confirm_delete", value, options->file_ops.confirm_delete); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
709 options->file_ops.enable_delete_key = read_bool_option(f, option, |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
710 "file_ops.enable_delete_key", value, options->file_ops.enable_delete_key); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
711 options->file_ops.safe_delete_enable = read_bool_option(f, option, |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
712 "file_ops.safe_delete_enable", value, options->file_ops.safe_delete_enable); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
713 options->file_ops.safe_delete_path = read_char_option(f, option, |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
714 "file_ops.safe_delete_path", value, options->file_ops.safe_delete_path); |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
715 options->file_ops.safe_delete_folder_maxsize = read_int_option(f, option, |
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
716 "file_ops.safe_delete_folder_maxsize", value,options->file_ops.safe_delete_folder_maxsize); |
1 | 717 |
341
15c6b94545a2
Move safe_delete* and in place rename options to file_ops
zas_
parents:
340
diff
changeset
|
718 /* fullscreen options */ |
322 | 719 options->fullscreen.screen = read_int_option(f, option, |
720 "fullscreen.screen", value, options->fullscreen.screen); | |
721 options->fullscreen.clean_flip = read_bool_option(f, option, | |
722 "fullscreen.clean_flip", value, options->fullscreen.clean_flip); | |
723 options->fullscreen.disable_saver = read_bool_option(f, option, | |
724 "fullscreen.disable_saver", value, options->fullscreen.disable_saver); | |
725 options->fullscreen.above = read_bool_option(f, option, | |
726 "fullscreen.above", value, options->fullscreen.above); | |
727 options->fullscreen.show_info = read_bool_option(f, option, | |
728 "fullscreen.show_info", value, options->fullscreen.show_info); | |
729 options->fullscreen.info = read_char_option(f, option, | |
730 "fullscreen.info", value_all, options->fullscreen.info); | |
9 | 731 |
732 /* slideshow options */ | |
733 | |
326 | 734 options->slideshow.delay = read_int_unit_option(f, option, |
735 "slideshow.delay", value, options->slideshow.delay, SLIDESHOW_SUBSECOND_PRECISION); | |
736 options->slideshow.random = read_bool_option(f, option, | |
737 "slideshow.random", value, options->slideshow.random); | |
738 options->slideshow.repeat = read_bool_option(f, option, | |
739 "slideshow.repeat", value, options->slideshow.repeat); | |
1 | 740 |
741 /* filtering options */ | |
742 | |
332 | 743 options->file_filter.show_dot_files = read_bool_option(f, option, |
744 "file_filter.show_dot_files", value, options->file_filter.show_dot_files); | |
745 options->file_filter.disable = read_bool_option(f, option, | |
746 "file_filter.disable", value, options->file_filter.disable); | |
1 | 747 |
332 | 748 if (strcasecmp(option, "file_filter.ext") == 0) |
9 | 749 { |
750 filter_parse(value_all); | |
751 } | |
1 | 752 |
347 | 753 if (strcasecmp(option, "sidecar.ext") == 0) |
145
8be2cc687304
fixed grouping sidecar files and made it configurable via config file
nadvornik
parents:
113
diff
changeset
|
754 { |
170
9a56e3d13e67
basic sidecar files configuration via preferences dialog
nadvornik
parents:
145
diff
changeset
|
755 sidecar_ext_parse(value_all, TRUE); |
145
8be2cc687304
fixed grouping sidecar files and made it configurable via config file
nadvornik
parents:
113
diff
changeset
|
756 } |
8be2cc687304
fixed grouping sidecar files and made it configurable via config file
nadvornik
parents:
113
diff
changeset
|
757 |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
758 /* Color Profiles */ |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
759 |
327 | 760 options->color_profile.enabled = read_bool_option(f, option, |
761 "color_profile.enabled", value, options->color_profile.enabled); | |
762 options->color_profile.use_image = read_bool_option(f, option, | |
763 "color_profile.use_image", value, options->color_profile.use_image); | |
764 options->color_profile.input_type = read_int_option(f, option, | |
765 "color_profile.input_type", value, options->color_profile.input_type); | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
766 |
327 | 767 if (strncasecmp(option, "color_profile.input_file_", 25) == 0) |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
768 { |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
769 i = strtol(option + 25, NULL, 0) - 1; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
770 if (i >= 0 && i < COLOR_PROFILE_INPUTS) |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
771 { |
327 | 772 options->color_profile.input_file[i] = read_char_option(f, option, |
773 option, value, options->color_profile.input_file[i]); | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
774 } |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
775 } |
327 | 776 if (strncasecmp(option, "color_profile.input_name_", 25) == 0) |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
777 { |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
778 i = strtol(option + 25, NULL, 0) - 1; |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
779 if (i >= 0 && i < COLOR_PROFILE_INPUTS) |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
780 { |
327 | 781 options->color_profile.input_name[i] = read_char_option(f, option, |
782 option, value, options->color_profile.input_name[i]); | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
783 } |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
784 } |
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
785 |
327 | 786 options->color_profile.screen_type = read_int_option(f, option, |
787 "color_profile.screen_type", value, options->color_profile.screen_type); | |
788 options->color_profile.screen_file = read_char_option(f, option, | |
789 "color_profile.screen_file", value, options->color_profile.screen_file); | |
113
55166d93498d
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
790 |
1 | 791 /* External Programs */ |
792 | |
9 | 793 if (strncasecmp(option, "external_", 9) == 0) |
1 | 794 { |
795 i = strtol(option + 9, NULL, 0); | |
283 | 796 if (i > 0 && i <= GQ_EDITOR_SLOTS) |
1 | 797 { |
217 | 798 const gchar *ptr; |
1 | 799 i--; |
318 | 800 g_free(options->editor_name[i]); |
801 g_free(options->editor_command[i]); | |
217 | 802 |
318 | 803 options->editor_name[i] = quoted_value(value_all, &ptr); |
804 options->editor_command[i] = quoted_value(ptr, NULL); | |
1 | 805 } |
806 } | |
807 | |
338
41c3cb73120f
Rename window options (moved to layout) and re-order rc file.
zas_
parents:
337
diff
changeset
|
808 /* collection options */ |
9 | 809 |
330 | 810 options->collections.rectangular_selection = read_bool_option(f, option, |
811 "collections.rectangular_selection", value, options->collections.rectangular_selection); | |
9 | 812 |
349 | 813 if (0 == strncasecmp(option, "exif.display.", 13)) |
222
77f1bcc6c161
various exif improvements based on patch by Uwe Ohse
nadvornik
parents:
218
diff
changeset
|
814 { |
77f1bcc6c161
various exif improvements based on patch by Uwe Ohse
nadvornik
parents:
218
diff
changeset
|
815 for (i = 0; ExifUIList[i].key; i++) |
349 | 816 if (0 == strcasecmp(option + 13, ExifUIList[i].key)) |
222
77f1bcc6c161
various exif improvements based on patch by Uwe Ohse
nadvornik
parents:
218
diff
changeset
|
817 ExifUIList[i].current = strtol(value, NULL, 10); |
77f1bcc6c161
various exif improvements based on patch by Uwe Ohse
nadvornik
parents:
218
diff
changeset
|
818 } |
1 | 819 } |
820 | |
821 fclose(f); | |
822 g_free(rc_path); | |
823 } | |
824 |