annotate src/preferences.c @ 15:3263965d5f9e

##### Note: GQview CVS on sourceforge is not always up to date, please use ##### ##### an offical release when making enhancements and translation updates. ##### Thu Mar 3 14:24:58 2005 John Ellis <johne@verizon.net> * filelist.c, info.c, preferences.c, utilops.c: Use doubles instead of floats whenever possible. * ui_utildlg.c (generic_dialog_add_message): Enable line wrap for message body so specifying newlines is no longer needed. * pan-view.c: Display info dialog when thumbnail caching settings are not optimal.
author gqview
date Thu, 03 Mar 2005 19:32:48 +0000
parents 25335c62cd9b
children acd9885ebd78
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 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2 * GQview
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
3 * (C) 2004 John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
4 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
5 * Author: John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
6 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
7 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
8 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
9 * 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
10 */
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 #include "gqview.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
14 #include "preferences.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
15
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
16 #include "cache_maint.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
17 #include "editors.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
18 #include "filelist.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
19 #include "fullscreen.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
20 #include "img-view.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
21 #include "layout_config.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
22 #include "layout_util.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
23 #include "pixbuf_util.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
24 #include "slideshow.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
25 #include "utilops.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
26 #include "ui_fileops.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
27 #include "ui_misc.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
28 #include "ui_tabcomp.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
29 #include "ui_utildlg.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
30
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
31 #include "icons/config.xpm"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
32
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
33 #include <math.h>
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
34
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
35
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
36 #define EDITOR_NAME_MAX_LENGTH 32
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
37 #define EDITOR_COMMAND_MAX_LENGTH 1024
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
38
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
39
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
40 typedef struct _ThumbSize ThumbSize;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
41 struct _ThumbSize
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 gint w;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
44 gint h;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
45 };
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 static ThumbSize thumb_size_list[] =
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
48 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
49 { 24, 24 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
50 { 32, 32 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
51 { 48, 48 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
52 { 64, 64 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
53 { 96, 72 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
54 { 96, 96 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
55 { 128, 96 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
56 { 128, 128 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
57 { 160, 120 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
58 { 160, 160 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
59 { 192, 144 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
60 { 192, 192 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
61 { 256, 192 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
62 { 256, 256 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
63 };
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
64
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
65 enum {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
66 FE_ENABLE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
67 FE_EXTENSION,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
68 FE_DESCRIPTION
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
69 };
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
70
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
71 /* config memory values */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
72 static gint startup_path_enable_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
73 static gint confirm_delete_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
74 static gint enable_delete_key_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
75 static gint safe_delete_enable_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
76 static gint safe_delete_size_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
77 static gint restore_tool_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
78 static gint save_window_positions_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
79 static gint zoom_mode_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
80 static gint two_pass_zoom_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
81 static gint fit_window_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
82 static gint limit_window_size_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
83 static gint zoom_to_fit_expands_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
84 static gint max_window_size_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
85 static gint progressive_key_scrolling_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
86 static gint thumb_max_width_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
87 static gint thumb_max_height_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
88 static gint enable_thumb_caching_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
89 static gint enable_thumb_dirs_c;
14
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
90 static gint thumbnail_fast_c;
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
91 #if 0
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
92 static gint use_xvpics_thumbnails_c;
14
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
93 #endif
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
94 static gint thumbnail_spec_standard_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
95 static gint enable_metadata_dirs_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
96 static gint show_dot_files_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
97 static gint file_filter_disable_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
98 static gint file_sort_case_sensitive_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
99 static gint slideshow_delay_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
100 static gint slideshow_random_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
101 static gint slideshow_repeat_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
102
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
103 static gint mousewheel_scrolls_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
104
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
105 static gint enable_in_place_rename_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
106
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
107 static gint collection_rectangular_selection_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
108
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
109 static gint tile_cache_max_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
110
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
111 static gint thumbnail_quality_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
112 static gint zoom_quality_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
113
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
114 static gint zoom_increment_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
115
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
116 static gint enable_read_ahead_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
117
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
118 static gint black_window_background_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
119
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
120 static gint fullscreen_screen_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
121 static gint fullscreen_clean_flip_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
122 static gint fullscreen_disable_saver_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
123 static gint fullscreen_above_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
124
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
125 static gint dupe_custom_threshold_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
126
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
127 static GtkWidget *configwindow = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
128 static GtkWidget *startup_path_entry;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
129 static GtkListStore *filter_store = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
130 static GtkWidget *editor_name_entry[GQVIEW_EDITOR_SLOTS];
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
131 static GtkWidget *editor_command_entry[GQVIEW_EDITOR_SLOTS];
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
132
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
133 static GtkWidget *layout_widget;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
134
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
135 static GtkWidget *safe_delete_path_entry;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
136
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
137 static gint tree_descend_subdirs_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
138
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
139 static gint update_on_time_change_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
140 static gint exif_rotate_enable_c;
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 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
144 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
145 * option widget callbacks (private)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
146 *-----------------------------------------------------------------------------
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 static void startup_path_set_current(GtkWidget *widget, gpointer data)
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 gtk_entry_set_text(GTK_ENTRY(startup_path_entry), layout_get_path(NULL));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
152 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
153
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
154 static void zoom_mode_original_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
155 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
156 if (GTK_TOGGLE_BUTTON (widget)->active)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
157 zoom_mode_c = ZOOM_RESET_ORIGINAL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
158 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
159
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
160 static void zoom_mode_fit_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
161 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
162 if (GTK_TOGGLE_BUTTON (widget)->active)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
163 zoom_mode_c = ZOOM_RESET_FIT_WINDOW;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
164 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
165
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
166 static void zoom_mode_none_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
167 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
168 if (GTK_TOGGLE_BUTTON (widget)->active)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
169 zoom_mode_c = ZOOM_RESET_NONE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
170 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
171
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
172 static void zoom_increment_cb(GtkWidget *spin, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
173 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
174 zoom_increment_c = (gint)(gtk_spin_button_get_value(GTK_SPIN_BUTTON(spin)) * 10.0 + 0.01);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
175 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
176
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
177 static void slideshow_delay_cb(GtkWidget *spin, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
178 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
179 slideshow_delay_c = (gint)(gtk_spin_button_get_value(GTK_SPIN_BUTTON(spin)) *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
180 (double)SLIDESHOW_SUBSECOND_PRECISION + 0.01);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
181 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
182
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
183 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
184 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
185 * sync progam to config window routine (private)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
186 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
187 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
188
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
189 static void config_window_apply(void)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
190 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
191 const gchar *buf;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
192 gchar *l_conf;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
193 gint new_style;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
194 gint i;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
195 gint refresh = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
196
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
197 for(i = 0; i < GQVIEW_EDITOR_SLOTS; i++)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
198 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
199 g_free(editor_name[i]);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
200 editor_name[i] = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
201 buf = gtk_entry_get_text(GTK_ENTRY(editor_name_entry[i]));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
202 if (buf && strlen(buf) > 0) editor_name[i] = g_strdup(buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
203
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
204 g_free(editor_command[i]);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
205 editor_command[i] = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
206 buf = gtk_entry_get_text(GTK_ENTRY(editor_command_entry[i]));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
207 if (buf && strlen(buf) > 0) editor_command[i] = g_strdup(buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
208 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
209 layout_edit_update_all();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
210
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
211 g_free(startup_path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
212 startup_path = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
213 buf = gtk_entry_get_text(GTK_ENTRY(startup_path_entry));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
214 if (buf && strlen(buf) > 0) startup_path = remove_trailing_slash(buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
215
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
216 g_free(safe_delete_path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
217 safe_delete_path = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
218 buf = gtk_entry_get_text(GTK_ENTRY(safe_delete_path_entry));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
219 if (buf && strlen(buf) > 0) safe_delete_path = remove_trailing_slash(buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
220
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
221 if (show_dot_files != show_dot_files_c) refresh = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
222 if (file_sort_case_sensitive != file_sort_case_sensitive_c) refresh = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
223 if (file_filter_disable != file_filter_disable_c) refresh = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
224
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
225 startup_path_enable = startup_path_enable_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
226 confirm_delete = confirm_delete_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
227 enable_delete_key = enable_delete_key_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
228 safe_delete_enable = safe_delete_enable_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
229 safe_delete_size = safe_delete_size_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
230 restore_tool = restore_tool_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
231 save_window_positions = save_window_positions_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
232 zoom_mode = zoom_mode_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
233 two_pass_zoom = two_pass_zoom_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
234 fit_window = fit_window_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
235 limit_window_size = limit_window_size_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
236 zoom_to_fit_expands = zoom_to_fit_expands_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
237 max_window_size = max_window_size_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
238 progressive_key_scrolling = progressive_key_scrolling_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
239 thumb_max_width = thumb_max_width_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
240 thumb_max_height = thumb_max_height_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
241 enable_thumb_caching = enable_thumb_caching_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
242 enable_thumb_dirs = enable_thumb_dirs_c;
14
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
243 thumbnail_fast = thumbnail_fast_c;
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
244 #if 0
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
245 use_xvpics_thumbnails = use_xvpics_thumbnails_c;
14
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
246 #endif
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
247 thumbnail_spec_standard = thumbnail_spec_standard_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
248 enable_metadata_dirs = enable_metadata_dirs_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
249 show_dot_files = show_dot_files_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
250 file_sort_case_sensitive = file_sort_case_sensitive_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
251 file_filter_disable = file_filter_disable_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
252
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
253 slideshow_random = slideshow_random_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
254 slideshow_repeat = slideshow_repeat_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
255 slideshow_delay = slideshow_delay_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
256
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
257 mousewheel_scrolls = mousewheel_scrolls_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
258
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
259 enable_in_place_rename = enable_in_place_rename_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
260
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
261 collection_rectangular_selection = collection_rectangular_selection_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
262
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
263 tile_cache_max = tile_cache_max_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
264
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
265 thumbnail_quality = thumbnail_quality_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
266 zoom_quality = zoom_quality_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
267
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
268 zoom_increment = zoom_increment_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
269
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
270 enable_read_ahead = enable_read_ahead_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
271
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
272 if (black_window_background != black_window_background_c)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
273 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
274 black_window_background = black_window_background_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
275
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
276 layout_colors_update();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
277 view_window_colors_update();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
278 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
279
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
280 fullscreen_screen = fullscreen_screen_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
281 fullscreen_clean_flip = fullscreen_clean_flip_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
282 fullscreen_disable_saver = fullscreen_disable_saver_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
283 fullscreen_above = fullscreen_above_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
284
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
285 update_on_time_change = update_on_time_change_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
286 exif_rotate_enable = exif_rotate_enable_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
287
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
288 dupe_custom_threshold = dupe_custom_threshold_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
289
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
290 tree_descend_subdirs = tree_descend_subdirs_c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
291
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
292 l_conf = layout_config_get(layout_widget, &new_style);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
293
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
294 if (new_style != layout_style ||
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
295 (l_conf == NULL) != (layout_order == NULL) ||
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
296 !layout_order ||
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
297 strcmp(buf, layout_order) != 0)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
298 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
299 if (refresh) filter_rebuild();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
300 refresh = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
301
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
302 g_free(layout_order);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
303 layout_order = l_conf;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
304 l_conf = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
305
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
306 layout_style = new_style;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
307
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
308 layout_styles_update();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
309 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
310
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
311 g_free(l_conf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
312
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
313 if (refresh)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
314 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
315 filter_rebuild();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
316 layout_refresh(NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
317 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
318 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
319
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
320 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
321 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
322 * config window main button callbacks (private)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
323 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
324 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
325
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
326 static void config_window_close_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
327 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
328 gtk_widget_destroy(configwindow);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
329 configwindow = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
330 filter_store = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
331 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
332
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
333 static gint config_window_delete(GtkWidget *w, GdkEventAny *event, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
334 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
335 config_window_close_cb(NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
336 return TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
337 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
338
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
339 static void config_window_ok_cb(GtkWidget *widget, gpointer data)
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 config_window_apply();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
342 config_window_close_cb(NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
343 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
344
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
345 static void config_window_apply_cb(GtkWidget *widget, gpointer data)
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 config_window_apply();
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
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
350 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
351 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
352 * config window setup (private)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
353 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
354 */
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 static void quality_menu_cb(GtkWidget *combo, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
357 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
358 gint *option = data;
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 switch (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)))
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 case 0:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
363 default:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
364 *option = GDK_INTERP_NEAREST;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
365 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
366 case 1:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
367 *option = GDK_INTERP_TILES;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
368 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
369 case 2:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
370 *option = GDK_INTERP_BILINEAR;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
371 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
372 case 3:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
373 *option = GDK_INTERP_HYPER;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
374 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
375 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
376 }
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 static void add_quality_menu(GtkWidget *table, gint column, gint row, const gchar *text,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
379 gint option, gint *option_c)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
380 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
381 GtkWidget *combo;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
382 gint current = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
383
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
384 *option_c = option;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
385
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
386 pref_table_label(table, column, row, text, 0.0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
387
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
388 combo = gtk_combo_box_new_text();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
389
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
390 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
391 if (option == GDK_INTERP_NEAREST) current = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
392 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Tiles"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
393 if (option == GDK_INTERP_TILES) current = 1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
394 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Bilinear"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
395 if (option == GDK_INTERP_BILINEAR) current = 2;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
396 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
397 if (option == GDK_INTERP_HYPER) current = 3;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
398
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
399 gtk_combo_box_set_active(GTK_COMBO_BOX(combo), current);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
400
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
401 g_signal_connect(G_OBJECT(combo), "changed",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
402 G_CALLBACK(quality_menu_cb), option_c);
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 gtk_table_attach(GTK_TABLE(table), combo, column + 1, column + 2, row, row + 1,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
405 GTK_EXPAND | GTK_FILL, FALSE, 0, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
406 gtk_widget_show(combo);
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
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
409 #if 0
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
410 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
411 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
412 GtkWidget *hbox;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
413 GtkWidget *omenu;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
414 GtkWidget *menu;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
415
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
416 *option_c = option;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
417
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
418 hbox = pref_box_new(box, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
419 pref_label_new(hbox, text);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
420
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
421 omenu = gtk_option_menu_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
422 menu = gtk_menu_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
423
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
424 add_menu_item(menu, _("None"), option_c, (gint)GDK_RGB_DITHER_NONE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
425 add_menu_item(menu, _("Normal"), option_c, (gint)GDK_RGB_DITHER_NORMAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
426 add_menu_item(menu, _("Best"), option_c, (gint)GDK_RGB_DITHER_MAX);
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 gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
429 gtk_option_menu_set_history(GTK_OPTION_MENU(omenu), *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_box_pack_start(GTK_BOX(hbox), omenu, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
432 gtk_widget_show(omenu);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
433 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
434 #endif
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 static void thumb_size_menu_cb(GtkWidget *combo, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
437 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
438 gint n;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
439
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
440 n = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
441
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
442 if (n >= 0 && n < sizeof(thumb_size_list) / sizeof(ThumbSize))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
443 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
444 thumb_max_width_c = thumb_size_list[n].w;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
445 thumb_max_height_c = thumb_size_list[n].h;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
446 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
447 else if (n > 0)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
448 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
449 thumb_max_width_c = thumb_max_width;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
450 thumb_max_height_c = thumb_max_height;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
451 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
452 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
453
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
454 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
455 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
456 GtkWidget *combo;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
457 gint current;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
458 gint last_w, last_h;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
459 gint i;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
460 gint c;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
461
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
462 thumb_max_width_c = thumb_max_width;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
463 thumb_max_height_c = thumb_max_height;
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 pref_table_label(table, column, row, text, 0.0);
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 combo = gtk_combo_box_new_text();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
468
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
469 last_w = last_h = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
470 current = -1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
471 i = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
472 c = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
473 while (c)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
474 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
475 gint w, h;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
476
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
477 w = thumb_size_list[i].w;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
478 h = thumb_size_list[i].h;
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 if ( w > 0 && h > 0)
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 gchar *buf;
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 buf = g_strdup_printf("%d x %d", w, h);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
485 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
486 g_free(buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
487
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
488 if (w == thumb_max_width && h == thumb_max_height) current = i;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
489
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
490 last_w = w;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
491 last_h = h;
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 else
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 c = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
496 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
497 i++;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
498 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
499
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
500 if (current == -1)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
501 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
502 gchar *buf;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
503
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
504 buf = g_strdup_printf("%s %d x %d", _("Custom"), thumb_max_width, thumb_max_height);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
505 gtk_combo_box_append_text(GTK_COMBO_BOX(combo), buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
506 g_free(buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
507
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
508 current = i - 1;
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 gtk_combo_box_set_active(GTK_COMBO_BOX(combo), current);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
512 g_signal_connect(G_OBJECT(combo), "changed",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
513 G_CALLBACK(thumb_size_menu_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
514
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
515 gtk_table_attach(GTK_TABLE(table), combo, column + 1, column + 2, row, row + 1,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
516 GTK_EXPAND | GTK_FILL, FALSE, 0, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
517 gtk_widget_show(combo);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
518 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
519
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
520 static void filter_store_populate(void)
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 GList *work;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
523
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
524 if (!filter_store) return;
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_list_store_clear(filter_store);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
527
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
528 work = filter_get_list();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
529 while (work)
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 FilterEntry *fe;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
532 GtkTreeIter iter;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
533
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
534 fe = work->data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
535 work = work->next;
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_append(filter_store, &iter);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
538 gtk_list_store_set(filter_store, &iter, 0, fe, -1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
539 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
540 }
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 static void filter_store_ext_edit_cb(GtkCellRendererText *cell, gchar *path_str,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
543 gchar *new_text, gpointer data)
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 GtkWidget *model = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
546 FilterEntry *fe = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
547 GtkTreePath *tpath;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
548 GtkTreeIter iter;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
549
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
550 if (!new_text || strlen(new_text) < 1) return;
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 tpath = gtk_tree_path_new_from_string(path_str);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
553 gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, tpath);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
554 gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, 0, &fe, -1);
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 g_free(fe->extensions);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
557 fe->extensions = g_strdup(new_text);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
558
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
559 gtk_tree_path_free(tpath);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
560 filter_rebuild();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
561 }
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 static void filter_store_desc_edit_cb(GtkCellRendererText *cell, gchar *path_str,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
564 gchar *new_text, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
565 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
566 GtkWidget *model = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
567 FilterEntry *fe;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
568 GtkTreePath *tpath;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
569 GtkTreeIter iter;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
570
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
571 if (!new_text || strlen(new_text) < 1) return;
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 tpath = gtk_tree_path_new_from_string(path_str);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
574 gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, tpath);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
575 gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, 0, &fe, -1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
576
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
577 g_free(fe->description);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
578 fe->description = g_strdup(new_text);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
579
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
580 gtk_tree_path_free(tpath);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
581 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
582
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
583 static void filter_store_enable_cb(GtkCellRendererToggle *renderer,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
584 gchar *path_str, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
585 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
586 GtkWidget *model = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
587 FilterEntry *fe;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
588 GtkTreePath *tpath;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
589 GtkTreeIter iter;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
590
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
591 tpath = gtk_tree_path_new_from_string(path_str);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
592 gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, tpath);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
593 gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, 0, &fe, -1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
594
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
595 fe->enabled = !fe->enabled;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
596
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
597 gtk_tree_path_free(tpath);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
598 filter_rebuild();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
599 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
600
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
601 static void filter_set_func(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
602 GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
603 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
604 FilterEntry *fe;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
605
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
606 gtk_tree_model_get(tree_model, iter, 0, &fe, -1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
607
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
608 switch(GPOINTER_TO_INT(data))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
609 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
610 case FE_ENABLE:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
611 g_object_set(GTK_CELL_RENDERER(cell),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
612 "active", fe->enabled, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
613 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
614 case FE_EXTENSION:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
615 g_object_set(GTK_CELL_RENDERER(cell),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
616 "text", fe->extensions, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
617 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
618 case FE_DESCRIPTION:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
619 g_object_set(GTK_CELL_RENDERER(cell),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
620 "text", fe->description, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
621 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
622 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
623 }
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 static void filter_add_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
626 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
627 filter_add_unique("description", ".new", TRUE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
628 filter_store_populate();
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 /* FIXME: implement the scroll to/select row stuff for tree view */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
631 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
632
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
633 static void filter_remove_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
634 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
635 GtkWidget *filter_view = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
636 GtkTreeSelection *selection;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
637 GtkTreeIter iter;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
638 FilterEntry *fe;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
639
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
640 if (!filter_store) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
641 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(filter_view));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
642 if (!gtk_tree_selection_get_selected(selection, NULL, &iter)) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
643 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
644 if (!fe) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
645
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
646 filter_remove_entry(fe);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
647 filter_rebuild();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
648 filter_store_populate();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
649 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
650
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
651 static void filter_default_ok_cb(GenericDialog *gd, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
652 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
653 filter_reset();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
654 filter_add_defaults();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
655 filter_rebuild();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
656 filter_store_populate();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
657 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
658
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
659 static void dummy_cancel_cb(GenericDialog *gd, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
660 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
661 /* no op, only so cancel button appears */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
662 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
663
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
664 static void filter_default_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
665 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
666 GenericDialog *gd;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
667
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
668 gd = generic_dialog_new(_("Reset filters"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
669 "GQview", "reset_filter", widget, TRUE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
670 dummy_cancel_cb, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
671 generic_dialog_add_message(gd, GTK_STOCK_DIALOG_QUESTION, _("Reset filters"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
672 _("This will reset the file filters to the defaults.\nContinue?"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
673 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
674 gtk_widget_show(gd->dialog);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
675 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
676
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
677 static void filter_disable_cb(GtkWidget* widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
678 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
679 GtkWidget *frame = 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 gtk_widget_set_sensitive(frame,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
682 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
683 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
684
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
685 static void editor_default_ok_cb(GenericDialog *gd, gpointer data)
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 gint i;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
688
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
689 editor_reset_defaults();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
690 if (!configwindow) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
691
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
692 for (i = 0; i < GQVIEW_EDITOR_SLOTS; i++)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
693 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
694 gtk_entry_set_text(GTK_ENTRY(editor_name_entry[i]),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
695 (editor_name[i]) ? editor_name[i] : "");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
696 gtk_entry_set_text(GTK_ENTRY(editor_command_entry[i]),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
697 (editor_command[i]) ? editor_command[i] : "");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
698 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
699 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
700
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
701 static void editor_default_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
702 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
703 GenericDialog *gd;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
704
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
705 gd = generic_dialog_new(_("Reset editors"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
706 "GQview", "reset_filter", widget, TRUE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
707 dummy_cancel_cb, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
708 generic_dialog_add_message(gd, GTK_STOCK_DIALOG_QUESTION, _("Reset editors"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
709 _("This will reset the edit commands to the defaults.\nContinue?"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
710 generic_dialog_add_button(gd, GTK_STOCK_OK, NULL, editor_default_ok_cb, TRUE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
711 gtk_widget_show(gd->dialog);
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 editor_help_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
715 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
716 help_window_show("editors");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
717 }
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 static void safe_delete_view_cb(GtkWidget* widget, gpointer data)
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 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
722 }
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 static void safe_delete_clear_ok_cb(GenericDialog *gd, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
725 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
726 file_util_trash_clear();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
727 }
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 static void safe_delete_clear_cb(GtkWidget* widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
730 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
731 GenericDialog *gd;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
732 GtkWidget *entry;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
733 gd = generic_dialog_new(_("Clear trash"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
734 "GQview", "clear_trash", widget, TRUE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
735 dummy_cancel_cb, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
736 generic_dialog_add_message(gd, GTK_STOCK_DIALOG_QUESTION, _("Clear trash"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
737 _("This will remove the trash contents."));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
738 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
739 entry = gtk_entry_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
740 GTK_WIDGET_UNSET_FLAGS(entry, GTK_CAN_FOCUS);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
741 gtk_editable_set_editable(GTK_EDITABLE(entry), FALSE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
742 if (safe_delete_path) gtk_entry_set_text(GTK_ENTRY(entry), safe_delete_path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
743 gtk_box_pack_start(GTK_BOX(gd->vbox), entry, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
744 gtk_widget_show(entry);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
745 gtk_widget_show(gd->dialog);
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 config_window_create(void)
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 GtkWidget *win_vbox;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
751 GtkWidget *hbox;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
752 GtkWidget *notebook;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
753 GtkWidget *frame;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
754 GtkWidget *label;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
755 GtkWidget *vbox;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
756 GtkWidget *group;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
757 GtkWidget *subgroup;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
758 GtkWidget *button;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
759 GtkWidget *tabcomp;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
760 GtkWidget *ct_button;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
761 GtkWidget *table;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
762 GtkWidget *spin;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
763 GtkWidget *scrolled;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
764 GtkWidget *viewport;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
765 GtkWidget *filter_view;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
766 GtkCellRenderer *renderer;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
767 GtkTreeSelection *selection;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
768 GtkTreeViewColumn *column;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
769 gint i;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
770
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
771 configwindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
772 gtk_window_set_type_hint(GTK_WINDOW(configwindow), GDK_WINDOW_TYPE_HINT_DIALOG);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
773 g_signal_connect(G_OBJECT (configwindow), "delete_event",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
774 G_CALLBACK(config_window_delete), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
775 gtk_window_set_resizable(GTK_WINDOW(configwindow), FALSE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
776 gtk_window_set_title(GTK_WINDOW(configwindow), _("GQview Preferences"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
777 gtk_window_set_wmclass(GTK_WINDOW(configwindow), "config", "GQview");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
778 gtk_container_set_border_width(GTK_CONTAINER(configwindow), PREF_PAD_BORDER);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
779
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
780 window_set_icon(configwindow, (const gchar **)config_xpm, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
781
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
782 win_vbox = gtk_vbox_new(FALSE, PREF_PAD_SPACE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
783 gtk_container_add(GTK_CONTAINER(configwindow), win_vbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
784 gtk_widget_show(win_vbox);
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 hbox = gtk_hbutton_box_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
787 gtk_button_box_set_layout(GTK_BUTTON_BOX(hbox), GTK_BUTTONBOX_END);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
788 gtk_box_set_spacing(GTK_BOX(hbox), PREF_PAD_BUTTON_GAP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
789 gtk_box_pack_end(GTK_BOX(win_vbox), hbox, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
790 gtk_widget_show(hbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
791
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
792 button = pref_button_new(NULL, GTK_STOCK_OK, NULL, FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
793 G_CALLBACK(config_window_ok_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
794 gtk_container_add(GTK_CONTAINER(hbox), button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
795 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
796 gtk_widget_grab_default(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
797 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
798
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
799 ct_button = button;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
800
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
801 button = pref_button_new(NULL, GTK_STOCK_APPLY, NULL, FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
802 G_CALLBACK(config_window_apply_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
803 gtk_container_add(GTK_CONTAINER(hbox), button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
804 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
805 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
806
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
807 button = pref_button_new(NULL, GTK_STOCK_CANCEL, NULL, FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
808 G_CALLBACK(config_window_close_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
809 gtk_container_add(GTK_CONTAINER(hbox), button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
810 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
811 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
812
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
813 if (!generic_dialog_get_alternative_button_order(configwindow))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
814 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
815 gtk_box_reorder_child(GTK_BOX(hbox), ct_button, -1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
816 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
817
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
818 notebook = gtk_notebook_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
819 gtk_notebook_set_tab_pos (GTK_NOTEBOOK(notebook), GTK_POS_TOP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
820 gtk_box_pack_start(GTK_BOX(win_vbox), notebook, TRUE, TRUE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
821
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
822 /* general options tab */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
823
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
824 vbox = gtk_vbox_new(FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
825 gtk_container_set_border_width(GTK_CONTAINER(vbox), PREF_PAD_BORDER);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
826 gtk_widget_show(vbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
827 label = gtk_label_new(_("General"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
828 gtk_notebook_append_page (GTK_NOTEBOOK(notebook), vbox, label);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
829
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
830 group = pref_group_new(vbox, FALSE, _("Startup"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
831
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
832 button = pref_checkbox_new_int(group, _("Change to folder:"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
833 startup_path_enable, &startup_path_enable_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
834
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
835 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
836 pref_checkbox_link_sensitivity(button, hbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
837
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
838 tabcomp = tab_completion_new(&startup_path_entry, startup_path, NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
839 tab_completion_add_select_button(startup_path_entry, NULL, TRUE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
840 gtk_box_pack_start(GTK_BOX(hbox), tabcomp, TRUE, TRUE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
841 gtk_widget_show(tabcomp);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
842
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
843 button = pref_button_new(hbox, NULL, _("Use current"), FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
844 G_CALLBACK(startup_path_set_current), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
845
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
846 group = pref_group_new(vbox, FALSE, _("Thumbnails"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
847
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
848 table = pref_table_new(group, 2, 2, FALSE, FALSE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
849 add_thumb_size_menu(table, 0, 0, _("Size:"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
850 add_quality_menu(table, 0, 1, _("Quality:"), thumbnail_quality, &thumbnail_quality_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
851
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
852 ct_button = pref_checkbox_new_int(group, _("Cache thumbnails"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
853 enable_thumb_caching, &enable_thumb_caching_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
854
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
855 subgroup = pref_box_new(group, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
856 pref_checkbox_link_sensitivity(ct_button, subgroup);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
857
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
858 button = pref_checkbox_new_int(subgroup, _("Use shared thumbnail cache"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
859 thumbnail_spec_standard, &thumbnail_spec_standard_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
860
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
861 subgroup = pref_box_new(subgroup, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
862 pref_checkbox_link_sensitivity_swap(button, subgroup);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
863
14
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
864 pref_checkbox_new_int(subgroup, _("Cache thumbnails into .thumbnails"),
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
865 enable_thumb_dirs, &enable_thumb_dirs_c);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
866
14
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
867 #if 0
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
868 pref_checkbox_new_int(subgroup, _("Use xvpics thumbnails when found (read only)"),
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
869 use_xvpics_thumbnails, &use_xvpics_thumbnails_c);
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
870 #endif
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
871
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
872 pref_checkbox_new_int(group, _("Faster jpeg thumbnailing (may reduce quality)"),
25335c62cd9b ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
873 thumbnail_fast, &thumbnail_fast_c);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
874
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
875 group = pref_group_new(vbox, FALSE, _("Slide show"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
876
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
877 slideshow_delay_c = slideshow_delay;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
878 spin = pref_spin_new(group, _("Delay between image change:"), _("seconds"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
879 SLIDESHOW_MIN_SECONDS, SLIDESHOW_MAX_SECONDS, 1.0, 1,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
880 slideshow_delay ? (double)slideshow_delay / SLIDESHOW_SUBSECOND_PRECISION : 10.0,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
881 G_CALLBACK(slideshow_delay_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
882 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
883
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
884 pref_checkbox_new_int(group, _("Random"), slideshow_random, &slideshow_random_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
885 pref_checkbox_new_int(group, _("Repeat"), slideshow_repeat, &slideshow_repeat_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
886
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
887 /* image tab */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
888
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
889 vbox = gtk_vbox_new(FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
890 gtk_container_set_border_width(GTK_CONTAINER(vbox), PREF_PAD_BORDER);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
891 gtk_widget_show(vbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
892 label = gtk_label_new(_("Image"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
893 gtk_notebook_append_page (GTK_NOTEBOOK (notebook), vbox, label);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
894
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
895 group = pref_group_new(vbox, FALSE, _("Zoom"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
896
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
897 #if 0
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
898 add_dither_menu(dither_quality, &dither_quality_c, _("Dithering method:"), group);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
899 #endif
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
900 table = pref_table_new(group, 2, 1, FALSE, FALSE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
901 add_quality_menu(table, 0, 0, _("Quality:"), zoom_quality, &zoom_quality_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
902
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
903 pref_checkbox_new_int(group, _("Two pass zooming"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
904 two_pass_zoom, &two_pass_zoom_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
905
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
906 pref_checkbox_new_int(group, _("Allow enlargement of image for zoom to fit."),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
907 zoom_to_fit_expands, &zoom_to_fit_expands_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
908
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
909 zoom_increment_c = zoom_increment;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
910 spin = pref_spin_new(group, _("Zoom increment:"), NULL,
15
3263965d5f9e ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 14
diff changeset
911 0.1, 4.0, 1.0, 1, (double)zoom_increment / 10.0,
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
912 G_CALLBACK(zoom_increment_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
913 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
914
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
915 group = pref_group_new(vbox, FALSE, _("When new image is selected:"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
916
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
917 zoom_mode_c = zoom_mode;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
918 button = pref_radiobutton_new(group, NULL, _("Zoom to original size"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
919 (zoom_mode == ZOOM_RESET_ORIGINAL),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
920 G_CALLBACK(zoom_mode_original_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
921 button = pref_radiobutton_new(group, button, _("Fit image to window"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
922 (zoom_mode == ZOOM_RESET_FIT_WINDOW),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
923 G_CALLBACK(zoom_mode_fit_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
924 button = pref_radiobutton_new(group, button, _("Leave Zoom at previous setting"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
925 (zoom_mode == ZOOM_RESET_NONE),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
926 G_CALLBACK(zoom_mode_none_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
927
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
928 group = pref_group_new(vbox, FALSE, _("Appearance"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
929
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
930 pref_checkbox_new_int(group, _("Black background"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
931 black_window_background, &black_window_background_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
932
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
933 group = pref_group_new(vbox, FALSE, _("Convenience"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
934
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
935 pref_checkbox_new_int(group, _("Refresh on file change"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
936 update_on_time_change, &update_on_time_change_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
937 pref_checkbox_new_int(group, _("Preload next image"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
938 enable_read_ahead, &enable_read_ahead_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
939 pref_checkbox_new_int(group, _("Auto rotate image using Exif information"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
940 exif_rotate_enable, &exif_rotate_enable_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
941
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
942
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
943 /* window tab */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
944
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
945 vbox = gtk_vbox_new(FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
946 gtk_container_set_border_width(GTK_CONTAINER(vbox), PREF_PAD_BORDER);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
947 gtk_widget_show(vbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
948 label = gtk_label_new(_("Windows"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
949 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
950
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
951 group = pref_group_new(vbox, FALSE, _("State"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
952
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
953 pref_checkbox_new_int(group, _("Remember window positions"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
954 save_window_positions, &save_window_positions_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
955 pref_checkbox_new_int(group, _("Remember tool state (float/hidden)"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
956 restore_tool, &restore_tool_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
957
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
958 group = pref_group_new(vbox, FALSE, _("Size"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
959
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
960 pref_checkbox_new_int(group, _("Fit window to image when tools are hidden/floating"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
961 fit_window, &fit_window_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
962
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
963 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
964 ct_button = pref_checkbox_new_int(hbox, _("Limit size when auto-sizing window (%):"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
965 limit_window_size, &limit_window_size_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
966 spin = pref_spin_new_int(hbox, NULL, NULL,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
967 10, 150, 1,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
968 max_window_size, &max_window_size_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
969 pref_checkbox_link_sensitivity(ct_button, spin);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
970
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
971 group = pref_group_new(vbox, FALSE, _("Layout"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
972
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
973 layout_widget = layout_config_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
974 layout_config_set(layout_widget, layout_style, layout_order);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
975 gtk_box_pack_start(GTK_BOX(group), layout_widget, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
976 gtk_widget_show(layout_widget);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
977
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
978
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
979 /* filtering tab */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
980
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
981 vbox = gtk_vbox_new(FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
982 gtk_container_set_border_width(GTK_CONTAINER (vbox), PREF_PAD_BORDER);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
983 gtk_widget_show(vbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
984 label = gtk_label_new(_("Filtering"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
985 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
986
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
987 group = pref_box_new(vbox, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
988
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
989 pref_checkbox_new_int(group, _("Show entries that begin with a dot"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
990 show_dot_files, &show_dot_files_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
991 pref_checkbox_new_int(group, _("Case sensitive sort"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
992 file_sort_case_sensitive, &file_sort_case_sensitive_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
993
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
994 ct_button = pref_checkbox_new_int(group, _("Disable File Filtering"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
995 file_filter_disable, &file_filter_disable_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
996
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
997 group = pref_group_new(vbox, TRUE, _("File types"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
998
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
999 frame = pref_group_parent(group);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1000 g_signal_connect(G_OBJECT(ct_button), "toggled",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1001 G_CALLBACK(filter_disable_cb), frame);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1002 gtk_widget_set_sensitive(frame, !file_filter_disable);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1003
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1004 scrolled = gtk_scrolled_window_new(NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1005 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1006 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1007 gtk_box_pack_start(GTK_BOX(group), scrolled, TRUE, TRUE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1008 gtk_widget_show(scrolled);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1009
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1010 filter_store = gtk_list_store_new(1, G_TYPE_POINTER);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1011 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
1012 g_object_unref(filter_store);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1013 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(filter_view));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1014 gtk_tree_selection_set_mode(GTK_TREE_SELECTION(selection), GTK_SELECTION_SINGLE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1015
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1016 gtk_tree_view_set_enable_search(GTK_TREE_VIEW(filter_view), FALSE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1017
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1018 column = gtk_tree_view_column_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1019 gtk_tree_view_column_set_title(column, _("Filter"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1020 gtk_tree_view_column_set_resizable(column, TRUE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1021
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1022 renderer = gtk_cell_renderer_toggle_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1023 g_signal_connect(G_OBJECT(renderer), "toggled",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1024 G_CALLBACK(filter_store_enable_cb), filter_store);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1025 gtk_tree_view_column_pack_start(column, renderer, FALSE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1026 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
1027 GINT_TO_POINTER(FE_ENABLE), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1028
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1029 renderer = gtk_cell_renderer_text_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1030 g_signal_connect(G_OBJECT(renderer), "edited",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1031 G_CALLBACK(filter_store_ext_edit_cb), filter_store);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1032 gtk_tree_view_column_pack_start(column, renderer, TRUE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1033 g_object_set(G_OBJECT(renderer), "editable", (gboolean)TRUE, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1034 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
1035 GINT_TO_POINTER(FE_EXTENSION), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1036 gtk_tree_view_append_column(GTK_TREE_VIEW(filter_view), column);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1037
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1038 column = gtk_tree_view_column_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1039 gtk_tree_view_column_set_title(column, _("Description"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1040 gtk_tree_view_column_set_resizable(column, TRUE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1041 renderer = gtk_cell_renderer_text_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1042 g_signal_connect(G_OBJECT(renderer), "edited",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1043 G_CALLBACK(filter_store_desc_edit_cb), filter_store);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1044 g_object_set(G_OBJECT(renderer), "editable", (gboolean)TRUE, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1045 gtk_tree_view_column_pack_start(column, renderer, FALSE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1046 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
1047 GINT_TO_POINTER(FE_DESCRIPTION), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1048 gtk_tree_view_append_column(GTK_TREE_VIEW(filter_view), column);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1049
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1050 filter_store_populate();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1051 gtk_container_add(GTK_CONTAINER(scrolled), filter_view);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1052 gtk_widget_show(filter_view);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1053
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1054 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
1055
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1056 button = pref_button_new(NULL, NULL, _("Defaults"), FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1057 G_CALLBACK(filter_default_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1058 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1059 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1060
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1061 button = pref_button_new(NULL, GTK_STOCK_REMOVE, NULL, FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1062 G_CALLBACK(filter_remove_cb), filter_view);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1063 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1064 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1065
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1066 button = pref_button_new(NULL, GTK_STOCK_ADD, NULL, FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1067 G_CALLBACK(filter_add_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1068 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1069 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1070
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1071
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1072 /* editor entry tab */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1073
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1074 vbox = gtk_vbox_new(FALSE, PREF_PAD_GAP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1075 gtk_container_set_border_width(GTK_CONTAINER(vbox), PREF_PAD_BORDER);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1076 gtk_widget_show(vbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1077 label = gtk_label_new(_("Editors"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1078 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1079
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1080 table = pref_table_new(vbox, 3, 9, FALSE, FALSE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1081 gtk_table_set_col_spacings(GTK_TABLE(table), PREF_PAD_GAP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1082
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1083 label = pref_table_label(table, 0, 0, _("#"), 1.0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1084 pref_label_bold(label, TRUE, FALSE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1085
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1086 label = pref_table_label(table, 1, 0, _("Menu name"), 0.0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1087 pref_label_bold(label, TRUE, FALSE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1088
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1089 label = pref_table_label(table, 2, 0, ("Command Line"), 0.0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1090 pref_label_bold(label, TRUE, FALSE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1091
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1092 for (i = 0; i < GQVIEW_EDITOR_SLOTS; i++)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1093 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1094 gchar *buf;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1095
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1096 buf = g_strdup_printf("%d", i+1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1097 pref_table_label(table, 0, i+1, buf, 1.0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1098 g_free(buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1099
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1100 editor_name_entry[i] = gtk_entry_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1101 gtk_entry_set_max_length(GTK_ENTRY(editor_name_entry[i]), EDITOR_NAME_MAX_LENGTH);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1102 gtk_widget_set_size_request(editor_name_entry[i],80,-1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1103 if (editor_name[i]) gtk_entry_set_text(GTK_ENTRY(editor_name_entry[i]),editor_name[i]);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1104 gtk_table_attach(GTK_TABLE (table),editor_name_entry[i],1,2,i+1,i+2,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1105 GTK_FILL | GTK_EXPAND, FALSE, 0, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1106 gtk_widget_show(editor_name_entry[i]);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1107
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1108 editor_command_entry[i] = gtk_entry_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1109 gtk_entry_set_max_length(GTK_ENTRY(editor_command_entry[i]), EDITOR_COMMAND_MAX_LENGTH);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1110 gtk_widget_set_size_request(editor_command_entry[i],160,-1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1111 tab_completion_add_to_entry(editor_command_entry[i], NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1112 if (editor_command[i]) gtk_entry_set_text(GTK_ENTRY(editor_command_entry[i]), editor_command[i]);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1113 gtk_table_attach(GTK_TABLE (table),editor_command_entry[i],2,3,i+1,i+2,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1114 GTK_FILL | GTK_EXPAND, FALSE, 0, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1115 gtk_widget_show(editor_command_entry[i]);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1116 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1117
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1118 hbox = pref_box_new(vbox, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1119
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1120 button = pref_button_new(NULL, NULL, _("Defaults"), FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1121 G_CALLBACK(editor_default_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1122 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1123 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1124
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1125 button = pref_button_new(NULL, GTK_STOCK_HELP, NULL, FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1126 G_CALLBACK(editor_help_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1127 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1128 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1129
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1130 /* advanced entry tab */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1131
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1132 scrolled = gtk_scrolled_window_new(NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1133 gtk_container_set_border_width(GTK_CONTAINER(scrolled), PREF_PAD_BORDER);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1134 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1135 GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1136 label = gtk_label_new(_("Advanced"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1137 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), scrolled, label);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1138 gtk_widget_show(scrolled);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1139
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1140 viewport = gtk_viewport_new(NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1141 gtk_viewport_set_shadow_type(GTK_VIEWPORT(viewport), GTK_SHADOW_NONE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1142 gtk_container_add(GTK_CONTAINER(scrolled), viewport);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1143 gtk_widget_show(viewport);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1144
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1145 vbox = gtk_vbox_new(FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1146 gtk_container_add(GTK_CONTAINER(viewport), vbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1147 gtk_widget_show(vbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1148
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1149 group = pref_group_new(vbox, FALSE, _("Full screen"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1150
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1151 fullscreen_screen_c = fullscreen_screen;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1152 fullscreen_above_c = fullscreen_above;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1153 hbox = fullscreen_prefs_selection_new(_("Location:"), &fullscreen_screen_c, &fullscreen_above_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1154 gtk_box_pack_start(GTK_BOX(group), hbox, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1155 gtk_widget_show(hbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1156
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1157 pref_checkbox_new_int(group, _("Smooth image flip"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1158 fullscreen_clean_flip, &fullscreen_clean_flip_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1159 pref_checkbox_new_int(group, _("Disable screen saver"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1160 fullscreen_disable_saver, &fullscreen_disable_saver_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1161
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1162 group = pref_group_new(vbox, FALSE, _("Delete"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1163
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1164 pref_checkbox_new_int(group, _("Confirm file delete"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1165 confirm_delete, &confirm_delete_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1166 pref_checkbox_new_int(group, _("Enable Delete key"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1167 enable_delete_key, &enable_delete_key_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1168
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1169 ct_button = pref_checkbox_new_int(group, _("Safe delete"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1170 safe_delete_enable, &safe_delete_enable_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1171
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1172 hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1173 pref_checkbox_link_sensitivity(ct_button, hbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1174
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1175 pref_spacer(hbox, PREF_PAD_INDENT - PREF_PAD_SPACE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1176 pref_label_new(hbox, _("Folder:"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1177
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1178 tabcomp = tab_completion_new(&safe_delete_path_entry, safe_delete_path, NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1179 tab_completion_add_select_button(safe_delete_path_entry, NULL, TRUE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1180 gtk_box_pack_start(GTK_BOX(hbox), tabcomp, TRUE, TRUE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1181 gtk_widget_show(tabcomp);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1182
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1183 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
1184 pref_checkbox_link_sensitivity(ct_button, hbox);
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 pref_spacer(hbox, PREF_PAD_INDENT - PREF_PAD_GAP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1187 pref_spin_new_int(hbox, _("Maximum size:"), _("MB"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1188 1, 500, 1, safe_delete_size, &safe_delete_size_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1189
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1190 button = pref_button_new(NULL, NULL, _("View"), FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1191 G_CALLBACK(safe_delete_view_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1192 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1193 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1194
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1195 button = pref_button_new(NULL, GTK_STOCK_CLEAR, NULL, FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1196 G_CALLBACK(safe_delete_clear_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1197 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1198 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1199
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1200 group = pref_group_new(vbox, FALSE, _("Behavior"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1201
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1202 pref_checkbox_new_int(group, _("Rectangular selection in icon view"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1203 collection_rectangular_selection, &collection_rectangular_selection_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1204
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1205 pref_checkbox_new_int(group, _("Descend folders in tree view"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1206 tree_descend_subdirs, &tree_descend_subdirs_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1207
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1208 pref_checkbox_new_int(group, _("In place renaming"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1209 enable_in_place_rename, &enable_in_place_rename_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1210
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1211 group = pref_group_new(vbox, FALSE, _("Navigation"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1212
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1213 pref_checkbox_new_int(group, _("Progressive keyboard scrolling"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1214 progressive_key_scrolling, &progressive_key_scrolling_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1215 pref_checkbox_new_int(group, _("Mouse wheel scrolls image"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1216 mousewheel_scrolls, &mousewheel_scrolls_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1217
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1218 group = pref_group_new(vbox, FALSE, _("Miscellaneous"), GTK_ORIENTATION_VERTICAL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1219
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1220 pref_checkbox_new_int(group, _("Store keywords and comments local to source images"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1221 enable_metadata_dirs, &enable_metadata_dirs_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1222
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1223 pref_spin_new_int(group, _("Custom similarity threshold:"), NULL,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1224 0, 100, 1, dupe_custom_threshold, &dupe_custom_threshold_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1225
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1226 pref_spin_new_int(group, _("Offscreen cache size (Mb per image):"), NULL,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1227 0, 128, 1, tile_cache_max, &tile_cache_max_c);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1228
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1229 gtk_widget_show(notebook);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1230
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1231 gtk_widget_show(configwindow);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1232 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1233
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1234 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1235 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1236 * config window show (public)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1237 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1238 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1239
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1240 void show_config_window(void)
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 if (configwindow)
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 gtk_window_present(GTK_WINDOW(configwindow));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1245 return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1246 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1247
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1248 config_window_create();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1249 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1250
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1251 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1252 *-----------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1253 * about window
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1254 *-----------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1255 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1256
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1257 static GtkWidget *about = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1258
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1259 static gint about_delete_cb(GtkWidget *widget, GdkEventAny *event, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1260 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1261 gtk_widget_destroy(about);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1262 about = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1263
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1264 return TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1265 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1266
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1267 static void about_window_close(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1268 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1269 if (!about) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1270
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1271 gtk_widget_destroy(about);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1272 about = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1273 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1274
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1275 static void about_credits_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1276 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1277 help_window_show("credits");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1278 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1279
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1280 void show_about_window(void)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1281 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1282 GtkWidget *vbox;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1283 GtkWidget *hbox;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1284 GtkWidget *label;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1285 GtkWidget *button;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1286 GdkPixbuf *pixbuf;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1287
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1288 gchar *buf;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1289
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1290 if (about)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1291 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1292 gtk_window_present(GTK_WINDOW(about));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1293 return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1294 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1295
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1296 about = gtk_window_new(GTK_WINDOW_TOPLEVEL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1297 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
1298 gtk_window_set_wmclass(GTK_WINDOW(about), "about", "GQview");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1299 g_signal_connect(G_OBJECT(about), "delete_event",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1300 G_CALLBACK(about_delete_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1301
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1302 gtk_window_set_title(GTK_WINDOW(about), _("About - GQview"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1303 gtk_container_set_border_width(GTK_CONTAINER(about), PREF_PAD_BORDER);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1304
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1305 vbox = gtk_vbox_new(FALSE, PREF_PAD_SPACE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1306 gtk_container_add(GTK_CONTAINER(about), vbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1307 gtk_widget_show(vbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1308
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1309 pixbuf = pixbuf_inline(PIXBUF_INLINE_LOGO);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1310 button = gtk_image_new_from_pixbuf(pixbuf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1311 g_object_unref(pixbuf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1312 gtk_box_pack_start(GTK_BOX(vbox), button, TRUE, TRUE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1313 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1314
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1315 buf = g_strdup_printf(_("GQview %s\n\nCopyright (c) %s John Ellis\nwebsite: %s\nemail: %s\n\nReleased under the GNU General Public License"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1316 VERSION,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1317 "2005",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1318 "gqview.sourceforge.net",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1319 "gqview@users.sourceforge.net");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1320 label = gtk_label_new(buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1321 g_free(buf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1322
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1323 gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_CENTER);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1324 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1325 gtk_widget_show(label);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1326
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1327 hbox = gtk_hbutton_box_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1328 gtk_button_box_set_layout(GTK_BUTTON_BOX(hbox), GTK_BUTTONBOX_END);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1329 gtk_box_set_spacing(GTK_BOX(hbox), PREF_PAD_BUTTON_GAP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1330 gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1331 gtk_widget_show(hbox);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1332
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1333 button = pref_button_new(NULL, NULL, _("Credits..."), FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1334 G_CALLBACK(about_credits_cb), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1335 gtk_container_add(GTK_CONTAINER(hbox), button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1336 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1337 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1338
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1339 button = pref_button_new(NULL, GTK_STOCK_CLOSE, NULL, FALSE,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1340 G_CALLBACK(about_window_close), NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1341 gtk_container_add(GTK_CONTAINER(hbox), button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1342 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1343 gtk_widget_grab_default(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1344 gtk_widget_show(button);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1345
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1346 window_set_icon(about, NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1347 gtk_widget_show(about);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1348 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1349