Mercurial > hg > forks > geeqie
annotate src/preferences.c @ 1685:041cdca65160
Revert "Add pgettext for some ambiguous strings"
Now there should be all ambiguous strings gone. This reverts commit 1628
With that commit also all ambiguous strings should be solved.
author | Klaus Ethgen <Klaus@Ethgen.de> |
---|---|
date | Tue, 30 Jun 2009 19:53:55 +0000 |
parents | a1d6a9ae0a50 |
children | 4cb7c2245306 |
rev | line source |
---|---|
9 | 1 /* |
196
bdad1cacadf4
rename GQview -> Geeqie over the code
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
170
diff
changeset
|
2 * Geeqie |
67
40abb746a32e
Fri Oct 13 05:22:43 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
26
diff
changeset
|
3 * (C) 2006 John Ellis |
1284
5cb31602f595
Add year 2009 to copyright info everywhere.
Laurent Monin <geeqie@norz.org>
parents:
1272
diff
changeset
|
4 * Copyright (C) 2008 - 2009 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 | |
281 | 14 #include "main.h" |
9 | 15 #include "preferences.h" |
16 | |
648
36e8da5a771d
Move some functions from main.[ch] to new window.[ch].
Laurent Monin <geeqie@norz.org>
parents:
630
diff
changeset
|
17 #include "bar_exif.h" |
1599
ec811624c949
Include missing header file.
Laurent Monin <geeqie@norz.org>
parents:
1596
diff
changeset
|
18 #include "cache.h" |
9 | 19 #include "cache_maint.h" |
20 #include "editors.h" | |
648
36e8da5a771d
Move some functions from main.[ch] to new window.[ch].
Laurent Monin <geeqie@norz.org>
parents:
630
diff
changeset
|
21 #include "exif.h" |
586
122fc2223b42
split filelist.c to filefilter.c and filedata.c
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
566
diff
changeset
|
22 #include "filedata.h" |
122fc2223b42
split filelist.c to filefilter.c and filedata.c
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
566
diff
changeset
|
23 #include "filefilter.h" |
9 | 24 #include "fullscreen.h" |
26
f1fe26e637e9
Mon Mar 28 20:23:34 2005 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
15
diff
changeset
|
25 #include "image.h" |
469
681796421193
Rename few functions and replace fullscreen info with image overlay template string.
Laurent Monin <geeqie@norz.org>
parents:
468
diff
changeset
|
26 #include "image-overlay.h" |
426
e4a5d61aff1c
show the AdobeRGB profile in the menu, indicate input profile from image
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
413
diff
changeset
|
27 #include "color-man.h" |
9 | 28 #include "img-view.h" |
29 #include "layout_config.h" | |
30 #include "layout_util.h" | |
31 #include "pixbuf_util.h" | |
32 #include "slideshow.h" | |
597
471697db9e6b
moved safe delete functions to separate file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
594
diff
changeset
|
33 #include "trash.h" |
9 | 34 #include "utilops.h" |
35 #include "ui_fileops.h" | |
36 #include "ui_misc.h" | |
37 #include "ui_tabcomp.h" | |
38 #include "ui_utildlg.h" | |
648
36e8da5a771d
Move some functions from main.[ch] to new window.[ch].
Laurent Monin <geeqie@norz.org>
parents:
630
diff
changeset
|
39 #include "window.h" |
9 | 40 |
41 #include <math.h> | |
42 | |
43 | |
44 #define EDITOR_NAME_MAX_LENGTH 32 | |
45 #define EDITOR_COMMAND_MAX_LENGTH 1024 | |
46 | |
47 | |
48 typedef struct _ThumbSize ThumbSize; | |
49 struct _ThumbSize | |
50 { | |
51 gint w; | |
52 gint h; | |
53 }; | |
54 | |
55 static ThumbSize thumb_size_list[] = | |
56 { | |
57 { 24, 24 }, | |
58 { 32, 32 }, | |
59 { 48, 48 }, | |
60 { 64, 64 }, | |
61 { 96, 72 }, | |
62 { 96, 96 }, | |
63 { 128, 96 }, | |
64 { 128, 128 }, | |
65 { 160, 120 }, | |
66 { 160, 160 }, | |
67 { 192, 144 }, | |
68 { 192, 192 }, | |
69 { 256, 192 }, | |
70 { 256, 256 } | |
71 }; | |
72 | |
73 enum { | |
74 FE_ENABLE, | |
75 FE_EXTENSION, | |
1216
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
76 FE_DESCRIPTION, |
1239
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
77 FE_CLASS, |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
78 FE_WRITABLE, |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
79 FE_ALLOW_SIDECAR |
9 | 80 }; |
81 | |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
82 enum { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
83 AE_ACTION, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
84 AE_KEY, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
85 AE_TOOLTIP, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
86 AE_ACCEL |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
87 }; |
1216
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
88 |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
89 static gchar *format_class_list[] = { |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
90 N_("Unknown"), |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
91 N_("Image"), |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
92 N_("RAW Image"), |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
93 N_("Metadata") |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
94 }; |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
95 |
9 | 96 /* config memory values */ |
321 | 97 static ConfOptions *c_options = NULL; |
9 | 98 |
99 | |
227
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
100 #ifdef DEBUG |
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
101 static gint debug_c; |
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
102 #endif |
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
103 |
9 | 104 static GtkWidget *configwindow = NULL; |
105 static GtkListStore *filter_store = NULL; | |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
106 static GtkTreeStore *accel_store = NULL; |
9 | 107 |
108 static GtkWidget *safe_delete_path_entry; | |
109 | |
113
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
110 static GtkWidget *color_profile_input_file_entry[COLOR_PROFILE_INPUTS]; |
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
111 static GtkWidget *color_profile_input_name_entry[COLOR_PROFILE_INPUTS]; |
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
112 static GtkWidget *color_profile_screen_file_entry; |
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
113 |
170
34d0013592f5
basic sidecar files configuration via preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
134
diff
changeset
|
114 static GtkWidget *sidecar_ext_entry; |
225
5794f581eafc
Make the preferences window resizeable, and try to improve
Laurent Monin <geeqie@norz.org>
parents:
224
diff
changeset
|
115 |
5794f581eafc
Make the preferences window resizeable, and try to improve
Laurent Monin <geeqie@norz.org>
parents:
224
diff
changeset
|
116 |
5794f581eafc
Make the preferences window resizeable, and try to improve
Laurent Monin <geeqie@norz.org>
parents:
224
diff
changeset
|
117 #define CONFIG_WINDOW_DEF_WIDTH 700 |
1039
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
118 #define CONFIG_WINDOW_DEF_HEIGHT 600 |
225
5794f581eafc
Make the preferences window resizeable, and try to improve
Laurent Monin <geeqie@norz.org>
parents:
224
diff
changeset
|
119 |
9 | 120 /* |
121 *----------------------------------------------------------------------------- | |
122 * option widget callbacks (private) | |
123 *----------------------------------------------------------------------------- | |
442 | 124 */ |
9 | 125 |
1039
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
126 static void zoom_mode_cb(GtkWidget *widget, gpointer data) |
9 | 127 { |
128 if (GTK_TOGGLE_BUTTON (widget)->active) | |
1039
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
129 c_options->image.zoom_mode = GPOINTER_TO_INT(data); |
9 | 130 } |
131 | |
1038
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
132 static void scroll_reset_cb(GtkWidget *widget, gpointer data) |
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
133 { |
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
134 if (GTK_TOGGLE_BUTTON (widget)->active) |
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
135 c_options->image.scroll_reset_method = GPOINTER_TO_INT(data); |
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
136 } |
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
137 |
9 | 138 static void zoom_increment_cb(GtkWidget *spin, gpointer data) |
139 { | |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
140 c_options->image.zoom_increment = (gint)(gtk_spin_button_get_value(GTK_SPIN_BUTTON(spin)) * 10.0 + 0.01); |
9 | 141 } |
142 | |
143 static void slideshow_delay_cb(GtkWidget *spin, gpointer data) | |
144 { | |
326 | 145 c_options->slideshow.delay = (gint)(gtk_spin_button_get_value(GTK_SPIN_BUTTON(spin)) * |
1000
07f6093c1c1a
For the sake of consistency, use glib basic types everywhere.
Laurent Monin <geeqie@norz.org>
parents:
995
diff
changeset
|
146 (gdouble)SLIDESHOW_SUBSECOND_PRECISION + 0.01); |
9 | 147 } |
148 | |
149 /* | |
150 *----------------------------------------------------------------------------- | |
151 * sync progam to config window routine (private) | |
152 *----------------------------------------------------------------------------- | |
442 | 153 */ |
9 | 154 |
1436
13d61fe760fb
completely separated global and layout window options
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1400
diff
changeset
|
155 void config_entry_to_option(GtkWidget *entry, gchar **option, gchar *(*func)(const gchar *)) |
9 | 156 { |
157 const gchar *buf; | |
1042
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
158 |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
159 g_free(*option); |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
160 *option = NULL; |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
161 buf = gtk_entry_get_text(GTK_ENTRY(entry)); |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
162 if (buf && strlen(buf) > 0) |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
163 { |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
164 if (func) |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
165 *option = func(buf); |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
166 else |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
167 *option = g_strdup(buf); |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
168 } |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
169 } |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
170 |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
171 |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
172 static gboolean accel_apply_cb(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
173 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
174 gchar *accel_path, *accel; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
175 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
176 gtk_tree_model_get(model, iter, AE_ACCEL, &accel_path, AE_KEY, &accel, -1); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
177 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
178 if (accel_path && accel_path[0]) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
179 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
180 GtkAccelKey key; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
181 gtk_accelerator_parse(accel, &key.accel_key, &key.accel_mods); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
182 gtk_accel_map_change_entry(accel_path, key.accel_key, key.accel_mods, TRUE); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
183 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
184 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
185 g_free(accel_path); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
186 g_free(accel); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
187 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
188 return FALSE; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
189 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
190 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
191 |
1042
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
192 static void config_window_apply(void) |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
193 { |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
194 gint i; |
1437 | 195 gboolean refresh = FALSE; |
1042
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
196 |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
197 config_entry_to_option(safe_delete_path_entry, &options->file_ops.safe_delete_path, remove_trailing_slash); |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
198 |
356
ba4edae270d6
Rename show_dot_files to show_hidden_files.
Laurent Monin <geeqie@norz.org>
parents:
354
diff
changeset
|
199 if (options->file_filter.show_hidden_files != c_options->file_filter.show_hidden_files) refresh = TRUE; |
373
363117fefc85
Add a new option in Preferences > Filtering to allow the
Laurent Monin <geeqie@norz.org>
parents:
356
diff
changeset
|
200 if (options->file_filter.show_dot_directory != c_options->file_filter.show_dot_directory) refresh = TRUE; |
329
056872a2bdf7
Rename file sorting options.
Laurent Monin <geeqie@norz.org>
parents:
327
diff
changeset
|
201 if (options->file_sort.case_sensitive != c_options->file_sort.case_sensitive) refresh = TRUE; |
332
e0907717f749
Rename file filtering options.
Laurent Monin <geeqie@norz.org>
parents:
330
diff
changeset
|
202 if (options->file_filter.disable != c_options->file_filter.disable) refresh = TRUE; |
9 | 203 |
341
3e0059a55671
Move safe_delete* and in place rename options to file_ops
Laurent Monin <geeqie@norz.org>
parents:
339
diff
changeset
|
204 options->file_ops.confirm_delete = c_options->file_ops.confirm_delete; |
3e0059a55671
Move safe_delete* and in place rename options to file_ops
Laurent Monin <geeqie@norz.org>
parents:
339
diff
changeset
|
205 options->file_ops.enable_delete_key = c_options->file_ops.enable_delete_key; |
3e0059a55671
Move safe_delete* and in place rename options to file_ops
Laurent Monin <geeqie@norz.org>
parents:
339
diff
changeset
|
206 options->file_ops.safe_delete_enable = c_options->file_ops.safe_delete_enable; |
3e0059a55671
Move safe_delete* and in place rename options to file_ops
Laurent Monin <geeqie@norz.org>
parents:
339
diff
changeset
|
207 options->file_ops.safe_delete_folder_maxsize = c_options->file_ops.safe_delete_folder_maxsize; |
1436
13d61fe760fb
completely separated global and layout window options
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1400
diff
changeset
|
208 options->tools_restore_state = c_options->tools_restore_state; |
13d61fe760fb
completely separated global and layout window options
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1400
diff
changeset
|
209 options->save_window_positions = c_options->save_window_positions; |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
210 options->image.zoom_mode = c_options->image.zoom_mode; |
1038
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
211 options->image.scroll_reset_method = c_options->image.scroll_reset_method; |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
212 options->image.zoom_2pass = c_options->image.zoom_2pass; |
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
213 options->image.fit_window_to_image = c_options->image.fit_window_to_image; |
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
214 options->image.limit_window_size = c_options->image.limit_window_size; |
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
215 options->image.zoom_to_fit_allow_expand = c_options->image.zoom_to_fit_allow_expand; |
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
216 options->image.max_window_size = c_options->image.max_window_size; |
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
217 options->image.limit_autofit_size = c_options->image.limit_autofit_size; |
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
218 options->image.max_autofit_size = c_options->image.max_autofit_size; |
321 | 219 options->progressive_key_scrolling = c_options->progressive_key_scrolling; |
1506
6e235e3ba076
Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
Laurent Monin <geeqie@norz.org>
parents:
1443
diff
changeset
|
220 if (options->thumbnails.max_width != c_options->thumbnails.max_width |
6e235e3ba076
Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
Laurent Monin <geeqie@norz.org>
parents:
1443
diff
changeset
|
221 || options->thumbnails.max_height != c_options->thumbnails.max_height |
6e235e3ba076
Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
Laurent Monin <geeqie@norz.org>
parents:
1443
diff
changeset
|
222 || options->thumbnails.quality != c_options->thumbnails.quality) |
6e235e3ba076
Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
Laurent Monin <geeqie@norz.org>
parents:
1443
diff
changeset
|
223 { |
6e235e3ba076
Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
Laurent Monin <geeqie@norz.org>
parents:
1443
diff
changeset
|
224 thumb_format_changed = TRUE; |
6e235e3ba076
Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
Laurent Monin <geeqie@norz.org>
parents:
1443
diff
changeset
|
225 refresh = TRUE; |
6e235e3ba076
Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
Laurent Monin <geeqie@norz.org>
parents:
1443
diff
changeset
|
226 options->thumbnails.max_width = c_options->thumbnails.max_width; |
6e235e3ba076
Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
Laurent Monin <geeqie@norz.org>
parents:
1443
diff
changeset
|
227 options->thumbnails.max_height = c_options->thumbnails.max_height; |
6e235e3ba076
Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
Laurent Monin <geeqie@norz.org>
parents:
1443
diff
changeset
|
228 options->thumbnails.quality = c_options->thumbnails.quality; |
6e235e3ba076
Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
Laurent Monin <geeqie@norz.org>
parents:
1443
diff
changeset
|
229 } |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
230 options->thumbnails.enable_caching = c_options->thumbnails.enable_caching; |
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
231 options->thumbnails.cache_into_dirs = c_options->thumbnails.cache_into_dirs; |
1060
54806f8e4af5
added option to use exif thumbnails
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1055
diff
changeset
|
232 options->thumbnails.use_exif = c_options->thumbnails.use_exif; |
14
38ec1baa05b7
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
John Ellis <johne@verizon.net>
parents:
9
diff
changeset
|
233 #if 0 |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
234 options->thumbnails.use_xvpics = c_options->thumbnails.use_xvpics; |
14
38ec1baa05b7
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
John Ellis <johne@verizon.net>
parents:
9
diff
changeset
|
235 #endif |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
236 options->thumbnails.spec_standard = c_options->thumbnails.spec_standard; |
1208
338afd22a394
added options for metadata - not yet used
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1188
diff
changeset
|
237 options->metadata.enable_metadata_dirs = c_options->metadata.enable_metadata_dirs; |
356
ba4edae270d6
Rename show_dot_files to show_hidden_files.
Laurent Monin <geeqie@norz.org>
parents:
354
diff
changeset
|
238 options->file_filter.show_hidden_files = c_options->file_filter.show_hidden_files; |
373
363117fefc85
Add a new option in Preferences > Filtering to allow the
Laurent Monin <geeqie@norz.org>
parents:
356
diff
changeset
|
239 options->file_filter.show_dot_directory = c_options->file_filter.show_dot_directory; |
363117fefc85
Add a new option in Preferences > Filtering to allow the
Laurent Monin <geeqie@norz.org>
parents:
356
diff
changeset
|
240 |
329
056872a2bdf7
Rename file sorting options.
Laurent Monin <geeqie@norz.org>
parents:
327
diff
changeset
|
241 options->file_sort.case_sensitive = c_options->file_sort.case_sensitive; |
332
e0907717f749
Rename file filtering options.
Laurent Monin <geeqie@norz.org>
parents:
330
diff
changeset
|
242 options->file_filter.disable = c_options->file_filter.disable; |
9 | 243 |
1229
2f11fec715ca
sidecar files grouping was made case-insensitive
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1216
diff
changeset
|
244 config_entry_to_option(sidecar_ext_entry, &options->sidecar.ext, NULL); |
1327
aadde9f46ce9
quoted_value is no longer needed
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1284
diff
changeset
|
245 sidecar_ext_parse(options->sidecar.ext); |
170
34d0013592f5
basic sidecar files configuration via preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
134
diff
changeset
|
246 |
326 | 247 options->slideshow.random = c_options->slideshow.random; |
248 options->slideshow.repeat = c_options->slideshow.repeat; | |
249 options->slideshow.delay = c_options->slideshow.delay; | |
9 | 250 |
321 | 251 options->mousewheel_scrolls = c_options->mousewheel_scrolls; |
9 | 252 |
341
3e0059a55671
Move safe_delete* and in place rename options to file_ops
Laurent Monin <geeqie@norz.org>
parents:
339
diff
changeset
|
253 options->file_ops.enable_in_place_rename = c_options->file_ops.enable_in_place_rename; |
9 | 254 |
330 | 255 options->collections.rectangular_selection = c_options->collections.rectangular_selection; |
9 | 256 |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
257 options->image.tile_cache_max = c_options->image.tile_cache_max; |
848
79fc2c215d64
cache size made configurable
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
825
diff
changeset
|
258 options->image.image_cache_max = c_options->image.image_cache_max; |
442 | 259 |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
260 options->image.zoom_quality = c_options->image.zoom_quality; |
9 | 261 |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
262 options->image.zoom_increment = c_options->image.zoom_increment; |
9 | 263 |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
264 options->image.enable_read_ahead = c_options->image.enable_read_ahead; |
9 | 265 |
1626
63527696d61c
Add an option to Image preferences to restrict custom border to fullscreen mode only. Bug 2798062.
Laurent Monin <geeqie@norz.org>
parents:
1625
diff
changeset
|
266 |
339
4b5f75e97d81
Rename user_specified_window_background and window_background_color
Laurent Monin <geeqie@norz.org>
parents:
338
diff
changeset
|
267 if (options->image.use_custom_border_color != c_options->image.use_custom_border_color |
1644
2b10e2bee592
the options for custom border color were made independent
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1626
diff
changeset
|
268 || options->image.use_custom_border_color_in_fullscreen != c_options->image.use_custom_border_color_in_fullscreen |
339
4b5f75e97d81
Rename user_specified_window_background and window_background_color
Laurent Monin <geeqie@norz.org>
parents:
338
diff
changeset
|
269 || !gdk_color_equal(&options->image.border_color, &c_options->image.border_color)) |
9 | 270 { |
1644
2b10e2bee592
the options for custom border color were made independent
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1626
diff
changeset
|
271 options->image.use_custom_border_color_in_fullscreen = c_options->image.use_custom_border_color_in_fullscreen; |
339
4b5f75e97d81
Rename user_specified_window_background and window_background_color
Laurent Monin <geeqie@norz.org>
parents:
338
diff
changeset
|
272 options->image.use_custom_border_color = c_options->image.use_custom_border_color; |
4b5f75e97d81
Rename user_specified_window_background and window_background_color
Laurent Monin <geeqie@norz.org>
parents:
338
diff
changeset
|
273 options->image.border_color = c_options->image.border_color; |
9 | 274 layout_colors_update(); |
275 view_window_colors_update(); | |
276 } | |
277 | |
322
a4fd6dd48d9b
Rationalize fullscreen options naming.
Laurent Monin <geeqie@norz.org>
parents:
321
diff
changeset
|
278 options->fullscreen.screen = c_options->fullscreen.screen; |
a4fd6dd48d9b
Rationalize fullscreen options naming.
Laurent Monin <geeqie@norz.org>
parents:
321
diff
changeset
|
279 options->fullscreen.clean_flip = c_options->fullscreen.clean_flip; |
a4fd6dd48d9b
Rationalize fullscreen options naming.
Laurent Monin <geeqie@norz.org>
parents:
321
diff
changeset
|
280 options->fullscreen.disable_saver = c_options->fullscreen.disable_saver; |
a4fd6dd48d9b
Rationalize fullscreen options naming.
Laurent Monin <geeqie@norz.org>
parents:
321
diff
changeset
|
281 options->fullscreen.above = c_options->fullscreen.above; |
1336
7fe7536f02e1
fixed overlay configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1327
diff
changeset
|
282 if (c_options->image_overlay.template_string) |
7fe7536f02e1
fixed overlay configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1327
diff
changeset
|
283 set_image_overlay_template_string(&options->image_overlay.template_string, |
7fe7536f02e1
fixed overlay configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1327
diff
changeset
|
284 c_options->image_overlay.template_string); |
733
3cf9cdf1ff65
Modify set_default_image_overlay_template_string() to accept the pointer to
Laurent Monin <geeqie@norz.org>
parents:
730
diff
changeset
|
285 |
321 | 286 options->update_on_time_change = c_options->update_on_time_change; |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
287 options->image.exif_rotate_enable = c_options->image.exif_rotate_enable; |
9 | 288 |
342
de6de19bd03a
Rename dupe_custom_threshold option to duplicates_similarity_threshold.
Laurent Monin <geeqie@norz.org>
parents:
341
diff
changeset
|
289 options->duplicates_similarity_threshold = c_options->duplicates_similarity_threshold; |
9 | 290 |
321 | 291 options->tree_descend_subdirs = c_options->tree_descend_subdirs; |
441
3cc6ee2e3e21
Allow the user to change open_recent_list_maxsize option through
Laurent Monin <geeqie@norz.org>
parents:
426
diff
changeset
|
292 |
3cc6ee2e3e21
Allow the user to change open_recent_list_maxsize option through
Laurent Monin <geeqie@norz.org>
parents:
426
diff
changeset
|
293 options->open_recent_list_maxsize = c_options->open_recent_list_maxsize; |
458
1397463b9c74
Allow the user to set the drag'n drop icon size through
Laurent Monin <geeqie@norz.org>
parents:
446
diff
changeset
|
294 options->dnd_icon_size = c_options->dnd_icon_size; |
497
29dc838f7d6b
Allow the copy of file paths to clipboard.
Laurent Monin <geeqie@norz.org>
parents:
475
diff
changeset
|
295 |
1208
338afd22a394
added options for metadata - not yet used
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1188
diff
changeset
|
296 options->metadata.save_in_image_file = c_options->metadata.save_in_image_file; |
1213
581886171554
show metadata options in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1208
diff
changeset
|
297 options->metadata.save_legacy_IPTC = c_options->metadata.save_legacy_IPTC; |
581886171554
show metadata options in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1208
diff
changeset
|
298 options->metadata.warn_on_write_problems = c_options->metadata.warn_on_write_problems; |
581886171554
show metadata options in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1208
diff
changeset
|
299 options->metadata.save_legacy_format = c_options->metadata.save_legacy_format; |
581886171554
show metadata options in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1208
diff
changeset
|
300 options->metadata.sync_grouped_files = c_options->metadata.sync_grouped_files; |
581886171554
show metadata options in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1208
diff
changeset
|
301 options->metadata.confirm_write = c_options->metadata.confirm_write; |
581886171554
show metadata options in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1208
diff
changeset
|
302 options->metadata.confirm_timeout = c_options->metadata.confirm_timeout; |
1244
eeefa0f10d39
improved metadata preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1239
diff
changeset
|
303 options->metadata.confirm_after_timeout = c_options->metadata.confirm_after_timeout; |
1213
581886171554
show metadata options in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1208
diff
changeset
|
304 options->metadata.confirm_on_image_change = c_options->metadata.confirm_on_image_change; |
581886171554
show metadata options in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1208
diff
changeset
|
305 options->metadata.confirm_on_dir_change = c_options->metadata.confirm_on_dir_change; |
1590
32a63a57690f
use "keywords" instead of "tags" in option name, it is more consistent
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1567
diff
changeset
|
306 options->metadata.keywords_case_sensitive = c_options->metadata.keywords_case_sensitive; |
1567
ef3ca18df43f
added an option to write image orientation to the metadata
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1548
diff
changeset
|
307 options->metadata.write_orientation = c_options->metadata.write_orientation; |
594
b6753f5ee521
Use a dedicated option to enable keywords and comment saving as XMP tags
Laurent Monin <geeqie@norz.org>
parents:
586
diff
changeset
|
308 |
227
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
309 #ifdef DEBUG |
507
7408e89b601d
Move debug macros from main.h to new debug.h.
Laurent Monin <geeqie@norz.org>
parents:
497
diff
changeset
|
310 set_debug_level(debug_c); |
227
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
311 #endif |
9 | 312 |
113
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
313 #ifdef HAVE_LCMS |
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
314 for (i = 0; i < COLOR_PROFILE_INPUTS; i++) |
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
315 { |
1042
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
316 config_entry_to_option(color_profile_input_name_entry[i], &options->color_profile.input_name[i], NULL); |
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
317 config_entry_to_option(color_profile_input_file_entry[i], &options->color_profile.input_file[i], NULL); |
113
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
318 } |
1042
4a5170f2d926
Shorten config_window_apply() a bit, reduce code redunancy.
Laurent Monin <geeqie@norz.org>
parents:
1039
diff
changeset
|
319 config_entry_to_option(color_profile_screen_file_entry, &options->color_profile.screen_file, NULL); |
1548
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
320 options->color_profile.use_x11_screen_profile = c_options->color_profile.use_x11_screen_profile; |
113
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
321 #endif |
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
322 |
1353 | 323 #if 0 |
520
3e3552d1967e
Add missing spaces around equal sign.
Laurent Monin <geeqie@norz.org>
parents:
517
diff
changeset
|
324 for (i = 0; ExifUIList[i].key; i++) |
222
fe6cb572a798
various exif improvements based on patch by Uwe Ohse
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
218
diff
changeset
|
325 { |
fe6cb572a798
various exif improvements based on patch by Uwe Ohse
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
218
diff
changeset
|
326 ExifUIList[i].current = ExifUIList[i].temp; |
fe6cb572a798
various exif improvements based on patch by Uwe Ohse
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
218
diff
changeset
|
327 } |
fe6cb572a798
various exif improvements based on patch by Uwe Ohse
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
218
diff
changeset
|
328 |
1353 | 329 #endif |
26
f1fe26e637e9
Mon Mar 28 20:23:34 2005 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
15
diff
changeset
|
330 image_options_sync(); |
f1fe26e637e9
Mon Mar 28 20:23:34 2005 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
15
diff
changeset
|
331 |
9 | 332 if (refresh) |
333 { | |
334 filter_rebuild(); | |
335 layout_refresh(NULL); | |
336 } | |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
337 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
338 if (accel_store) gtk_tree_model_foreach(GTK_TREE_MODEL(accel_store), accel_apply_cb, NULL); |
9 | 339 } |
340 | |
341 /* | |
342 *----------------------------------------------------------------------------- | |
343 * config window main button callbacks (private) | |
344 *----------------------------------------------------------------------------- | |
442 | 345 */ |
9 | 346 |
347 static void config_window_close_cb(GtkWidget *widget, gpointer data) | |
348 { | |
349 gtk_widget_destroy(configwindow); | |
350 configwindow = NULL; | |
351 filter_store = NULL; | |
352 } | |
353 | |
1443 | 354 static gboolean config_window_delete(GtkWidget *widget, GdkEventAny *event, gpointer data) |
9 | 355 { |
356 config_window_close_cb(NULL, NULL); | |
357 return TRUE; | |
358 } | |
359 | |
360 static void config_window_ok_cb(GtkWidget *widget, gpointer data) | |
361 { | |
362 config_window_apply(); | |
363 config_window_close_cb(NULL, NULL); | |
364 } | |
365 | |
366 static void config_window_apply_cb(GtkWidget *widget, gpointer data) | |
367 { | |
368 config_window_apply(); | |
369 } | |
370 | |
1024
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
371 static void config_window_save_cb(GtkWidget *widget, gpointer data) |
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
372 { |
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
373 config_window_apply(); |
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
374 save_options(options); |
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
375 } |
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
376 |
9 | 377 /* |
378 *----------------------------------------------------------------------------- | |
379 * config window setup (private) | |
380 *----------------------------------------------------------------------------- | |
442 | 381 */ |
9 | 382 |
383 static void quality_menu_cb(GtkWidget *combo, gpointer data) | |
384 { | |
385 gint *option = data; | |
386 | |
387 switch (gtk_combo_box_get_active(GTK_COMBO_BOX(combo))) | |
388 { | |
389 case 0: | |
390 default: | |
391 *option = GDK_INTERP_NEAREST; | |
392 break; | |
393 case 1: | |
394 *option = GDK_INTERP_TILES; | |
395 break; | |
396 case 2: | |
397 *option = GDK_INTERP_BILINEAR; | |
398 break; | |
399 case 3: | |
400 *option = GDK_INTERP_HYPER; | |
401 break; | |
402 } | |
403 } | |
404 | |
405 static void add_quality_menu(GtkWidget *table, gint column, gint row, const gchar *text, | |
1188
d69b18588e19
Fix up sign-related warning.
Laurent Monin <geeqie@norz.org>
parents:
1174
diff
changeset
|
406 guint option, guint *option_c) |
9 | 407 { |
408 GtkWidget *combo; | |
409 gint current = 0; | |
410 | |
411 *option_c = option; | |
412 | |
413 pref_table_label(table, column, row, text, 0.0); | |
414 | |
415 combo = gtk_combo_box_new_text(); | |
416 | |
417 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Nearest (worst, but fastest)")); | |
418 if (option == GDK_INTERP_NEAREST) current = 0; | |
419 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Tiles")); | |
420 if (option == GDK_INTERP_TILES) current = 1; | |
421 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Bilinear")); | |
422 if (option == GDK_INTERP_BILINEAR) current = 2; | |
423 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Hyper (best, but slowest)")); | |
424 if (option == GDK_INTERP_HYPER) current = 3; | |
425 | |
426 gtk_combo_box_set_active(GTK_COMBO_BOX(combo), current); | |
427 | |
428 g_signal_connect(G_OBJECT(combo), "changed", | |
429 G_CALLBACK(quality_menu_cb), option_c); | |
430 | |
431 gtk_table_attach(GTK_TABLE(table), combo, column + 1, column + 2, row, row + 1, | |
113
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
432 GTK_EXPAND | GTK_FILL, 0, 0, 0); |
9 | 433 gtk_widget_show(combo); |
434 } | |
435 | |
436 #if 0 | |
437 static void add_dither_menu(gint option, gint *option_c, gchar *text, GtkWidget *box) | |
438 { | |
439 GtkWidget *hbox; | |
440 GtkWidget *omenu; | |
441 GtkWidget *menu; | |
442 | |
443 *option_c = option; | |
444 | |
445 hbox = pref_box_new(box, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE); | |
446 pref_label_new(hbox, text); | |
447 | |
448 omenu = gtk_option_menu_new(); | |
449 menu = gtk_menu_new(); | |
450 | |
451 add_menu_item(menu, _("None"), option_c, (gint)GDK_RGB_DITHER_NONE); | |
452 add_menu_item(menu, _("Normal"), option_c, (gint)GDK_RGB_DITHER_NORMAL); | |
453 add_menu_item(menu, _("Best"), option_c, (gint)GDK_RGB_DITHER_MAX); | |
454 | |
455 gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu); | |
456 gtk_option_menu_set_history(GTK_OPTION_MENU(omenu), *option_c); | |
457 | |
458 gtk_box_pack_start(GTK_BOX(hbox), omenu, FALSE, FALSE, 0); | |
459 gtk_widget_show(omenu); | |
460 } | |
461 #endif | |
462 | |
463 static void thumb_size_menu_cb(GtkWidget *combo, gpointer data) | |
464 { | |
465 gint n; | |
466 | |
467 n = gtk_combo_box_get_active(GTK_COMBO_BOX(combo)); | |
736
31d858f3272d
Fix signed vs unsigned warnings.
Laurent Monin <geeqie@norz.org>
parents:
733
diff
changeset
|
468 if (n < 0) return; |
9 | 469 |
736
31d858f3272d
Fix signed vs unsigned warnings.
Laurent Monin <geeqie@norz.org>
parents:
733
diff
changeset
|
470 if ((guint) n < sizeof(thumb_size_list) / sizeof(ThumbSize)) |
9 | 471 { |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
472 c_options->thumbnails.max_width = thumb_size_list[n].w; |
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
473 c_options->thumbnails.max_height = thumb_size_list[n].h; |
9 | 474 } |
736
31d858f3272d
Fix signed vs unsigned warnings.
Laurent Monin <geeqie@norz.org>
parents:
733
diff
changeset
|
475 else |
9 | 476 { |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
477 c_options->thumbnails.max_width = options->thumbnails.max_width; |
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
478 c_options->thumbnails.max_height = options->thumbnails.max_height; |
9 | 479 } |
480 } | |
481 | |
482 static void add_thumb_size_menu(GtkWidget *table, gint column, gint row, gchar *text) | |
483 { | |
484 GtkWidget *combo; | |
485 gint current; | |
486 gint i; | |
487 | |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
488 c_options->thumbnails.max_width = options->thumbnails.max_width; |
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
489 c_options->thumbnails.max_height = options->thumbnails.max_height; |
9 | 490 |
491 pref_table_label(table, column, row, text, 0.0); | |
492 | |
493 combo = gtk_combo_box_new_text(); | |
494 | |
495 current = -1; | |
736
31d858f3272d
Fix signed vs unsigned warnings.
Laurent Monin <geeqie@norz.org>
parents:
733
diff
changeset
|
496 for (i = 0; (guint) i < sizeof(thumb_size_list) / sizeof(ThumbSize); i++) |
9 | 497 { |
498 gint w, h; | |
226
6b9e4c9e5596
Fix and simplify thumbnails size combo box related code.
Laurent Monin <geeqie@norz.org>
parents:
225
diff
changeset
|
499 gchar *buf; |
9 | 500 |
501 w = thumb_size_list[i].w; | |
502 h = thumb_size_list[i].h; | |
503 | |
226
6b9e4c9e5596
Fix and simplify thumbnails size combo box related code.
Laurent Monin <geeqie@norz.org>
parents:
225
diff
changeset
|
504 buf = g_strdup_printf("%d x %d", w, h); |
6b9e4c9e5596
Fix and simplify thumbnails size combo box related code.
Laurent Monin <geeqie@norz.org>
parents:
225
diff
changeset
|
505 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), buf); |
6b9e4c9e5596
Fix and simplify thumbnails size combo box related code.
Laurent Monin <geeqie@norz.org>
parents:
225
diff
changeset
|
506 g_free(buf); |
442 | 507 |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
508 if (w == options->thumbnails.max_width && h == options->thumbnails.max_height) current = i; |
9 | 509 } |
510 | |
511 if (current == -1) | |
512 { | |
513 gchar *buf; | |
514 | |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
515 buf = g_strdup_printf("%s %d x %d", _("Custom"), options->thumbnails.max_width, options->thumbnails.max_height); |
9 | 516 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), buf); |
517 g_free(buf); | |
518 | |
226
6b9e4c9e5596
Fix and simplify thumbnails size combo box related code.
Laurent Monin <geeqie@norz.org>
parents:
225
diff
changeset
|
519 current = i; |
9 | 520 } |
521 | |
522 gtk_combo_box_set_active(GTK_COMBO_BOX(combo), current); | |
523 g_signal_connect(G_OBJECT(combo), "changed", | |
524 G_CALLBACK(thumb_size_menu_cb), NULL); | |
525 | |
526 gtk_table_attach(GTK_TABLE(table), combo, column + 1, column + 2, row, row + 1, | |
113
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
527 GTK_EXPAND | GTK_FILL, 0, 0, 0); |
9 | 528 gtk_widget_show(combo); |
529 } | |
530 | |
531 static void filter_store_populate(void) | |
532 { | |
533 GList *work; | |
534 | |
535 if (!filter_store) return; | |
536 | |
537 gtk_list_store_clear(filter_store); | |
538 | |
539 work = filter_get_list(); | |
540 while (work) | |
541 { | |
542 FilterEntry *fe; | |
543 GtkTreeIter iter; | |
544 | |
545 fe = work->data; | |
546 work = work->next; | |
547 | |
548 gtk_list_store_append(filter_store, &iter); | |
549 gtk_list_store_set(filter_store, &iter, 0, fe, -1); | |
550 } | |
551 } | |
552 | |
553 static void filter_store_ext_edit_cb(GtkCellRendererText *cell, gchar *path_str, | |
554 gchar *new_text, gpointer data) | |
555 { | |
556 GtkWidget *model = data; | |
557 FilterEntry *fe = data; | |
558 GtkTreePath *tpath; | |
559 GtkTreeIter iter; | |
560 | |
561 if (!new_text || strlen(new_text) < 1) return; | |
562 | |
563 tpath = gtk_tree_path_new_from_string(path_str); | |
564 gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, tpath); | |
565 gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, 0, &fe, -1); | |
566 | |
567 g_free(fe->extensions); | |
568 fe->extensions = g_strdup(new_text); | |
569 | |
570 gtk_tree_path_free(tpath); | |
571 filter_rebuild(); | |
572 } | |
573 | |
1216
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
574 static void filter_store_class_edit_cb(GtkCellRendererText *cell, gchar *path_str, |
1443 | 575 gchar *new_text, gpointer data) |
1216
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
576 { |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
577 GtkWidget *model = data; |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
578 FilterEntry *fe = data; |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
579 GtkTreePath *tpath; |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
580 GtkTreeIter iter; |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
581 gint i; |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
582 |
1443 | 583 if (!new_text || !new_text[0]) return; |
1216
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
584 |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
585 tpath = gtk_tree_path_new_from_string(path_str); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
586 gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, tpath); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
587 gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, 0, &fe, -1); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
588 |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
589 for (i = 0; i < FILE_FORMAT_CLASSES; i++) |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
590 { |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
591 if (strcmp(new_text, _(format_class_list[i])) == 0) |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
592 { |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
593 fe->file_class = i; |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
594 break; |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
595 } |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
596 } |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
597 |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
598 gtk_tree_path_free(tpath); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
599 filter_rebuild(); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
600 } |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
601 |
9 | 602 static void filter_store_desc_edit_cb(GtkCellRendererText *cell, gchar *path_str, |
603 gchar *new_text, gpointer data) | |
604 { | |
605 GtkWidget *model = data; | |
606 FilterEntry *fe; | |
607 GtkTreePath *tpath; | |
608 GtkTreeIter iter; | |
609 | |
1443 | 610 if (!new_text || !new_text[0]) return; |
9 | 611 |
612 tpath = gtk_tree_path_new_from_string(path_str); | |
613 gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, tpath); | |
614 gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, 0, &fe, -1); | |
615 | |
616 g_free(fe->description); | |
617 fe->description = g_strdup(new_text); | |
618 | |
619 gtk_tree_path_free(tpath); | |
620 } | |
621 | |
622 static void filter_store_enable_cb(GtkCellRendererToggle *renderer, | |
623 gchar *path_str, gpointer data) | |
624 { | |
625 GtkWidget *model = data; | |
626 FilterEntry *fe; | |
627 GtkTreePath *tpath; | |
628 GtkTreeIter iter; | |
629 | |
630 tpath = gtk_tree_path_new_from_string(path_str); | |
631 gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, tpath); | |
632 gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, 0, &fe, -1); | |
633 | |
634 fe->enabled = !fe->enabled; | |
635 | |
636 gtk_tree_path_free(tpath); | |
637 filter_rebuild(); | |
638 } | |
639 | |
1239
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
640 static void filter_store_writable_cb(GtkCellRendererToggle *renderer, |
1443 | 641 gchar *path_str, gpointer data) |
1239
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
642 { |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
643 GtkWidget *model = data; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
644 FilterEntry *fe; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
645 GtkTreePath *tpath; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
646 GtkTreeIter iter; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
647 |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
648 tpath = gtk_tree_path_new_from_string(path_str); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
649 gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, tpath); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
650 gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, 0, &fe, -1); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
651 |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
652 fe->writable = !fe->writable; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
653 if (fe->writable) fe->allow_sidecar = FALSE; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
654 |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
655 gtk_tree_path_free(tpath); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
656 filter_rebuild(); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
657 } |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
658 |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
659 static void filter_store_sidecar_cb(GtkCellRendererToggle *renderer, |
1443 | 660 gchar *path_str, gpointer data) |
1239
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
661 { |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
662 GtkWidget *model = data; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
663 FilterEntry *fe; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
664 GtkTreePath *tpath; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
665 GtkTreeIter iter; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
666 |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
667 tpath = gtk_tree_path_new_from_string(path_str); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
668 gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, tpath); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
669 gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, 0, &fe, -1); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
670 |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
671 fe->allow_sidecar = !fe->allow_sidecar; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
672 if (fe->allow_sidecar) fe->writable = FALSE; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
673 |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
674 gtk_tree_path_free(tpath); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
675 filter_rebuild(); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
676 } |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
677 |
9 | 678 static void filter_set_func(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, |
679 GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) | |
680 { | |
681 FilterEntry *fe; | |
682 | |
683 gtk_tree_model_get(tree_model, iter, 0, &fe, -1); | |
684 | |
1347
84d289bde1ea
Add missing space between switch and first parenthesis.
Laurent Monin <geeqie@norz.org>
parents:
1346
diff
changeset
|
685 switch (GPOINTER_TO_INT(data)) |
9 | 686 { |
687 case FE_ENABLE: | |
688 g_object_set(GTK_CELL_RENDERER(cell), | |
689 "active", fe->enabled, NULL); | |
690 break; | |
691 case FE_EXTENSION: | |
692 g_object_set(GTK_CELL_RENDERER(cell), | |
693 "text", fe->extensions, NULL); | |
694 break; | |
695 case FE_DESCRIPTION: | |
696 g_object_set(GTK_CELL_RENDERER(cell), | |
697 "text", fe->description, NULL); | |
698 break; | |
1216
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
699 case FE_CLASS: |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
700 g_object_set(GTK_CELL_RENDERER(cell), |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
701 "text", _(format_class_list[fe->file_class]), NULL); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
702 break; |
1239
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
703 case FE_WRITABLE: |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
704 g_object_set(GTK_CELL_RENDERER(cell), |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
705 "active", fe->writable, NULL); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
706 break; |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
707 case FE_ALLOW_SIDECAR: |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
708 g_object_set(GTK_CELL_RENDERER(cell), |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
709 "active", fe->allow_sidecar, NULL); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
710 break; |
9 | 711 } |
712 } | |
713 | |
714 static void filter_add_cb(GtkWidget *widget, gpointer data) | |
715 { | |
1239
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
716 filter_add_unique("description", ".new", FORMAT_CLASS_IMAGE, TRUE, FALSE, TRUE); |
9 | 717 filter_store_populate(); |
718 | |
719 /* FIXME: implement the scroll to/select row stuff for tree view */ | |
720 } | |
721 | |
722 static void filter_remove_cb(GtkWidget *widget, gpointer data) | |
723 { | |
724 GtkWidget *filter_view = data; | |
725 GtkTreeSelection *selection; | |
726 GtkTreeIter iter; | |
727 FilterEntry *fe; | |
728 | |
729 if (!filter_store) return; | |
995 | 730 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(filter_view)); |
9 | 731 if (!gtk_tree_selection_get_selected(selection, NULL, &iter)) return; |
732 gtk_tree_model_get(GTK_TREE_MODEL(filter_store), &iter, 0, &fe, -1); | |
733 if (!fe) return; | |
734 | |
735 filter_remove_entry(fe); | |
736 filter_rebuild(); | |
737 filter_store_populate(); | |
738 } | |
739 | |
740 static void filter_default_ok_cb(GenericDialog *gd, gpointer data) | |
741 { | |
742 filter_reset(); | |
743 filter_add_defaults(); | |
744 filter_rebuild(); | |
745 filter_store_populate(); | |
746 } | |
747 | |
748 static void dummy_cancel_cb(GenericDialog *gd, gpointer data) | |
749 { | |
750 /* no op, only so cancel button appears */ | |
751 } | |
752 | |
753 static void filter_default_cb(GtkWidget *widget, gpointer data) | |
754 { | |
755 GenericDialog *gd; | |
756 | |
757 gd = generic_dialog_new(_("Reset filters"), | |
1174
f809d57aed0c
Drop useless wmclass stuff. Gtk will take care of it and as said in the documentation using gtk_window_set_wmclass() is sort of pointless.
Laurent Monin <geeqie@norz.org>
parents:
1060
diff
changeset
|
758 "reset_filter", widget, TRUE, |
9 | 759 dummy_cancel_cb, NULL); |
760 generic_dialog_add_message(gd, GTK_STOCK_DIALOG_QUESTION, _("Reset filters"), | |
761 _("This will reset the file filters to the defaults.\nContinue?")); | |
762 generic_dialog_add_button(gd, GTK_STOCK_OK, NULL, filter_default_ok_cb, TRUE); | |
763 gtk_widget_show(gd->dialog); | |
764 } | |
765 | |
1001
a1f0b2010ca1
Consistency: type * instead of type*.
Laurent Monin <geeqie@norz.org>
parents:
1000
diff
changeset
|
766 static void filter_disable_cb(GtkWidget *widget, gpointer data) |
9 | 767 { |
768 GtkWidget *frame = data; | |
769 | |
770 gtk_widget_set_sensitive(frame, | |
771 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))); | |
772 } | |
773 | |
1001
a1f0b2010ca1
Consistency: type * instead of type*.
Laurent Monin <geeqie@norz.org>
parents:
1000
diff
changeset
|
774 static void safe_delete_view_cb(GtkWidget *widget, gpointer data) |
9 | 775 { |
776 layout_set_path(NULL, gtk_entry_get_text(GTK_ENTRY(safe_delete_path_entry))); | |
777 } | |
778 | |
779 static void safe_delete_clear_ok_cb(GenericDialog *gd, gpointer data) | |
780 { | |
781 file_util_trash_clear(); | |
782 } | |
783 | |
1001
a1f0b2010ca1
Consistency: type * instead of type*.
Laurent Monin <geeqie@norz.org>
parents:
1000
diff
changeset
|
784 static void safe_delete_clear_cb(GtkWidget *widget, gpointer data) |
9 | 785 { |
786 GenericDialog *gd; | |
787 GtkWidget *entry; | |
788 gd = generic_dialog_new(_("Clear trash"), | |
1174
f809d57aed0c
Drop useless wmclass stuff. Gtk will take care of it and as said in the documentation using gtk_window_set_wmclass() is sort of pointless.
Laurent Monin <geeqie@norz.org>
parents:
1060
diff
changeset
|
789 "clear_trash", widget, TRUE, |
9 | 790 dummy_cancel_cb, NULL); |
791 generic_dialog_add_message(gd, GTK_STOCK_DIALOG_QUESTION, _("Clear trash"), | |
792 _("This will remove the trash contents.")); | |
793 generic_dialog_add_button(gd, GTK_STOCK_OK, NULL, safe_delete_clear_ok_cb, TRUE); | |
794 entry = gtk_entry_new(); | |
795 GTK_WIDGET_UNSET_FLAGS(entry, GTK_CAN_FOCUS); | |
796 gtk_editable_set_editable(GTK_EDITABLE(entry), FALSE); | |
341
3e0059a55671
Move safe_delete* and in place rename options to file_ops
Laurent Monin <geeqie@norz.org>
parents:
339
diff
changeset
|
797 if (options->file_ops.safe_delete_path) gtk_entry_set_text(GTK_ENTRY(entry), options->file_ops.safe_delete_path); |
9 | 798 gtk_box_pack_start(GTK_BOX(gd->vbox), entry, FALSE, FALSE, 0); |
799 gtk_widget_show(entry); | |
800 gtk_widget_show(gd->dialog); | |
801 } | |
802 | |
1001
a1f0b2010ca1
Consistency: type * instead of type*.
Laurent Monin <geeqie@norz.org>
parents:
1000
diff
changeset
|
803 static void image_overlay_template_view_changed_cb(GtkWidget *widget, gpointer data) |
218
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
804 { |
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
805 GtkWidget *pTextView; |
1001
a1f0b2010ca1
Consistency: type * instead of type*.
Laurent Monin <geeqie@norz.org>
parents:
1000
diff
changeset
|
806 GtkTextBuffer *pTextBuffer; |
218
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
807 GtkTextIter iStart; |
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
808 GtkTextIter iEnd; |
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
809 |
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
810 pTextView = GTK_WIDGET(data); |
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
811 |
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
812 pTextBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pTextView)); |
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
813 gtk_text_buffer_get_start_iter(pTextBuffer, &iStart); |
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
814 gtk_text_buffer_get_end_iter(pTextBuffer, &iEnd); |
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
815 |
1336
7fe7536f02e1
fixed overlay configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1327
diff
changeset
|
816 set_image_overlay_template_string(&c_options->image_overlay.template_string, |
733
3cf9cdf1ff65
Modify set_default_image_overlay_template_string() to accept the pointer to
Laurent Monin <geeqie@norz.org>
parents:
730
diff
changeset
|
817 gtk_text_buffer_get_text(pTextBuffer, &iStart, &iEnd, TRUE)); |
218
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
818 } |
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
819 |
469
681796421193
Rename few functions and replace fullscreen info with image overlay template string.
Laurent Monin <geeqie@norz.org>
parents:
468
diff
changeset
|
820 static void image_overlay_default_template_ok_cb(GenericDialog *gd, gpointer data) |
354
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
821 { |
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
822 GtkTextView *text_view = data; |
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
823 GtkTextBuffer *buffer; |
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
824 |
1336
7fe7536f02e1
fixed overlay configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1327
diff
changeset
|
825 set_default_image_overlay_template_string(&options->image_overlay.template_string); |
354
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
826 if (!configwindow) return; |
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
827 |
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
828 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view)); |
1336
7fe7536f02e1
fixed overlay configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1327
diff
changeset
|
829 gtk_text_buffer_set_text(buffer, options->image_overlay.template_string, -1); |
354
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
830 } |
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
831 |
469
681796421193
Rename few functions and replace fullscreen info with image overlay template string.
Laurent Monin <geeqie@norz.org>
parents:
468
diff
changeset
|
832 static void image_overlay_default_template_cb(GtkWidget *widget, gpointer data) |
354
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
833 { |
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
834 GenericDialog *gd; |
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
835 |
469
681796421193
Rename few functions and replace fullscreen info with image overlay template string.
Laurent Monin <geeqie@norz.org>
parents:
468
diff
changeset
|
836 gd = generic_dialog_new(_("Reset image overlay template string"), |
1174
f809d57aed0c
Drop useless wmclass stuff. Gtk will take care of it and as said in the documentation using gtk_window_set_wmclass() is sort of pointless.
Laurent Monin <geeqie@norz.org>
parents:
1060
diff
changeset
|
837 "reset_image_overlay_template_string", widget, TRUE, |
354
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
838 dummy_cancel_cb, data); |
469
681796421193
Rename few functions and replace fullscreen info with image overlay template string.
Laurent Monin <geeqie@norz.org>
parents:
468
diff
changeset
|
839 generic_dialog_add_message(gd, GTK_STOCK_DIALOG_QUESTION, _("Reset image overlay template string"), |
681796421193
Rename few functions and replace fullscreen info with image overlay template string.
Laurent Monin <geeqie@norz.org>
parents:
468
diff
changeset
|
840 _("This will reset the image overlay template string to the default.\nContinue?")); |
681796421193
Rename few functions and replace fullscreen info with image overlay template string.
Laurent Monin <geeqie@norz.org>
parents:
468
diff
changeset
|
841 generic_dialog_add_button(gd, GTK_STOCK_OK, NULL, image_overlay_default_template_ok_cb, TRUE); |
354
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
842 gtk_widget_show(gd->dialog); |
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
843 } |
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
844 |
625
96e360e5949d
Add an help button to OSD info configuration in Preferences dialog.
Laurent Monin <geeqie@norz.org>
parents:
597
diff
changeset
|
845 static void image_overlay_help_cb(GtkWidget *widget, gpointer data) |
96e360e5949d
Add an help button to OSD info configuration in Preferences dialog.
Laurent Monin <geeqie@norz.org>
parents:
597
diff
changeset
|
846 { |
96e360e5949d
Add an help button to OSD info configuration in Preferences dialog.
Laurent Monin <geeqie@norz.org>
parents:
597
diff
changeset
|
847 help_window_show("overlay"); |
96e360e5949d
Add an help button to OSD info configuration in Preferences dialog.
Laurent Monin <geeqie@norz.org>
parents:
597
diff
changeset
|
848 } |
354
3f7a136c8ef8
Add a button to reset fullscreen info string to default value.
Laurent Monin <geeqie@norz.org>
parents:
342
diff
changeset
|
849 |
1606
c8789e27b06a
fixed compilation with older gtk
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1601
diff
changeset
|
850 #if GTK_CHECK_VERSION(2, 10, 0) |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
851 static void accel_store_populate(void) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
852 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
853 LayoutWindow *lw; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
854 GList *groups, *actions; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
855 GtkAction *action; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
856 const gchar *accel_path; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
857 GtkAccelKey key; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
858 GtkTreeIter iter; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
859 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
860 if (!accel_store || !layout_window_list || !layout_window_list->data) return; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
861 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
862 gtk_tree_store_clear(accel_store); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
863 lw = layout_window_list->data; /* get the actions from the first window, it should not matter, they should be the same in all windows */ |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
864 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
865 g_assert(lw && lw->ui_manager); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
866 groups = gtk_ui_manager_get_action_groups(lw->ui_manager); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
867 while (groups) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
868 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
869 actions = gtk_action_group_list_actions(GTK_ACTION_GROUP(groups->data)); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
870 while (actions) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
871 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
872 action = GTK_ACTION(actions->data); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
873 accel_path = gtk_action_get_accel_path(action); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
874 if (accel_path && gtk_accel_map_lookup_entry(accel_path, &key)) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
875 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
876 gchar *label, *label2, *tooltip, *accel; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
877 g_object_get(action, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
878 "tooltip", &tooltip, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
879 "label", &label, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
880 NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
881 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
882 if (pango_parse_markup(label, -1, '_', NULL, &label2, NULL, NULL) && label2) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
883 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
884 g_free(label); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
885 label = label2; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
886 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
887 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
888 accel = gtk_accelerator_name(key.accel_key, key.accel_mods); |
1619
504fbd47f515
do not display menus ("FileMenu" etc.) in accelerator configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1606
diff
changeset
|
889 |
504fbd47f515
do not display menus ("FileMenu" etc.) in accelerator configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1606
diff
changeset
|
890 if (tooltip) |
504fbd47f515
do not display menus ("FileMenu" etc.) in accelerator configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1606
diff
changeset
|
891 { |
504fbd47f515
do not display menus ("FileMenu" etc.) in accelerator configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1606
diff
changeset
|
892 gtk_tree_store_append(accel_store, &iter, NULL); |
504fbd47f515
do not display menus ("FileMenu" etc.) in accelerator configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1606
diff
changeset
|
893 gtk_tree_store_set(accel_store, &iter, |
504fbd47f515
do not display menus ("FileMenu" etc.) in accelerator configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1606
diff
changeset
|
894 AE_ACTION, label, |
504fbd47f515
do not display menus ("FileMenu" etc.) in accelerator configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1606
diff
changeset
|
895 AE_KEY, accel, |
504fbd47f515
do not display menus ("FileMenu" etc.) in accelerator configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1606
diff
changeset
|
896 AE_TOOLTIP, tooltip ? tooltip : "", |
504fbd47f515
do not display menus ("FileMenu" etc.) in accelerator configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1606
diff
changeset
|
897 AE_ACCEL, accel_path, |
504fbd47f515
do not display menus ("FileMenu" etc.) in accelerator configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1606
diff
changeset
|
898 -1); |
504fbd47f515
do not display menus ("FileMenu" etc.) in accelerator configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1606
diff
changeset
|
899 } |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
900 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
901 g_free(accel); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
902 g_free(label); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
903 g_free(tooltip); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
904 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
905 actions = actions->next; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
906 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
907 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
908 groups = groups->next; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
909 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
910 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
911 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
912 static void accel_store_cleared_cb(GtkCellRendererAccel *accel, gchar *path_string, gpointer user_data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
913 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
914 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
915 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
916 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
917 static gboolean accel_remove_key_cb(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
918 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
919 gchar *accel1 = data; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
920 gchar *accel2; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
921 GtkAccelKey key1; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
922 GtkAccelKey key2; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
923 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
924 gtk_tree_model_get(model, iter, AE_KEY, &accel2, -1); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
925 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
926 gtk_accelerator_parse(accel1, &key1.accel_key, &key1.accel_mods); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
927 gtk_accelerator_parse(accel2, &key2.accel_key, &key2.accel_mods); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
928 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
929 if (key1.accel_key == key2.accel_key && key1.accel_mods == key2.accel_mods) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
930 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
931 gtk_tree_store_set(accel_store, iter, AE_KEY, "", -1); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
932 DEBUG_1("accelerator key '%s' is already used, removing.", accel1); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
933 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
934 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
935 g_free(accel2); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
936 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
937 return FALSE; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
938 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
939 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
940 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
941 static void accel_store_edited_cb(GtkCellRendererAccel *accel, gchar *path_string, guint accel_key, GdkModifierType accel_mods, guint hardware_keycode, gpointer user_data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
942 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
943 GtkTreeModel *model = (GtkTreeModel *)accel_store; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
944 GtkTreeIter iter; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
945 gchar *acc; |
1664
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
946 gchar *accel_path; |
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
947 GtkAccelKey old_key, key; |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
948 GtkTreePath *path = gtk_tree_path_new_from_string(path_string); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
949 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
950 gtk_tree_model_get_iter(model, &iter, path); |
1664
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
951 gtk_tree_model_get(model, &iter, AE_ACCEL, &accel_path, -1); |
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
952 |
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
953 /* test if the accelerator can be stored without conflicts*/ |
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
954 gtk_accel_map_lookup_entry(accel_path, &old_key); |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
955 |
1664
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
956 /* change the key and read it back (change may fail on keys hardcoded in gtk)*/ |
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
957 gtk_accel_map_change_entry(accel_path, accel_key, accel_mods, TRUE); |
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
958 gtk_accel_map_lookup_entry(accel_path, &key); |
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
959 |
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
960 /* restore the original for now, the key will be really changed when the changes are confirmed */ |
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
961 gtk_accel_map_change_entry(accel_path, old_key.accel_key, old_key.accel_mods, TRUE); |
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
962 |
bb836939160c
test if an accelerator can be stored
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1663
diff
changeset
|
963 acc = gtk_accelerator_name(key.accel_key, key.accel_mods); |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
964 gtk_tree_model_foreach(GTK_TREE_MODEL(accel_store), accel_remove_key_cb, acc); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
965 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
966 gtk_tree_store_set(accel_store, &iter, AE_KEY, acc, -1); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
967 gtk_tree_path_free(path); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
968 g_free(acc); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
969 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
970 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
971 static void accel_default_cb(GtkWidget *widget, gpointer data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
972 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
973 accel_store_populate(); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
974 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
975 /* FIXME: implement the scroll to/select row stuff for tree view */ |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
976 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
977 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
978 void accel_remove_selection(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
979 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
980 gtk_tree_store_set(accel_store, iter, AE_KEY, "", -1); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
981 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
982 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
983 #if 0 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
984 static void accel_remove_cb(GtkWidget *widget, gpointer data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
985 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
986 GtkTreeSelection *selection; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
987 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
988 if (!accel_store) return; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
989 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
990 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
991 gtk_tree_selection_selected_foreach(selection, &accel_remove_selection, NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
992 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
993 #endif |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
994 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
995 void accel_reset_selection(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
996 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
997 GtkAccelKey key; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
998 gchar *accel_path, *accel; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
999 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1000 gtk_tree_model_get(model, iter, AE_ACCEL, &accel_path, -1); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1001 gtk_accel_map_lookup_entry(accel_path, &key); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1002 accel = gtk_accelerator_name(key.accel_key, key.accel_mods); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1003 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1004 gtk_tree_model_foreach(GTK_TREE_MODEL(accel_store), accel_remove_key_cb, accel); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1005 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1006 gtk_tree_store_set(accel_store, iter, AE_KEY, accel, -1); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1007 g_free(accel_path); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1008 g_free(accel); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1009 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1010 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1011 static void accel_reset_cb(GtkWidget *widget, gpointer data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1012 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1013 GtkTreeSelection *selection; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1014 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1015 if (!accel_store) return; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1016 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1017 gtk_tree_selection_selected_foreach(selection, &accel_reset_selection, NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1018 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1019 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1020 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1021 #if 0 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1022 static void accel_alternate_activate_cb(GtkWidget *widget, gpointer data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1023 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1024 gtk_action_activate((GtkAction*)data); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1025 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1026 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1027 #define DUPL "-alt-" |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1028 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1029 void accel_add_alt_selection(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1030 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1031 LayoutWindow *lw; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1032 GList *groups, *actions; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1033 GtkAction *action; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1034 GtkAccelKey key, *key2; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1035 GtkAccelMap *map; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1036 gchar *accel_path2, *accel; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1037 const gchar *accel_path; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1038 gint freeduplnum = 1; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1039 gint len; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1040 GClosure* closure; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1041 GtkAccelGroup *group; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1042 GtkAction *action_new, *action_new2; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1043 gchar *name, *accel_path_new, *accel_path_new2; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1044 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1045 if (!accel_store || !layout_window_list || !layout_window_list->data) return; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1046 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1047 gtk_tree_model_get(model, iter, AE_ACCEL, &accel_path2, -1); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1048 len = strlen(accel_path2); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1049 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1050 gtk_tree_store_clear(accel_store); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1051 lw = layout_window_list->data; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1052 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1053 g_assert(lw && lw->ui_manager); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1054 groups = gtk_ui_manager_get_action_groups(lw->ui_manager); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1055 group = gtk_ui_manager_get_accel_group(lw->ui_manager); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1056 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1057 while (groups) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1058 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1059 actions = gtk_action_group_list_actions(GTK_ACTION_GROUP(groups->data)); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1060 while (actions) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1061 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1062 gchar *dupl; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1063 guint64 num; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1064 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1065 action = GTK_ACTION(actions->data); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1066 actions = actions->next; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1067 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1068 accel_path = gtk_action_get_accel_path(action); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1069 if (!accel_path) continue; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1070 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1071 dupl = g_strrstr(accel_path, DUPL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1072 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1073 printf("D: %s %s %s\n", accel_path, accel_path2, dupl); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1074 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1075 if ((dupl && (len != (dupl - accel_path)) ) || |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1076 g_ascii_strncasecmp(accel_path, accel_path2, len) != 0) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1077 continue; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1078 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1079 if (dupl && (num = g_ascii_strtoull(dupl + strlen(DUPL), NULL, 10)) > 0 && |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1080 num > freeduplnum) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1081 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1082 freeduplnum = num + 1; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1083 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1084 else |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1085 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1086 closure = gtk_action_get_accel_closure(action); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1087 name = gtk_action_get_name(action); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1088 accel_path_new = g_strdup(accel_path); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1089 action_new2 = action; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1090 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1091 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1092 groups = groups->next; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1093 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1094 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1095 action_new = gtk_action_new(name, NULL, NULL, NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1096 gtk_action_set_accel_group(action_new, group); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1097 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1098 g_signal_connect(G_OBJECT(action_new), "activate", |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1099 G_CALLBACK(accel_alternate_activate_cb), action_new2); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1100 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1101 // accel_path_new2 = g_strdup_printf("%s%s%d", accel_path_new, dupl, freeduplnum); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1102 g_free(accel_path_new); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1103 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1104 gtk_action_set_accel_path(action_new, accel_path_new); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1105 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1106 // gtk_tree_store_set(accel_store, iter, AE_KEY, "", -1); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1107 printf("D: %s\n", accel_path_new2); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1108 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1109 g_free(accel_path_new2); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1110 gtk_action_connect_accelerator(action_new); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1111 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1112 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1113 static void accel_add_alt_cb(GtkWidget *widget, gpointer data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1114 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1115 GtkWidget *accel_view = data; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1116 GtkTreeSelection *selection; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1117 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1118 if (!accel_store) return; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1119 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data)); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1120 gtk_tree_selection_selected_foreach(selection, &accel_add_alt_selection, NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1121 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1122 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1123 static void accel_default_ok_cb(GenericDialog *gd, gpointer data) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1124 { |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1125 accel_store_populate(); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1126 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1127 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1128 #endif |
1606
c8789e27b06a
fixed compilation with older gtk
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1601
diff
changeset
|
1129 #endif |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1130 |
1039
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1131 static GtkWidget *scrolled_notebook_page(GtkWidget *notebook, const gchar *title) |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1132 { |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1133 GtkWidget *label; |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1134 GtkWidget *vbox; |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1135 GtkWidget *scrolled; |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1136 GtkWidget *viewport; |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1137 |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1138 scrolled = gtk_scrolled_window_new(NULL, NULL); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1139 gtk_container_set_border_width(GTK_CONTAINER(scrolled), PREF_PAD_BORDER); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1140 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1141 GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1142 label = gtk_label_new(title); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1143 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), scrolled, label); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1144 gtk_widget_show(scrolled); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1145 |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1146 viewport = gtk_viewport_new(NULL, NULL); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1147 gtk_viewport_set_shadow_type(GTK_VIEWPORT(viewport), GTK_SHADOW_NONE); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1148 gtk_container_add(GTK_CONTAINER(scrolled), viewport); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1149 gtk_widget_show(viewport); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1150 |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1151 vbox = gtk_vbox_new(FALSE, 0); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1152 gtk_container_add(GTK_CONTAINER(viewport), vbox); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1153 gtk_widget_show(vbox); |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1154 |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1155 return vbox; |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1156 } |
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1157 |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1158 /* general options tab */ |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1159 static void config_tab_general(GtkWidget *notebook) |
9 | 1160 { |
1161 GtkWidget *vbox; | |
1162 GtkWidget *group; | |
1163 GtkWidget *subgroup; | |
1164 GtkWidget *button; | |
1165 GtkWidget *ct_button; | |
1166 GtkWidget *table; | |
1167 GtkWidget *spin; | |
1168 | |
1039
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1169 vbox = scrolled_notebook_page(notebook, _("General")); |
9 | 1170 |
1171 group = pref_group_new(vbox, FALSE, _("Thumbnails"), GTK_ORIENTATION_VERTICAL); | |
1172 | |
1173 table = pref_table_new(group, 2, 2, FALSE, FALSE); | |
1174 add_thumb_size_menu(table, 0, 0, _("Size:")); | |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
1175 add_quality_menu(table, 0, 1, _("Quality:"), options->thumbnails.quality, &c_options->thumbnails.quality); |
9 | 1176 |
1177 ct_button = pref_checkbox_new_int(group, _("Cache thumbnails"), | |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
1178 options->thumbnails.enable_caching, &c_options->thumbnails.enable_caching); |
9 | 1179 |
1180 subgroup = pref_box_new(group, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP); | |
1181 pref_checkbox_link_sensitivity(ct_button, subgroup); | |
1182 | |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1183 button = pref_checkbox_new_int(subgroup, _("Use standard thumbnail cache, shared with other applications"), |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
1184 options->thumbnails.spec_standard, &c_options->thumbnails.spec_standard); |
9 | 1185 |
1186 subgroup = pref_box_new(subgroup, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP); | |
1187 pref_checkbox_link_sensitivity_swap(button, subgroup); | |
1188 | |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1189 pref_checkbox_new_int(subgroup, _("Store thumbnails in '.thumbnails' folder, local to image folder (non-standard)"), |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
1190 options->thumbnails.cache_into_dirs, &c_options->thumbnails.cache_into_dirs); |
9 | 1191 |
14
38ec1baa05b7
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
John Ellis <johne@verizon.net>
parents:
9
diff
changeset
|
1192 #if 0 |
38ec1baa05b7
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
John Ellis <johne@verizon.net>
parents:
9
diff
changeset
|
1193 pref_checkbox_new_int(subgroup, _("Use xvpics thumbnails when found (read only)"), |
333
1ebdf8fb2c1a
Rename thumbnails related options.
Laurent Monin <geeqie@norz.org>
parents:
332
diff
changeset
|
1194 options->thumbnails.use_xvpics, &c_options->thumbnails.use_xvpics); |
14
38ec1baa05b7
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
John Ellis <johne@verizon.net>
parents:
9
diff
changeset
|
1195 #endif |
38ec1baa05b7
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
John Ellis <johne@verizon.net>
parents:
9
diff
changeset
|
1196 |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1197 pref_checkbox_new_int(group, _("Use EXIF thumbnails when available (EXIF thumbnails may be outdated)"), |
1060
54806f8e4af5
added option to use exif thumbnails
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1055
diff
changeset
|
1198 options->thumbnails.use_exif, &c_options->thumbnails.use_exif); |
54806f8e4af5
added option to use exif thumbnails
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1055
diff
changeset
|
1199 |
9 | 1200 group = pref_group_new(vbox, FALSE, _("Slide show"), GTK_ORIENTATION_VERTICAL); |
1201 | |
326 | 1202 c_options->slideshow.delay = options->slideshow.delay; |
9 | 1203 spin = pref_spin_new(group, _("Delay between image change:"), _("seconds"), |
1204 SLIDESHOW_MIN_SECONDS, SLIDESHOW_MAX_SECONDS, 1.0, 1, | |
1000
07f6093c1c1a
For the sake of consistency, use glib basic types everywhere.
Laurent Monin <geeqie@norz.org>
parents:
995
diff
changeset
|
1205 options->slideshow.delay ? (gdouble)options->slideshow.delay / SLIDESHOW_SUBSECOND_PRECISION : 10.0, |
9 | 1206 G_CALLBACK(slideshow_delay_cb), NULL); |
1207 gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(spin), GTK_UPDATE_ALWAYS); | |
1208 | |
326 | 1209 pref_checkbox_new_int(group, _("Random"), options->slideshow.random, &c_options->slideshow.random); |
1210 pref_checkbox_new_int(group, _("Repeat"), options->slideshow.repeat, &c_options->slideshow.repeat); | |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1211 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1212 group = pref_group_new(vbox, FALSE, _("Image loading and caching"), GTK_ORIENTATION_VERTICAL); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1213 |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1214 #if 0 |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1215 pref_spin_new_int(group, _("Offscreen cache size (Mb per image):"), NULL, |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1216 0, 128, 1, options->image.tile_cache_max, &c_options->image.tile_cache_max); |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1217 #endif |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1218 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1219 pref_spin_new_int(group, _("Decoded image cache size (Mb):"), NULL, |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1220 0, 1024, 1, options->image.image_cache_max, &c_options->image.image_cache_max); |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1221 pref_checkbox_new_int(group, _("Preload next image"), |
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1222 options->image.enable_read_ahead, &c_options->image.enable_read_ahead); |
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1223 |
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1224 pref_checkbox_new_int(group, _("Refresh on file change"), |
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1225 options->update_on_time_change, &c_options->update_on_time_change); |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1226 } |
9 | 1227 |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1228 /* image tab */ |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1229 static void config_tab_image(GtkWidget *notebook) |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1230 { |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1231 GtkWidget *hbox; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1232 GtkWidget *vbox; |
1516
7439fcf0a6d3
improved Scroll reset method in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1515
diff
changeset
|
1233 GtkWidget *vbox2; |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1234 GtkWidget *group; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1235 GtkWidget *button; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1236 GtkWidget *ct_button; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1237 GtkWidget *table; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1238 GtkWidget *spin; |
9 | 1239 |
1039
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1240 vbox = scrolled_notebook_page(notebook, _("Image")); |
9 | 1241 |
1242 group = pref_group_new(vbox, FALSE, _("Zoom"), GTK_ORIENTATION_VERTICAL); | |
1243 | |
1244 #if 0 | |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1245 add_dither_menu(dither_quality, &c_options->image.dither_quality, _("Dithering method:"), group); |
9 | 1246 #endif |
1247 table = pref_table_new(group, 2, 1, FALSE, FALSE); | |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1248 add_quality_menu(table, 0, 0, _("Quality:"), options->image.zoom_quality, &c_options->image.zoom_quality); |
9 | 1249 |
1515
99d03a6f394f
disabled 2-pass rendering also affect color correction
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1513
diff
changeset
|
1250 pref_checkbox_new_int(group, _("Two pass rendering (apply HQ zoom and color correction in second pass)"), |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1251 options->image.zoom_2pass, &c_options->image.zoom_2pass); |
9 | 1252 |
67
40abb746a32e
Fri Oct 13 05:22:43 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
26
diff
changeset
|
1253 pref_checkbox_new_int(group, _("Allow enlargement of image for zoom to fit"), |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1254 options->image.zoom_to_fit_allow_expand, &c_options->image.zoom_to_fit_allow_expand); |
9 | 1255 |
209
ce89a8349d8b
configurable frame around image - geeqie_autofit_maxsize.patch by Laurent MONIN
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
208
diff
changeset
|
1256 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE); |
ce89a8349d8b
configurable frame around image - geeqie_autofit_maxsize.patch by Laurent MONIN
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
208
diff
changeset
|
1257 ct_button = pref_checkbox_new_int(hbox, _("Limit image size when autofitting (%):"), |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1258 options->image.limit_autofit_size, &c_options->image.limit_autofit_size); |
209
ce89a8349d8b
configurable frame around image - geeqie_autofit_maxsize.patch by Laurent MONIN
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
208
diff
changeset
|
1259 spin = pref_spin_new_int(hbox, NULL, NULL, |
ce89a8349d8b
configurable frame around image - geeqie_autofit_maxsize.patch by Laurent MONIN
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
208
diff
changeset
|
1260 10, 150, 1, |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1261 options->image.max_autofit_size, &c_options->image.max_autofit_size); |
209
ce89a8349d8b
configurable frame around image - geeqie_autofit_maxsize.patch by Laurent MONIN
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
208
diff
changeset
|
1262 pref_checkbox_link_sensitivity(ct_button, spin); |
ce89a8349d8b
configurable frame around image - geeqie_autofit_maxsize.patch by Laurent MONIN
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
208
diff
changeset
|
1263 |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1264 c_options->image.zoom_increment = options->image.zoom_increment; |
9 | 1265 spin = pref_spin_new(group, _("Zoom increment:"), NULL, |
1000
07f6093c1c1a
For the sake of consistency, use glib basic types everywhere.
Laurent Monin <geeqie@norz.org>
parents:
995
diff
changeset
|
1266 0.1, 4.0, 0.1, 1, (gdouble)options->image.zoom_increment / 10.0, |
9 | 1267 G_CALLBACK(zoom_increment_cb), NULL); |
1268 gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(spin), GTK_UPDATE_ALWAYS); | |
1269 | |
1516
7439fcf0a6d3
improved Scroll reset method in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1515
diff
changeset
|
1270 group = pref_group_new(vbox, FALSE, _("When new image is selected:"), GTK_ORIENTATION_HORIZONTAL); |
9 | 1271 |
1516
7439fcf0a6d3
improved Scroll reset method in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1515
diff
changeset
|
1272 vbox2 = pref_box_new(group, TRUE, GTK_ORIENTATION_VERTICAL, PREF_PAD_SPACE); |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1273 c_options->image.zoom_mode = options->image.zoom_mode; |
1516
7439fcf0a6d3
improved Scroll reset method in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1515
diff
changeset
|
1274 button = pref_radiobutton_new(vbox2, NULL, _("Zoom to original size"), |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1275 (options->image.zoom_mode == ZOOM_RESET_ORIGINAL), |
1039
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1276 G_CALLBACK(zoom_mode_cb), GINT_TO_POINTER(ZOOM_RESET_ORIGINAL)); |
1516
7439fcf0a6d3
improved Scroll reset method in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1515
diff
changeset
|
1277 button = pref_radiobutton_new(vbox2, button, _("Fit image to window"), |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1278 (options->image.zoom_mode == ZOOM_RESET_FIT_WINDOW), |
1039
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1279 G_CALLBACK(zoom_mode_cb), GINT_TO_POINTER(ZOOM_RESET_FIT_WINDOW)); |
1516
7439fcf0a6d3
improved Scroll reset method in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1515
diff
changeset
|
1280 button = pref_radiobutton_new(vbox2, button, _("Leave Zoom at previous setting"), |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1281 (options->image.zoom_mode == ZOOM_RESET_NONE), |
1039
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1282 G_CALLBACK(zoom_mode_cb), GINT_TO_POINTER(ZOOM_RESET_NONE)); |
9 | 1283 |
1516
7439fcf0a6d3
improved Scroll reset method in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1515
diff
changeset
|
1284 vbox2 = pref_box_new(group, TRUE, GTK_ORIENTATION_VERTICAL, PREF_PAD_SPACE); |
1038
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
1285 c_options->image.scroll_reset_method = options->image.scroll_reset_method; |
1516
7439fcf0a6d3
improved Scroll reset method in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1515
diff
changeset
|
1286 button = pref_radiobutton_new(vbox2, NULL, _("Scroll to top left corner"), |
1038
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
1287 (options->image.scroll_reset_method == SCROLL_RESET_TOPLEFT), |
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
1288 G_CALLBACK(scroll_reset_cb), GINT_TO_POINTER(SCROLL_RESET_TOPLEFT)); |
1516
7439fcf0a6d3
improved Scroll reset method in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1515
diff
changeset
|
1289 button = pref_radiobutton_new(vbox2, button, _("Scroll to image center"), |
1038
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
1290 (options->image.scroll_reset_method == SCROLL_RESET_CENTER), |
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
1291 G_CALLBACK(scroll_reset_cb), GINT_TO_POINTER(SCROLL_RESET_CENTER)); |
1516
7439fcf0a6d3
improved Scroll reset method in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1515
diff
changeset
|
1292 button = pref_radiobutton_new(vbox2, button, _("Keep the region from previous image"), |
1038
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
1293 (options->image.scroll_reset_method == SCROLL_RESET_NOCHANGE), |
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
1294 G_CALLBACK(scroll_reset_cb), GINT_TO_POINTER(SCROLL_RESET_NOCHANGE)); |
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
1295 |
ea23bbd31f75
Allow to change image.scroll_reset_method in Preferences > Image.
Laurent Monin <geeqie@norz.org>
parents:
1024
diff
changeset
|
1296 |
9 | 1297 group = pref_group_new(vbox, FALSE, _("Appearance"), GTK_ORIENTATION_VERTICAL); |
1298 | |
1644
2b10e2bee592
the options for custom border color were made independent
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1626
diff
changeset
|
1299 pref_checkbox_new_int(group, _("Use custom border color in window mode"), |
339
4b5f75e97d81
Rename user_specified_window_background and window_background_color
Laurent Monin <geeqie@norz.org>
parents:
338
diff
changeset
|
1300 options->image.use_custom_border_color, &c_options->image.use_custom_border_color); |
1626
63527696d61c
Add an option to Image preferences to restrict custom border to fullscreen mode only. Bug 2798062.
Laurent Monin <geeqie@norz.org>
parents:
1625
diff
changeset
|
1301 |
1644
2b10e2bee592
the options for custom border color were made independent
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1626
diff
changeset
|
1302 pref_checkbox_new_int(group, _("Use custom border color in fullscreen mode"), |
2b10e2bee592
the options for custom border color were made independent
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1626
diff
changeset
|
1303 options->image.use_custom_border_color_in_fullscreen, &c_options->image.use_custom_border_color_in_fullscreen); |
208
d74cfaa3d146
set user-defined color as image background - patch by Laurent MONIN
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
199
diff
changeset
|
1304 |
339
4b5f75e97d81
Rename user_specified_window_background and window_background_color
Laurent Monin <geeqie@norz.org>
parents:
338
diff
changeset
|
1305 pref_color_button_new(group, _("Border color"), &options->image.border_color, |
4b5f75e97d81
Rename user_specified_window_background and window_background_color
Laurent Monin <geeqie@norz.org>
parents:
338
diff
changeset
|
1306 G_CALLBACK(pref_color_button_set_cb), &c_options->image.border_color); |
9 | 1307 |
1308 group = pref_group_new(vbox, FALSE, _("Convenience"), GTK_ORIENTATION_VERTICAL); | |
1309 | |
1310 pref_checkbox_new_int(group, _("Auto rotate image using Exif information"), | |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1311 options->image.exif_rotate_enable, &c_options->image.exif_rotate_enable); |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1312 } |
9 | 1313 |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1314 /* windows tab */ |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1315 static void config_tab_windows(GtkWidget *notebook) |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1316 { |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1317 GtkWidget *hbox; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1318 GtkWidget *vbox; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1319 GtkWidget *group; |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1320 GtkWidget *button; |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1321 GtkWidget *ct_button; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1322 GtkWidget *spin; |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1323 GtkWidget *image_overlay_template_view; |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1324 GtkWidget *scrolled; |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1325 GtkTextBuffer *buffer; |
9 | 1326 |
1039
205886cbf992
Allow all Preferences pages to scroll vertically. Reduce code redundancy.
Laurent Monin <geeqie@norz.org>
parents:
1038
diff
changeset
|
1327 vbox = scrolled_notebook_page(notebook, _("Windows")); |
9 | 1328 |
1329 group = pref_group_new(vbox, FALSE, _("State"), GTK_ORIENTATION_VERTICAL); | |
1330 | |
1331 pref_checkbox_new_int(group, _("Remember window positions"), | |
1436
13d61fe760fb
completely separated global and layout window options
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1400
diff
changeset
|
1332 options->save_window_positions, &c_options->save_window_positions); |
9 | 1333 pref_checkbox_new_int(group, _("Remember tool state (float/hidden)"), |
1436
13d61fe760fb
completely separated global and layout window options
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1400
diff
changeset
|
1334 options->tools_restore_state, &c_options->tools_restore_state); |
9 | 1335 |
1336 group = pref_group_new(vbox, FALSE, _("Size"), GTK_ORIENTATION_VERTICAL); | |
1337 | |
1338 pref_checkbox_new_int(group, _("Fit window to image when tools are hidden/floating"), | |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1339 options->image.fit_window_to_image, &c_options->image.fit_window_to_image); |
9 | 1340 |
1341 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE); | |
1342 ct_button = pref_checkbox_new_int(hbox, _("Limit size when auto-sizing window (%):"), | |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1343 options->image.limit_window_size, &c_options->image.limit_window_size); |
9 | 1344 spin = pref_spin_new_int(hbox, NULL, NULL, |
1345 10, 150, 1, | |
334
771c179cba77
Rename image-related options.
Laurent Monin <geeqie@norz.org>
parents:
333
diff
changeset
|
1346 options->image.max_window_size, &c_options->image.max_window_size); |
9 | 1347 pref_checkbox_link_sensitivity(ct_button, spin); |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1348 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1349 group = pref_group_new(vbox, FALSE, _("Full screen"), GTK_ORIENTATION_VERTICAL); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1350 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1351 c_options->fullscreen.screen = options->fullscreen.screen; |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1352 c_options->fullscreen.above = options->fullscreen.above; |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1353 hbox = fullscreen_prefs_selection_new(_("Location:"), &c_options->fullscreen.screen, &c_options->fullscreen.above); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1354 gtk_box_pack_start(GTK_BOX(group), hbox, FALSE, FALSE, 0); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1355 gtk_widget_show(hbox); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1356 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1357 pref_checkbox_new_int(group, _("Smooth image flip"), |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1358 options->fullscreen.clean_flip, &c_options->fullscreen.clean_flip); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1359 pref_checkbox_new_int(group, _("Disable screen saver"), |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1360 options->fullscreen.disable_saver, &c_options->fullscreen.disable_saver); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1361 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1362 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1363 group = pref_group_new(vbox, FALSE, _("Overlay Screen Display"), GTK_ORIENTATION_VERTICAL); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1364 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1365 pref_label_new(group, _("Image overlay template")); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1366 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1367 scrolled = gtk_scrolled_window_new(NULL, NULL); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1368 gtk_widget_set_size_request(scrolled, 200, 150); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1369 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1370 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1371 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1372 gtk_box_pack_start(GTK_BOX(group), scrolled, TRUE, TRUE, 5); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1373 gtk_widget_show(scrolled); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1374 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1375 image_overlay_template_view = gtk_text_view_new(); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1376 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1377 #if GTK_CHECK_VERSION(2,12,0) |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1378 gtk_widget_set_tooltip_markup(image_overlay_template_view, |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1379 _("<i>%name%</i> results in the filename of the picture.\n" |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1380 "Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%date%</i>,\n" |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1381 "<i>%size%</i> (filesize), <i>%width%</i>, <i>%height%</i>, <i>%res%</i> (resolution)\n" |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1382 "To access exif data use the exif name, e. g. <i>%formatted.Camera%</i> is the formatted camera name,\n" |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1383 "<i>%Exif.Photo.DateTimeOriginal%</i> the date of the original shot.\n" |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1384 "<i>%formatted.Camera:20</i> notation will truncate the displayed data to 20 characters and will add 3 dots at the end to denote the truncation.\n" |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1385 "If two or more variables are connected with the |-sign, it prints available variables with a separator.\n" |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1386 "<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - 80 mm\",\n" |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1387 "if there's no ISO information in the Exif data.\n" |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1388 "If a line is empty, it is removed. This allows to add lines that totally disappear when no data is available.\n" |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1389 )); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1390 #endif |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1391 gtk_container_add(GTK_CONTAINER(scrolled), image_overlay_template_view); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1392 gtk_widget_show(image_overlay_template_view); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1393 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1394 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1395 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1396 button = pref_button_new(NULL, NULL, _("Defaults"), FALSE, |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1397 G_CALLBACK(image_overlay_default_template_cb), image_overlay_template_view); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1398 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1399 gtk_widget_show(button); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1400 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1401 button = pref_button_new(NULL, GTK_STOCK_HELP, NULL, FALSE, |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1402 G_CALLBACK(image_overlay_help_cb), NULL); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1403 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1404 gtk_widget_show(button); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1405 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1406 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(image_overlay_template_view)); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1407 if (options->image_overlay.template_string) gtk_text_buffer_set_text(buffer, options->image_overlay.template_string, -1); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1408 g_signal_connect(G_OBJECT(buffer), "changed", |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1409 G_CALLBACK(image_overlay_template_view_changed_cb), image_overlay_template_view); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1410 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1411 |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1412 } |
9 | 1413 |
1216
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1414 static GtkTreeModel *create_class_model(void) |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1415 { |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1416 GtkListStore *model; |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1417 GtkTreeIter iter; |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1418 gint i; |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1419 |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1420 /* create list store */ |
1346
b3378273091e
No space between function name and first parenthesis, it eases greping (see CODING).
Laurent Monin <geeqie@norz.org>
parents:
1336
diff
changeset
|
1421 model = gtk_list_store_new(1, G_TYPE_STRING); |
1216
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1422 for (i = 0; i < FILE_FORMAT_CLASSES; i++) |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1423 { |
1346
b3378273091e
No space between function name and first parenthesis, it eases greping (see CODING).
Laurent Monin <geeqie@norz.org>
parents:
1336
diff
changeset
|
1424 gtk_list_store_append(model, &iter); |
1216
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1425 gtk_list_store_set(model, &iter, 0, _(format_class_list[i]), -1); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1426 } |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1427 return GTK_TREE_MODEL (model); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1428 } |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1429 |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1430 |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1431 /* filtering tab */ |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1432 static void config_tab_files(GtkWidget *notebook) |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1433 { |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1434 GtkWidget *hbox; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1435 GtkWidget *frame; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1436 GtkWidget *vbox; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1437 GtkWidget *group; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1438 GtkWidget *button; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1439 GtkWidget *ct_button; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1440 GtkWidget *scrolled; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1441 GtkWidget *filter_view; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1442 GtkCellRenderer *renderer; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1443 GtkTreeSelection *selection; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1444 GtkTreeViewColumn *column; |
9 | 1445 |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1446 vbox = scrolled_notebook_page(notebook, _("Files")); |
9 | 1447 |
1448 group = pref_box_new(vbox, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP); | |
1449 | |
356
ba4edae270d6
Rename show_dot_files to show_hidden_files.
Laurent Monin <geeqie@norz.org>
parents:
354
diff
changeset
|
1450 pref_checkbox_new_int(group, _("Show hidden files or folders"), |
ba4edae270d6
Rename show_dot_files to show_hidden_files.
Laurent Monin <geeqie@norz.org>
parents:
354
diff
changeset
|
1451 options->file_filter.show_hidden_files, &c_options->file_filter.show_hidden_files); |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1452 #if 0 |
373
363117fefc85
Add a new option in Preferences > Filtering to allow the
Laurent Monin <geeqie@norz.org>
parents:
356
diff
changeset
|
1453 pref_checkbox_new_int(group, _("Show dot directory"), |
363117fefc85
Add a new option in Preferences > Filtering to allow the
Laurent Monin <geeqie@norz.org>
parents:
356
diff
changeset
|
1454 options->file_filter.show_dot_directory, &c_options->file_filter.show_dot_directory); |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1455 #endif |
9 | 1456 pref_checkbox_new_int(group, _("Case sensitive sort"), |
329
056872a2bdf7
Rename file sorting options.
Laurent Monin <geeqie@norz.org>
parents:
327
diff
changeset
|
1457 options->file_sort.case_sensitive, &c_options->file_sort.case_sensitive); |
9 | 1458 |
1459 ct_button = pref_checkbox_new_int(group, _("Disable File Filtering"), | |
332
e0907717f749
Rename file filtering options.
Laurent Monin <geeqie@norz.org>
parents:
330
diff
changeset
|
1460 options->file_filter.disable, &c_options->file_filter.disable); |
9 | 1461 |
170
34d0013592f5
basic sidecar files configuration via preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
134
diff
changeset
|
1462 |
34d0013592f5
basic sidecar files configuration via preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
134
diff
changeset
|
1463 group = pref_group_new(vbox, FALSE, _("Grouping sidecar extensions"), GTK_ORIENTATION_VERTICAL); |
34d0013592f5
basic sidecar files configuration via preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
134
diff
changeset
|
1464 |
34d0013592f5
basic sidecar files configuration via preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
134
diff
changeset
|
1465 sidecar_ext_entry = gtk_entry_new(); |
1229
2f11fec715ca
sidecar files grouping was made case-insensitive
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1216
diff
changeset
|
1466 gtk_entry_set_text(GTK_ENTRY(sidecar_ext_entry), options->sidecar.ext); |
170
34d0013592f5
basic sidecar files configuration via preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
134
diff
changeset
|
1467 gtk_box_pack_start(GTK_BOX(group), sidecar_ext_entry, FALSE, FALSE, 0); |
34d0013592f5
basic sidecar files configuration via preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
134
diff
changeset
|
1468 gtk_widget_show(sidecar_ext_entry); |
34d0013592f5
basic sidecar files configuration via preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
134
diff
changeset
|
1469 |
9 | 1470 group = pref_group_new(vbox, TRUE, _("File types"), GTK_ORIENTATION_VERTICAL); |
1471 | |
1472 frame = pref_group_parent(group); | |
1473 g_signal_connect(G_OBJECT(ct_button), "toggled", | |
1474 G_CALLBACK(filter_disable_cb), frame); | |
332
e0907717f749
Rename file filtering options.
Laurent Monin <geeqie@norz.org>
parents:
330
diff
changeset
|
1475 gtk_widget_set_sensitive(frame, !options->file_filter.disable); |
9 | 1476 |
1477 scrolled = gtk_scrolled_window_new(NULL, NULL); | |
1478 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN); | |
513
6743a5928e09
Remove whitespace between function name and first parenthesis for the sake of consistency. (pass 2)
Laurent Monin <geeqie@norz.org>
parents:
512
diff
changeset
|
1479 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
9 | 1480 gtk_box_pack_start(GTK_BOX(group), scrolled, TRUE, TRUE, 0); |
1481 gtk_widget_show(scrolled); | |
1482 | |
1483 filter_store = gtk_list_store_new(1, G_TYPE_POINTER); | |
1484 filter_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(filter_store)); | |
1485 g_object_unref(filter_store); | |
1486 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(filter_view)); | |
1487 gtk_tree_selection_set_mode(GTK_TREE_SELECTION(selection), GTK_SELECTION_SINGLE); | |
1488 | |
1489 gtk_tree_view_set_enable_search(GTK_TREE_VIEW(filter_view), FALSE); | |
1490 | |
1491 column = gtk_tree_view_column_new(); | |
1492 gtk_tree_view_column_set_title(column, _("Filter")); | |
1493 gtk_tree_view_column_set_resizable(column, TRUE); | |
1494 | |
1495 renderer = gtk_cell_renderer_toggle_new(); | |
1496 g_signal_connect(G_OBJECT(renderer), "toggled", | |
1497 G_CALLBACK(filter_store_enable_cb), filter_store); | |
1498 gtk_tree_view_column_pack_start(column, renderer, FALSE); | |
1499 gtk_tree_view_column_set_cell_data_func(column, renderer, filter_set_func, | |
1500 GINT_TO_POINTER(FE_ENABLE), NULL); | |
442 | 1501 |
9 | 1502 renderer = gtk_cell_renderer_text_new(); |
1503 g_signal_connect(G_OBJECT(renderer), "edited", | |
1504 G_CALLBACK(filter_store_ext_edit_cb), filter_store); | |
1505 gtk_tree_view_column_pack_start(column, renderer, TRUE); | |
1506 g_object_set(G_OBJECT(renderer), "editable", (gboolean)TRUE, NULL); | |
1507 gtk_tree_view_column_set_cell_data_func(column, renderer, filter_set_func, | |
1508 GINT_TO_POINTER(FE_EXTENSION), NULL); | |
1509 gtk_tree_view_append_column(GTK_TREE_VIEW(filter_view), column); | |
1510 | |
1511 column = gtk_tree_view_column_new(); | |
1512 gtk_tree_view_column_set_title(column, _("Description")); | |
1513 gtk_tree_view_column_set_resizable(column, TRUE); | |
1514 renderer = gtk_cell_renderer_text_new(); | |
1515 g_signal_connect(G_OBJECT(renderer), "edited", | |
1516 G_CALLBACK(filter_store_desc_edit_cb), filter_store); | |
1517 g_object_set(G_OBJECT(renderer), "editable", (gboolean)TRUE, NULL); | |
1518 gtk_tree_view_column_pack_start(column, renderer, FALSE); | |
1519 gtk_tree_view_column_set_cell_data_func(column, renderer, filter_set_func, | |
1520 GINT_TO_POINTER(FE_DESCRIPTION), NULL); | |
1521 gtk_tree_view_append_column(GTK_TREE_VIEW(filter_view), column); | |
1522 | |
1216
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1523 column = gtk_tree_view_column_new(); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1524 gtk_tree_view_column_set_title(column, _("Class")); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1525 gtk_tree_view_column_set_resizable(column, TRUE); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1526 renderer = gtk_cell_renderer_combo_new(); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1527 g_object_set(G_OBJECT(renderer), "editable", (gboolean)TRUE, |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1528 "model", create_class_model(), |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1529 "text-column", 0, |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1530 "has-entry", FALSE, |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1531 NULL); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1532 |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1533 g_signal_connect(G_OBJECT(renderer), "edited", |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1534 G_CALLBACK(filter_store_class_edit_cb), filter_store); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1535 gtk_tree_view_column_pack_start(column, renderer, TRUE); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1536 gtk_tree_view_column_set_cell_data_func(column, renderer, filter_set_func, |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1537 GINT_TO_POINTER(FE_CLASS), NULL); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1538 gtk_tree_view_append_column(GTK_TREE_VIEW(filter_view), column); |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1539 |
1239
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1540 column = gtk_tree_view_column_new(); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1541 gtk_tree_view_column_set_title(column, _("Writable")); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1542 gtk_tree_view_column_set_resizable(column, FALSE); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1543 renderer = gtk_cell_renderer_toggle_new(); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1544 g_signal_connect(G_OBJECT(renderer), "toggled", |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1545 G_CALLBACK(filter_store_writable_cb), filter_store); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1546 gtk_tree_view_column_pack_start(column, renderer, FALSE); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1547 gtk_tree_view_column_set_cell_data_func(column, renderer, filter_set_func, |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1548 GINT_TO_POINTER(FE_WRITABLE), NULL); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1549 gtk_tree_view_append_column(GTK_TREE_VIEW(filter_view), column); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1550 |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1551 column = gtk_tree_view_column_new(); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1552 gtk_tree_view_column_set_title(column, _("Sidecar is allowed")); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1553 gtk_tree_view_column_set_resizable(column, FALSE); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1554 renderer = gtk_cell_renderer_toggle_new(); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1555 g_signal_connect(G_OBJECT(renderer), "toggled", |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1556 G_CALLBACK(filter_store_sidecar_cb), filter_store); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1557 gtk_tree_view_column_pack_start(column, renderer, FALSE); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1558 gtk_tree_view_column_set_cell_data_func(column, renderer, filter_set_func, |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1559 GINT_TO_POINTER(FE_ALLOW_SIDECAR), NULL); |
bc5046eb10d7
metadata write mode (direct or sidecar) made configurable for each file
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1229
diff
changeset
|
1560 gtk_tree_view_append_column(GTK_TREE_VIEW(filter_view), column); |
1216
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1561 |
fdef686991e6
file class made configurable in preferences
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1213
diff
changeset
|
1562 |
9 | 1563 filter_store_populate(); |
1564 gtk_container_add(GTK_CONTAINER(scrolled), filter_view); | |
1565 gtk_widget_show(filter_view); | |
1566 | |
1567 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP); | |
1568 | |
1569 button = pref_button_new(NULL, NULL, _("Defaults"), FALSE, | |
1570 G_CALLBACK(filter_default_cb), NULL); | |
1571 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
1572 gtk_widget_show(button); | |
1573 | |
1574 button = pref_button_new(NULL, GTK_STOCK_REMOVE, NULL, FALSE, | |
1575 G_CALLBACK(filter_remove_cb), filter_view); | |
1576 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
1577 gtk_widget_show(button); | |
1578 | |
1579 button = pref_button_new(NULL, GTK_STOCK_ADD, NULL, FALSE, | |
1580 G_CALLBACK(filter_add_cb), NULL); | |
1581 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
1582 gtk_widget_show(button); | |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1583 } |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1584 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1585 /* metadata tab */ |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1586 static void config_tab_metadata(GtkWidget *notebook) |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1587 { |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1588 GtkWidget *vbox; |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1589 GtkWidget *hbox; |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1590 GtkWidget *group; |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1591 GtkWidget *ct_button; |
1596
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1592 GtkWidget *label; |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1593 gchar *text; |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1594 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1595 vbox = scrolled_notebook_page(notebook, _("Metadata")); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1596 |
1596
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1597 #ifndef HAVE_EXIV2 |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1598 gtk_widget_set_sensitive(vbox, FALSE); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1599 #endif |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1600 |
1596
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1601 group = pref_group_new(vbox, FALSE, _("Metadata writing process"), GTK_ORIENTATION_VERTICAL); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1602 label = pref_label_new(group, _("Metadata are written in the following order. The process ends after first success.")); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1603 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1604 |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1605 ct_button = pref_checkbox_new_int(group, _("1) Save metadata in image files, resp. sidecar files, according to the XMP standard"), |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1606 options->metadata.save_in_image_file, &c_options->metadata.save_in_image_file); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1607 |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1608 pref_checkbox_new_int(group, _("2) Save metadata in '.metadata' folder, local to image folder (non-standard)"), |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1609 options->metadata.enable_metadata_dirs, &c_options->metadata.enable_metadata_dirs); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1610 |
1596
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1611 text = g_strdup_printf(_("3) Save metadata in Geeqie private directory '%s'"), get_metadata_cache_dir()); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1612 label = pref_label_new(group, text); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1613 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1614 g_free(text); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1615 |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1616 group = pref_group_new(vbox, FALSE, _("Step 1: Write to image files"), GTK_ORIENTATION_VERTICAL); |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1617 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1618 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_SPACE); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1619 pref_checkbox_link_sensitivity(ct_button, hbox); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1620 |
1596
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1621 pref_checkbox_new_int(hbox, _("Store metadata also in legacy IPTC tags (converted according to IPTC4XMP standard)"), |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1622 options->metadata.save_legacy_IPTC, &c_options->metadata.save_legacy_IPTC); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1623 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1624 pref_checkbox_new_int(hbox, _("Warn if the image files are unwritable"), |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1625 options->metadata.warn_on_write_problems, &c_options->metadata.warn_on_write_problems); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1626 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1627 pref_checkbox_new_int(hbox, _("Ask before writing to image files"), |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1628 options->metadata.confirm_write, &c_options->metadata.confirm_write); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1629 |
1596
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1630 group = pref_group_new(vbox, FALSE, _("Step 2 and 3: write to Geeqie private files"), GTK_ORIENTATION_VERTICAL); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1631 |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1632 pref_checkbox_new_int(group, _("Use GQview legacy metadata format (supports only keywords and comments) instead of XMP"), |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1633 options->metadata.save_legacy_format, &c_options->metadata.save_legacy_format); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1634 |
1596
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1635 |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1636 group = pref_group_new(vbox, FALSE, _("Miscellaneous"), GTK_ORIENTATION_VERTICAL); |
1663
c39c4ee5d94c
improved description string
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1644
diff
changeset
|
1637 pref_checkbox_new_int(group, _("Write the same description tags (keywords, comment, etc.) to all grouped sidecars"), |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1638 options->metadata.sync_grouped_files, &c_options->metadata.sync_grouped_files); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1639 |
1596
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1640 pref_checkbox_new_int(group, _("Allow keywords to differ only in case"), |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1641 options->metadata.keywords_case_sensitive, &c_options->metadata.keywords_case_sensitive); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1642 |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1643 pref_checkbox_new_int(group, _("Write altered image orientation to the metadata"), |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1644 options->metadata.write_orientation, &c_options->metadata.write_orientation); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1645 |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1646 group = pref_group_new(vbox, FALSE, _("Auto-save options"), GTK_ORIENTATION_VERTICAL); |
6efbb4b49ab4
added some structure to the metadata preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1590
diff
changeset
|
1647 |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1648 ct_button = pref_checkbox_new_int(group, _("Write metadata after timeout"), |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1649 options->metadata.confirm_after_timeout, &c_options->metadata.confirm_after_timeout); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1650 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1651 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1652 pref_checkbox_link_sensitivity(ct_button, hbox); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1653 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1654 pref_spin_new_int(hbox, _("Timeout (seconds):"), NULL, 0, 900, 1, |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1655 options->metadata.confirm_timeout, &c_options->metadata.confirm_timeout); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1656 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1657 pref_checkbox_new_int(group, _("Write metadata on image change"), |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1658 options->metadata.confirm_on_image_change, &c_options->metadata.confirm_on_image_change); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1659 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1660 pref_checkbox_new_int(group, _("Write metadata on directory change"), |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1661 options->metadata.confirm_on_dir_change, &c_options->metadata.confirm_on_dir_change); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1662 } |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1663 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1664 /* metadata tab */ |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1665 static void config_tab_color(GtkWidget *notebook) |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1666 { |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1667 GtkWidget *label; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1668 GtkWidget *vbox; |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1669 GtkWidget *group; |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1670 GtkWidget *tabcomp; |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1671 GtkWidget *table; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1672 gint i; |
9 | 1673 |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
1674 vbox = scrolled_notebook_page(notebook, _("Color management")); |
9 | 1675 |
1548
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1676 group = pref_group_new(vbox, FALSE, _("Input profiles"), GTK_ORIENTATION_VERTICAL); |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1677 #ifndef HAVE_LCMS |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1678 gtk_widget_set_sensitive(pref_group_parent(group), FALSE); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1679 #endif |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1680 |
1548
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1681 table = pref_table_new(group, 3, COLOR_PROFILE_INPUTS + 1, FALSE, FALSE); |
9 | 1682 gtk_table_set_col_spacings(GTK_TABLE(table), PREF_PAD_GAP); |
1683 | |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1684 label = pref_table_label(table, 0, 0, _("Type"), 0.0); |
9 | 1685 pref_label_bold(label, TRUE, FALSE); |
1686 | |
1687 label = pref_table_label(table, 1, 0, _("Menu name"), 0.0); | |
1688 pref_label_bold(label, TRUE, FALSE); | |
1689 | |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1690 label = pref_table_label(table, 2, 0, _("File"), 0.0); |
9 | 1691 pref_label_bold(label, TRUE, FALSE); |
1692 | |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1693 for (i = 0; i < COLOR_PROFILE_INPUTS; i++) |
9 | 1694 { |
224
bb39a088c56e
Tidy up. Fix indentation and missing whitespaces.
Laurent Monin <geeqie@norz.org>
parents:
223
diff
changeset
|
1695 GtkWidget *entry; |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1696 gchar *buf; |
442 | 1697 |
1625 | 1698 buf = g_strdup_printf(_("Input %d:"), i + COLOR_PROFILE_FILE); |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1699 pref_table_label(table, 0, i + 1, buf, 1.0); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1700 g_free(buf); |
9 | 1701 |
224
bb39a088c56e
Tidy up. Fix indentation and missing whitespaces.
Laurent Monin <geeqie@norz.org>
parents:
223
diff
changeset
|
1702 entry = gtk_entry_new(); |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1703 gtk_entry_set_max_length(GTK_ENTRY(entry), EDITOR_NAME_MAX_LENGTH); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1704 // gtk_widget_set_size_request(editor_name_entry[i], 30, -1); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1705 if (options->color_profile.input_name[i]) |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1706 { |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1707 gtk_entry_set_text(GTK_ENTRY(entry), options->color_profile.input_name[i]); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1708 } |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1709 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, i + 1, i + 2, |
113
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
1710 GTK_FILL | GTK_EXPAND, 0, 0, 0); |
224
bb39a088c56e
Tidy up. Fix indentation and missing whitespaces.
Laurent Monin <geeqie@norz.org>
parents:
223
diff
changeset
|
1711 gtk_widget_show(entry); |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1712 color_profile_input_name_entry[i] = entry; |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1713 |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1714 tabcomp = tab_completion_new(&entry, options->color_profile.input_file[i], NULL, NULL); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1715 tab_completion_add_select_button(entry, _("Select color profile"), FALSE); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1716 gtk_widget_set_size_request(entry, 160, -1); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1717 gtk_table_attach(GTK_TABLE(table), tabcomp, 2, 3, i + 1, i + 2, |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1718 GTK_FILL | GTK_EXPAND, 0, 0, 0); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1719 gtk_widget_show(tabcomp); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1720 color_profile_input_file_entry[i] = entry; |
9 | 1721 } |
1722 | |
1548
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1723 group = pref_group_new(vbox, FALSE, _("Screen profile"), GTK_ORIENTATION_VERTICAL); |
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1724 #ifndef HAVE_LCMS |
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1725 gtk_widget_set_sensitive(pref_group_parent(group), FALSE); |
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1726 #endif |
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1727 pref_checkbox_new_int(group, _("Use system screen profile if available"), |
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1728 options->color_profile.use_x11_screen_profile, &c_options->color_profile.use_x11_screen_profile); |
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1729 |
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1730 table = pref_table_new(group, 2, 1, FALSE, FALSE); |
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1731 |
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1732 pref_table_label(table, 0, 0, _("Screen:"), 1.0); |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1733 tabcomp = tab_completion_new(&color_profile_screen_file_entry, |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1734 options->color_profile.screen_file, NULL, NULL); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1735 tab_completion_add_select_button(color_profile_screen_file_entry, _("Select color profile"), FALSE); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1736 gtk_widget_set_size_request(color_profile_screen_file_entry, 160, -1); |
1548
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1737 gtk_table_attach(GTK_TABLE(table), tabcomp, 1, 2, |
1bd57e730350
support X11 screen profile
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1540
diff
changeset
|
1738 0, 1, |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1739 GTK_FILL | GTK_EXPAND, 0, 0, 0); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1740 gtk_widget_show(tabcomp); |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1741 } |
222
fe6cb572a798
various exif improvements based on patch by Uwe Ohse
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
218
diff
changeset
|
1742 |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1743 /* advanced entry tab */ |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1744 static void config_tab_behavior(GtkWidget *notebook) |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1745 { |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1746 GtkWidget *hbox; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1747 GtkWidget *vbox; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1748 GtkWidget *group; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1749 GtkWidget *button; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1750 GtkWidget *tabcomp; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1751 GtkWidget *ct_button; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1752 GtkWidget *spin; |
218
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
1753 |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
1754 vbox = scrolled_notebook_page(notebook, _("Behavior")); |
218
9ec9947e7682
Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
Laurent Monin <geeqie@norz.org>
parents:
212
diff
changeset
|
1755 |
1685
041cdca65160
Revert "Add pgettext for some ambiguous strings"
Klaus Ethgen <Klaus@Ethgen.de>
parents:
1678
diff
changeset
|
1756 group = pref_group_new(vbox, FALSE, _("Delete"), GTK_ORIENTATION_VERTICAL); |
9 | 1757 |
1758 pref_checkbox_new_int(group, _("Confirm file delete"), | |
341
3e0059a55671
Move safe_delete* and in place rename options to file_ops
Laurent Monin <geeqie@norz.org>
parents:
339
diff
changeset
|
1759 options->file_ops.confirm_delete, &c_options->file_ops.confirm_delete); |
9 | 1760 pref_checkbox_new_int(group, _("Enable Delete key"), |
341
3e0059a55671
Move safe_delete* and in place rename options to file_ops
Laurent Monin <geeqie@norz.org>
parents:
339
diff
changeset
|
1761 options->file_ops.enable_delete_key, &c_options->file_ops.enable_delete_key); |
9 | 1762 |
1763 ct_button = pref_checkbox_new_int(group, _("Safe delete"), | |
341
3e0059a55671
Move safe_delete* and in place rename options to file_ops
Laurent Monin <geeqie@norz.org>
parents:
339
diff
changeset
|
1764 options->file_ops.safe_delete_enable, &c_options->file_ops.safe_delete_enable); |
9 | 1765 |
1766 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE); | |
1767 pref_checkbox_link_sensitivity(ct_button, hbox); | |
1768 | |
1769 pref_spacer(hbox, PREF_PAD_INDENT - PREF_PAD_SPACE); | |
1770 pref_label_new(hbox, _("Folder:")); | |
1771 | |
341
3e0059a55671
Move safe_delete* and in place rename options to file_ops
Laurent Monin <geeqie@norz.org>
parents:
339
diff
changeset
|
1772 tabcomp = tab_completion_new(&safe_delete_path_entry, options->file_ops.safe_delete_path, NULL, NULL); |
9 | 1773 tab_completion_add_select_button(safe_delete_path_entry, NULL, TRUE); |
1774 gtk_box_pack_start(GTK_BOX(hbox), tabcomp, TRUE, TRUE, 0); | |
1775 gtk_widget_show(tabcomp); | |
1776 | |
1777 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP); | |
1778 pref_checkbox_link_sensitivity(ct_button, hbox); | |
1779 | |
1780 pref_spacer(hbox, PREF_PAD_INDENT - PREF_PAD_GAP); | |
223
d4652e8e4239
Setting no limit size to trash directory is now possible using zero as value.
Laurent Monin <geeqie@norz.org>
parents:
222
diff
changeset
|
1781 spin = pref_spin_new_int(hbox, _("Maximum size:"), _("MB"), |
442 | 1782 0, 2048, 1, options->file_ops.safe_delete_folder_maxsize, &c_options->file_ops.safe_delete_folder_maxsize); |
267
e4cf5091eab6
Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
Laurent Monin <geeqie@norz.org>
parents:
257
diff
changeset
|
1783 #if GTK_CHECK_VERSION(2,12,0) |
223
d4652e8e4239
Setting no limit size to trash directory is now possible using zero as value.
Laurent Monin <geeqie@norz.org>
parents:
222
diff
changeset
|
1784 gtk_widget_set_tooltip_markup(spin, _("Set to 0 for unlimited size")); |
267
e4cf5091eab6
Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
Laurent Monin <geeqie@norz.org>
parents:
257
diff
changeset
|
1785 #endif |
9 | 1786 button = pref_button_new(NULL, NULL, _("View"), FALSE, |
1787 G_CALLBACK(safe_delete_view_cb), NULL); | |
1788 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
1789 gtk_widget_show(button); | |
1790 | |
1791 button = pref_button_new(NULL, GTK_STOCK_CLEAR, NULL, FALSE, | |
1792 G_CALLBACK(safe_delete_clear_cb), NULL); | |
1793 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
1794 gtk_widget_show(button); | |
1795 | |
497
29dc838f7d6b
Allow the copy of file paths to clipboard.
Laurent Monin <geeqie@norz.org>
parents:
475
diff
changeset
|
1796 |
9 | 1797 group = pref_group_new(vbox, FALSE, _("Behavior"), GTK_ORIENTATION_VERTICAL); |
1798 | |
1799 pref_checkbox_new_int(group, _("Rectangular selection in icon view"), | |
330 | 1800 options->collections.rectangular_selection, &c_options->collections.rectangular_selection); |
9 | 1801 |
1802 pref_checkbox_new_int(group, _("Descend folders in tree view"), | |
321 | 1803 options->tree_descend_subdirs, &c_options->tree_descend_subdirs); |
9 | 1804 |
1805 pref_checkbox_new_int(group, _("In place renaming"), | |
341
3e0059a55671
Move safe_delete* and in place rename options to file_ops
Laurent Monin <geeqie@norz.org>
parents:
339
diff
changeset
|
1806 options->file_ops.enable_in_place_rename, &c_options->file_ops.enable_in_place_rename); |
9 | 1807 |
441
3cc6ee2e3e21
Allow the user to change open_recent_list_maxsize option through
Laurent Monin <geeqie@norz.org>
parents:
426
diff
changeset
|
1808 pref_spin_new_int(group, _("Open recent list maximum size"), NULL, |
3cc6ee2e3e21
Allow the user to change open_recent_list_maxsize option through
Laurent Monin <geeqie@norz.org>
parents:
426
diff
changeset
|
1809 1, 50, 1, options->open_recent_list_maxsize, &c_options->open_recent_list_maxsize); |
458
1397463b9c74
Allow the user to set the drag'n drop icon size through
Laurent Monin <geeqie@norz.org>
parents:
446
diff
changeset
|
1810 |
1397463b9c74
Allow the user to set the drag'n drop icon size through
Laurent Monin <geeqie@norz.org>
parents:
446
diff
changeset
|
1811 pref_spin_new_int(group, _("Drag'n drop icon size"), NULL, |
1397463b9c74
Allow the user to set the drag'n drop icon size through
Laurent Monin <geeqie@norz.org>
parents:
446
diff
changeset
|
1812 16, 256, 16, options->dnd_icon_size, &c_options->dnd_icon_size); |
441
3cc6ee2e3e21
Allow the user to change open_recent_list_maxsize option through
Laurent Monin <geeqie@norz.org>
parents:
426
diff
changeset
|
1813 |
9 | 1814 group = pref_group_new(vbox, FALSE, _("Navigation"), GTK_ORIENTATION_VERTICAL); |
1815 | |
1816 pref_checkbox_new_int(group, _("Progressive keyboard scrolling"), | |
321 | 1817 options->progressive_key_scrolling, &c_options->progressive_key_scrolling); |
9 | 1818 pref_checkbox_new_int(group, _("Mouse wheel scrolls image"), |
321 | 1819 options->mousewheel_scrolls, &c_options->mousewheel_scrolls); |
9 | 1820 |
1213
581886171554
show metadata options in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1208
diff
changeset
|
1821 group = pref_group_new(vbox, FALSE, _("Miscellaneous"), GTK_ORIENTATION_VERTICAL); |
581886171554
show metadata options in preferences dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1208
diff
changeset
|
1822 |
9 | 1823 pref_spin_new_int(group, _("Custom similarity threshold:"), NULL, |
1188
d69b18588e19
Fix up sign-related warning.
Laurent Monin <geeqie@norz.org>
parents:
1174
diff
changeset
|
1824 0, 100, 1, options->duplicates_similarity_threshold, (int *)&c_options->duplicates_similarity_threshold); |
9 | 1825 |
113
f2109493004f
Fri Nov 24 21:37:01 2006 John Ellis <johne@verizon.net>
John Ellis <johne@verizon.net>
parents:
91
diff
changeset
|
1826 |
227
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
1827 #ifdef DEBUG |
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
1828 group = pref_group_new(vbox, FALSE, _("Debugging"), GTK_ORIENTATION_VERTICAL); |
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
1829 |
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
1830 pref_spin_new_int(group, _("Debug level:"), NULL, |
507
7408e89b601d
Move debug macros from main.h to new debug.h.
Laurent Monin <geeqie@norz.org>
parents:
497
diff
changeset
|
1831 DEBUG_LEVEL_MIN, DEBUG_LEVEL_MAX, 1, get_debug_level(), &debug_c); |
227
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
1832 #endif |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1833 } |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1834 |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1835 /* accelerators tab */ |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1836 static void config_tab_accelerators(GtkWidget *notebook) |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1837 { |
1606
c8789e27b06a
fixed compilation with older gtk
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1601
diff
changeset
|
1838 #if GTK_CHECK_VERSION(2, 10, 0) |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1839 GtkWidget *hbox; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1840 GtkWidget *vbox; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1841 GtkWidget *group; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1842 GtkWidget *button; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1843 GtkWidget *scrolled; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1844 GtkWidget *accel_view; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1845 GtkCellRenderer *renderer; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1846 GtkTreeSelection *selection; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1847 GtkTreeViewColumn *column; |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1848 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1849 vbox = scrolled_notebook_page(notebook, _("Keyboard")); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1850 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1851 group = pref_group_new(vbox, TRUE, _("Accelerators"), GTK_ORIENTATION_VERTICAL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1852 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1853 scrolled = gtk_scrolled_window_new(NULL, NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1854 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1855 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1856 gtk_box_pack_start(GTK_BOX(group), scrolled, TRUE, TRUE, 0); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1857 gtk_widget_show(scrolled); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1858 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1859 accel_store = gtk_tree_store_new(4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1860 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1861 accel_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(accel_store)); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1862 g_object_unref(accel_store); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1863 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(accel_view)); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1864 gtk_tree_selection_set_mode(GTK_TREE_SELECTION(selection), GTK_SELECTION_MULTIPLE); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1865 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1866 gtk_tree_view_set_enable_search(GTK_TREE_VIEW(accel_view), FALSE); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1867 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1868 renderer = gtk_cell_renderer_text_new(); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1869 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1870 column = gtk_tree_view_column_new_with_attributes(_("Action"), |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1871 renderer, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1872 "text", AE_ACTION, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1873 NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1874 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1875 gtk_tree_view_column_set_sort_column_id(column, AE_ACTION); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1876 gtk_tree_view_column_set_resizable(column, TRUE); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1877 gtk_tree_view_append_column(GTK_TREE_VIEW(accel_view), column); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1878 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1879 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1880 renderer = gtk_cell_renderer_accel_new(); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1881 g_signal_connect(G_OBJECT(renderer), "accel-cleared", |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1882 G_CALLBACK(accel_store_cleared_cb), accel_store); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1883 g_signal_connect(G_OBJECT(renderer), "accel-edited", |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1884 G_CALLBACK(accel_store_edited_cb), accel_store); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1885 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1886 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1887 g_object_set (renderer, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1888 "editable", TRUE, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1889 "accel-mode", GTK_CELL_RENDERER_ACCEL_MODE_OTHER, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1890 NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1891 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1892 column = gtk_tree_view_column_new_with_attributes(_("KEY"), |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1893 renderer, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1894 "text", AE_KEY, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1895 NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1896 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1897 gtk_tree_view_column_set_sort_column_id(column, AE_KEY); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1898 gtk_tree_view_column_set_resizable(column, TRUE); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1899 gtk_tree_view_append_column(GTK_TREE_VIEW(accel_view), column); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1900 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1901 renderer = gtk_cell_renderer_text_new(); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1902 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1903 column = gtk_tree_view_column_new_with_attributes(_("Tooltip"), |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1904 renderer, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1905 "text", AE_TOOLTIP, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1906 NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1907 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1908 gtk_tree_view_column_set_sort_column_id(column, AE_TOOLTIP); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1909 gtk_tree_view_column_set_resizable(column, TRUE); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1910 gtk_tree_view_append_column(GTK_TREE_VIEW(accel_view), column); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1911 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1912 renderer = gtk_cell_renderer_text_new(); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1913 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1914 column = gtk_tree_view_column_new_with_attributes("Accel", |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1915 renderer, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1916 "text", AE_ACCEL, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1917 NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1918 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1919 gtk_tree_view_column_set_sort_column_id(column, AE_ACCEL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1920 gtk_tree_view_column_set_resizable(column, TRUE); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1921 gtk_tree_view_append_column(GTK_TREE_VIEW(accel_view), column); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1922 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1923 accel_store_populate(); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1924 gtk_container_add(GTK_CONTAINER(scrolled), accel_view); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1925 gtk_widget_show(accel_view); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1926 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1927 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1928 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1929 button = pref_button_new(NULL, NULL, _("Defaults"), FALSE, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1930 G_CALLBACK(accel_default_cb), NULL); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1931 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1932 gtk_widget_show(button); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1933 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1934 #if 0 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1935 button = pref_button_new(NULL, GTK_STOCK_REMOVE, NULL, FALSE, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1936 G_CALLBACK(accel_remove_cb), accel_view); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1937 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1938 gtk_widget_show(button); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1939 #endif |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1940 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1941 button = pref_button_new(NULL, NULL, _("Reset selected"), FALSE, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1942 G_CALLBACK(accel_reset_cb), accel_view); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1943 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1944 gtk_widget_show(button); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1945 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1946 #if 0 |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1947 button = pref_button_new(NULL, _("Add Alt"), NULL, FALSE, |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1948 G_CALLBACK(accel_add_alt_cb), accel_view); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1949 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1950 gtk_widget_show(button); |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1951 #endif |
1606
c8789e27b06a
fixed compilation with older gtk
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1601
diff
changeset
|
1952 #endif |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1953 } |
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
1954 |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1955 /* Main preferences window */ |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1956 static void config_window_create(void) |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1957 { |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1958 GtkWidget *win_vbox; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1959 GtkWidget *hbox; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1960 GtkWidget *notebook; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1961 GtkWidget *button; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1962 GtkWidget *ct_button; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1963 |
321 | 1964 if (!c_options) c_options = init_options(NULL); |
318
e8261920c720
Add a new struct ConfOptions to handle options.
Laurent Monin <geeqie@norz.org>
parents:
298
diff
changeset
|
1965 |
289
d4d7e7aa0d88
Simplify and unify gtk_window creation with the help of
Laurent Monin <geeqie@norz.org>
parents:
288
diff
changeset
|
1966 configwindow = window_new(GTK_WINDOW_TOPLEVEL, "preferences", PIXBUF_INLINE_ICON_CONFIG, NULL, _("Preferences")); |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1967 gtk_window_set_type_hint(GTK_WINDOW(configwindow), GDK_WINDOW_TYPE_HINT_DIALOG); |
513
6743a5928e09
Remove whitespace between function name and first parenthesis for the sake of consistency. (pass 2)
Laurent Monin <geeqie@norz.org>
parents:
512
diff
changeset
|
1968 g_signal_connect(G_OBJECT(configwindow), "delete_event", |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1969 G_CALLBACK(config_window_delete), NULL); |
442 | 1970 gtk_window_set_default_size(GTK_WINDOW(configwindow), CONFIG_WINDOW_DEF_WIDTH, CONFIG_WINDOW_DEF_HEIGHT); |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1971 gtk_window_set_resizable(GTK_WINDOW(configwindow), TRUE); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1972 gtk_container_set_border_width(GTK_CONTAINER(configwindow), PREF_PAD_BORDER); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1973 |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1974 win_vbox = gtk_vbox_new(FALSE, PREF_PAD_SPACE); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1975 gtk_container_add(GTK_CONTAINER(configwindow), win_vbox); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1976 gtk_widget_show(win_vbox); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1977 |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1978 hbox = gtk_hbutton_box_new(); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1979 gtk_button_box_set_layout(GTK_BUTTON_BOX(hbox), GTK_BUTTONBOX_END); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1980 gtk_box_set_spacing(GTK_BOX(hbox), PREF_PAD_BUTTON_GAP); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1981 gtk_box_pack_end(GTK_BOX(win_vbox), hbox, FALSE, FALSE, 0); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1982 gtk_widget_show(hbox); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1983 |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1984 button = pref_button_new(NULL, GTK_STOCK_OK, NULL, FALSE, |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1985 G_CALLBACK(config_window_ok_cb), NULL); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1986 gtk_container_add(GTK_CONTAINER(hbox), button); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1987 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1988 gtk_widget_grab_default(button); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1989 gtk_widget_show(button); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1990 |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1991 ct_button = button; |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1992 |
1024
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
1993 button = pref_button_new(NULL, GTK_STOCK_SAVE, NULL, FALSE, |
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
1994 G_CALLBACK(config_window_save_cb), NULL); |
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
1995 gtk_container_add(GTK_CONTAINER(hbox), button); |
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
1996 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); |
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
1997 gtk_widget_show(button); |
32e69d16dc5c
Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
Laurent Monin <geeqie@norz.org>
parents:
1001
diff
changeset
|
1998 |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
1999 button = pref_button_new(NULL, GTK_STOCK_APPLY, NULL, FALSE, |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2000 G_CALLBACK(config_window_apply_cb), NULL); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2001 gtk_container_add(GTK_CONTAINER(hbox), button); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2002 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2003 gtk_widget_show(button); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2004 |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2005 button = pref_button_new(NULL, GTK_STOCK_CANCEL, NULL, FALSE, |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2006 G_CALLBACK(config_window_close_cb), NULL); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2007 gtk_container_add(GTK_CONTAINER(hbox), button); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2008 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2009 gtk_widget_show(button); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2010 |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2011 if (!generic_dialog_get_alternative_button_order(configwindow)) |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2012 { |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2013 gtk_box_reorder_child(GTK_BOX(hbox), ct_button, -1); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2014 } |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2015 |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2016 notebook = gtk_notebook_new(); |
512
0896f486ec6f
Remove whitespace between function name and first parenthesis for the sake of consistency.
Laurent Monin <geeqie@norz.org>
parents:
507
diff
changeset
|
2017 gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_TOP); |
230
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2018 gtk_box_pack_start(GTK_BOX(win_vbox), notebook, TRUE, TRUE, 0); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2019 |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2020 config_tab_general(notebook); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2021 config_tab_image(notebook); |
ab6b27690d45
Move tabs code from config_window_create() to new smaller functions.
Laurent Monin <geeqie@norz.org>
parents:
227
diff
changeset
|
2022 config_tab_windows(notebook); |
1601
102d767de670
added keyboard configuration dialog
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1599
diff
changeset
|
2023 config_tab_accelerators(notebook); |
1522
4f9d5c5d36b4
re-ordered some options, improved descriptions
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1521
diff
changeset
|
2024 config_tab_files(notebook); |
1510
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
2025 config_tab_metadata(notebook); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
2026 config_tab_color(notebook); |
e03e7beeea30
moved options from Advanced tab to other tabs
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1506
diff
changeset
|
2027 config_tab_behavior(notebook); |
227
8c04a55c0229
Add a debug level spinner at the end of Preferences > Advanced.
Laurent Monin <geeqie@norz.org>
parents:
226
diff
changeset
|
2028 |
9 | 2029 gtk_widget_show(notebook); |
2030 | |
2031 gtk_widget_show(configwindow); | |
2032 } | |
2033 | |
2034 /* | |
2035 *----------------------------------------------------------------------------- | |
2036 * config window show (public) | |
2037 *----------------------------------------------------------------------------- | |
442 | 2038 */ |
9 | 2039 |
2040 void show_config_window(void) | |
2041 { | |
2042 if (configwindow) | |
2043 { | |
2044 gtk_window_present(GTK_WINDOW(configwindow)); | |
2045 return; | |
2046 } | |
2047 | |
2048 config_window_create(); | |
2049 } | |
2050 | |
2051 /* | |
2052 *----------------- | |
2053 * about window | |
2054 *----------------- | |
2055 */ | |
2056 | |
2057 static GtkWidget *about = NULL; | |
2058 | |
1443 | 2059 static gboolean about_delete_cb(GtkWidget *widget, GdkEventAny *event, gpointer data) |
9 | 2060 { |
2061 gtk_widget_destroy(about); | |
2062 about = NULL; | |
2063 | |
2064 return TRUE; | |
2065 } | |
2066 | |
2067 static void about_window_close(GtkWidget *widget, gpointer data) | |
2068 { | |
2069 if (!about) return; | |
2070 | |
2071 gtk_widget_destroy(about); | |
2072 about = NULL; | |
2073 } | |
2074 | |
2075 static void about_credits_cb(GtkWidget *widget, gpointer data) | |
2076 { | |
2077 help_window_show("credits"); | |
2078 } | |
2079 | |
2080 void show_about_window(void) | |
2081 { | |
2082 GtkWidget *vbox; | |
2083 GtkWidget *hbox; | |
2084 GtkWidget *label; | |
2085 GtkWidget *button; | |
2086 GdkPixbuf *pixbuf; | |
2087 | |
2088 gchar *buf; | |
2089 | |
2090 if (about) | |
2091 { | |
2092 gtk_window_present(GTK_WINDOW(about)); | |
2093 return; | |
2094 } | |
2095 | |
289
d4d7e7aa0d88
Simplify and unify gtk_window creation with the help of
Laurent Monin <geeqie@norz.org>
parents:
288
diff
changeset
|
2096 about = window_new(GTK_WINDOW_TOPLEVEL, "about", NULL, NULL, _("About")); |
9 | 2097 gtk_window_set_type_hint(GTK_WINDOW(about), GDK_WINDOW_TYPE_HINT_DIALOG); |
2098 g_signal_connect(G_OBJECT(about), "delete_event", | |
2099 G_CALLBACK(about_delete_cb), NULL); | |
2100 | |
2101 gtk_container_set_border_width(GTK_CONTAINER(about), PREF_PAD_BORDER); | |
2102 | |
2103 vbox = gtk_vbox_new(FALSE, PREF_PAD_SPACE); | |
2104 gtk_container_add(GTK_CONTAINER(about), vbox); | |
2105 gtk_widget_show(vbox); | |
2106 | |
2107 pixbuf = pixbuf_inline(PIXBUF_INLINE_LOGO); | |
2108 button = gtk_image_new_from_pixbuf(pixbuf); | |
2109 g_object_unref(pixbuf); | |
2110 gtk_box_pack_start(GTK_BOX(vbox), button, TRUE, TRUE, 0); | |
2111 gtk_widget_show(button); | |
2112 | |
475
baa9658ddd9f
updated copyright in source files
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
469
diff
changeset
|
2113 buf = g_strdup_printf(_("%s %s\n\nCopyright (c) 2006 John Ellis\nCopyright (c) %s The Geeqie Team\nwebsite: %s\nemail: %s\n\nReleased under the GNU General Public License"), |
288
e675073bcca0
Replace occurences of Geeqie / geeqie by constants defined in main.h.
Laurent Monin <geeqie@norz.org>
parents:
283
diff
changeset
|
2114 GQ_APPNAME, |
9 | 2115 VERSION, |
1284
5cb31602f595
Add year 2009 to copyright info everywhere.
Laurent Monin <geeqie@norz.org>
parents:
1272
diff
changeset
|
2116 "2008 - 2009", |
288
e675073bcca0
Replace occurences of Geeqie / geeqie by constants defined in main.h.
Laurent Monin <geeqie@norz.org>
parents:
283
diff
changeset
|
2117 GQ_WEBSITE, |
e675073bcca0
Replace occurences of Geeqie / geeqie by constants defined in main.h.
Laurent Monin <geeqie@norz.org>
parents:
283
diff
changeset
|
2118 GQ_EMAIL_ADDRESS); |
9 | 2119 label = gtk_label_new(buf); |
2120 g_free(buf); | |
2121 | |
2122 gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_CENTER); | |
2123 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); | |
2124 gtk_widget_show(label); | |
2125 | |
2126 hbox = gtk_hbutton_box_new(); | |
2127 gtk_button_box_set_layout(GTK_BUTTON_BOX(hbox), GTK_BUTTONBOX_END); | |
2128 gtk_box_set_spacing(GTK_BOX(hbox), PREF_PAD_BUTTON_GAP); | |
2129 gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
2130 gtk_widget_show(hbox); | |
2131 | |
2132 button = pref_button_new(NULL, NULL, _("Credits..."), FALSE, | |
2133 G_CALLBACK(about_credits_cb), NULL); | |
2134 gtk_container_add(GTK_CONTAINER(hbox), button); | |
2135 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); | |
2136 gtk_widget_show(button); | |
2137 | |
2138 button = pref_button_new(NULL, GTK_STOCK_CLOSE, NULL, FALSE, | |
2139 G_CALLBACK(about_window_close), NULL); | |
2140 gtk_container_add(GTK_CONTAINER(hbox), button); | |
2141 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); | |
2142 gtk_widget_grab_default(button); | |
2143 gtk_widget_show(button); | |
2144 | |
2145 gtk_widget_show(about); | |
2146 } | |
1055
4bbdfab3c89a
Adding a vim modeline to all files - patch by Klaus Ethgen
Vladimir Nadvornik <nadvornik@suse.cz>
parents:
1053
diff
changeset
|
2147 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ |