annotate src/preferences.c @ 1685:47b191b77e07

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