Mercurial > audlegacy
annotate src/audacious/ui_preferences.c @ 3992:50bf02b4f048
correct mf0102's commit a bit
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Sat, 24 Nov 2007 14:48:01 +0100 |
parents | d6ac99c2be1d |
children | 8d8699eb659d |
rev | line source |
---|---|
2313 | 1 /* Audacious - Cross-platform multimedia player |
2 * Copyright (C) 2005-2006 Audacious development team. | |
3 * | |
4 * BMP - Cross-platform multimedia player | |
5 * Copyright (C) 2003-2004 BMP development team. | |
6 * | |
7 * This program is free software; you can redistribute it and/or modify | |
8 * it under the terms of the GNU General Public License as published by | |
3121
3b6d316f8b09
GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents:
3113
diff
changeset
|
9 * the Free Software Foundation; under version 3 of the License. |
2313 | 10 * |
11 * This program is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 * GNU General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
3121
3b6d316f8b09
GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents:
3113
diff
changeset
|
17 * along with this program. If not, see <http://www.gnu.org/licenses>. |
3123
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
18 * |
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
19 * The Audacious team does not consider modular code linking to |
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
20 * Audacious or using our public API to be a derived work. |
2313 | 21 */ |
22 | |
23 #ifdef HAVE_CONFIG_H | |
24 # include "config.h" | |
25 #endif | |
26 | |
27 #include <glib.h> | |
28 #include <glib/gi18n.h> | |
29 #include <gtk/gtk.h> | |
30 #include <glade/glade.h> | |
31 #include <string.h> | |
32 #include <stddef.h> | |
33 #include <stdio.h> | |
34 #include <sys/types.h> | |
35 #include <dirent.h> | |
36 #include <unistd.h> | |
37 #include <errno.h> | |
38 #include <sys/types.h> | |
39 #include <sys/stat.h> | |
40 | |
41 #include "glade.h" | |
42 | |
43 #include "plugin.h" | |
44 #include "pluginenum.h" | |
45 #include "input.h" | |
46 #include "effect.h" | |
47 #include "general.h" | |
48 #include "output.h" | |
49 #include "visualization.h" | |
50 | |
51 #include "main.h" | |
2911 | 52 #include "ui_skinned_textbox.h" |
2373
ad1d7687814c
[svn] made strings.h for existing strings.c, cleanups
mf0102
parents:
2328
diff
changeset
|
53 #include "strings.h" |
2313 | 54 #include "util.h" |
55 #include "dnd.h" | |
2717 | 56 #include "configdb.h" |
2313 | 57 |
58 #include "ui_main.h" | |
59 #include "ui_playlist.h" | |
60 #include "ui_skinselector.h" | |
61 #include "ui_preferences.h" | |
2328 | 62 #include "ui_equalizer.h" |
3217 | 63 #include "ui_skinned_playlist.h" |
3221
9583cd62231f
implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents:
3217
diff
changeset
|
64 #include "ui_skinned_window.h" |
2313 | 65 |
66 #include "build_stamp.h" | |
67 | |
68 enum CategoryViewCols { | |
69 CATEGORY_VIEW_COL_ICON, | |
70 CATEGORY_VIEW_COL_NAME, | |
71 CATEGORY_VIEW_COL_ID, | |
72 CATEGORY_VIEW_N_COLS | |
73 }; | |
74 | |
75 enum PluginViewCols { | |
76 PLUGIN_VIEW_COL_ACTIVE, | |
77 PLUGIN_VIEW_COL_DESC, | |
78 PLUGIN_VIEW_COL_FILENAME, | |
79 PLUGIN_VIEW_COL_ID, | |
3439
93584d1b3e7e
Add plugin pointer to the plugin treestore.
William Pitcock <nenolod@atheme.org>
parents:
3437
diff
changeset
|
80 PLUGIN_VIEW_COL_PLUGIN_PTR, |
2313 | 81 PLUGIN_VIEW_N_COLS |
82 }; | |
83 | |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
84 enum PluginViewType { |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
85 PLUGIN_VIEW_TYPE_INPUT, |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
86 PLUGIN_VIEW_TYPE_GENERAL, |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
87 PLUGIN_VIEW_TYPE_VIS, |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
88 PLUGIN_VIEW_TYPE_EFFECT |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
89 }; |
2313 | 90 |
91 typedef struct { | |
92 const gchar *icon_path; | |
93 const gchar *name; | |
94 gint id; | |
95 } Category; | |
96 | |
97 typedef struct { | |
98 const gchar *name; | |
99 const gchar *tag; | |
100 } | |
101 TitleFieldTag; | |
102 | |
103 static GtkWidget *prefswin = NULL; | |
104 static GtkWidget *filepopup_settings = NULL; | |
105 static GtkWidget *colorize_settings = NULL; | |
106 static GtkWidget *category_treeview = NULL; | |
107 static GtkWidget *category_notebook = NULL; | |
108 GtkWidget *filepopupbutton = NULL; | |
109 | |
3989
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
110 /* colorize settings scales */ |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
111 GtkWidget *green_scale; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
112 GtkWidget *red_scale; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
113 GtkWidget *blue_scale; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
114 |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
115 /* filepopup settings widgets */ |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
116 GtkWidget *filepopup_settings_cover_name_include; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
117 GtkWidget *filepopup_settings_cover_name_exclude; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
118 GtkWidget *filepopup_settings_recurse_for_cover; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
119 GtkWidget *filepopup_settings_recurse_for_cover_depth; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
120 GtkWidget *filepopup_settings_recurse_for_cover_depth_box; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
121 GtkWidget *filepopup_settings_use_file_cover; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
122 GtkWidget *filepopup_settings_showprogressbar; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
123 GtkWidget *filepopup_settings_delay; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
124 |
2313 | 125 static Category categories[] = { |
126 {DATA_DIR "/images/appearance.png", N_("Appearance"), 1}, | |
127 {DATA_DIR "/images/audio.png", N_("Audio"), 6}, | |
128 {DATA_DIR "/images/connectivity.png", N_("Connectivity"), 5}, | |
129 {DATA_DIR "/images/eq.png", N_("Equalizer"), 4}, | |
130 {DATA_DIR "/images/mouse.png", N_("Mouse"), 2}, | |
131 {DATA_DIR "/images/playlist.png", N_("Playlist"), 3}, | |
132 {DATA_DIR "/images/plugins.png", N_("Plugins"), 0}, | |
133 }; | |
134 | |
135 static gint n_categories = G_N_ELEMENTS(categories); | |
136 | |
137 static TitleFieldTag title_field_tags[] = { | |
3441
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
138 { N_("Artist") , "${artist}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
139 { N_("Album") , "${album}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
140 { N_("Title") , "${title}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
141 { N_("Tracknumber"), "${track-number}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
142 { N_("Genre") , "${genre}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
143 { N_("Filename") , "${file-name}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
144 { N_("Filepath") , "${file-path}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
145 { N_("Date") , "${date}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
146 { N_("Year") , "${year}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
147 { N_("Comment") , "${comment}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
148 { N_("Codec") , "${codec}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
149 { N_("Quality") , "${quality}" }, |
2313 | 150 }; |
151 | |
152 typedef struct { | |
153 void *next; | |
154 GtkWidget *container; | |
155 char *pg_name; | |
156 char *img_url; | |
157 } CategoryQueueEntry; | |
158 | |
159 CategoryQueueEntry *category_queue = NULL; | |
160 | |
161 static const guint n_title_field_tags = G_N_ELEMENTS(title_field_tags); | |
162 | |
163 /* GLib 2.6 compatibility */ | |
164 #if (! ((GLIB_MAJOR_VERSION > 2) || ((GLIB_MAJOR_VERSION == 2) && (GLIB_MINOR_VERSION >= 8)))) | |
165 static const char * | |
166 g_get_host_name (void) | |
167 { | |
168 static char hostname [HOST_NAME_MAX + 1]; | |
169 if (gethostname (hostname, HOST_NAME_MAX) == -1) { | |
170 return _("localhost"); | |
171 } | |
172 return hostname; | |
173 } | |
174 #endif | |
175 | |
3991
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
176 static void create_colorize_settings(void); |
2313 | 177 static void prefswin_page_queue_destroy(CategoryQueueEntry *ent); |
178 | |
179 static GladeXML * | |
180 prefswin_get_xml(void) | |
181 { | |
182 return GLADE_XML(g_object_get_data(G_OBJECT(prefswin), "glade-xml")); | |
183 } | |
184 | |
185 static void | |
186 change_category(GtkNotebook * notebook, | |
187 GtkTreeSelection * selection) | |
188 { | |
189 GtkTreeModel *model; | |
190 GtkTreeIter iter; | |
191 gint index; | |
192 | |
193 if (!gtk_tree_selection_get_selected(selection, &model, &iter)) | |
194 return; | |
195 | |
196 gtk_tree_model_get(model, &iter, CATEGORY_VIEW_COL_ID, &index, -1); | |
197 gtk_notebook_set_current_page(notebook, index); | |
198 } | |
199 | |
200 void | |
201 prefswin_set_category(gint index) | |
202 { | |
203 GladeXML *xml; | |
204 GtkWidget *notebook; | |
205 | |
206 g_return_if_fail(index >= 0 && index < n_categories); | |
207 | |
208 xml = prefswin_get_xml(); | |
209 notebook = glade_xml_get_widget(xml, "category_view"); | |
210 gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), index); | |
211 } | |
212 | |
213 static void | |
214 output_plugin_open_prefs(GtkComboBox * cbox, | |
215 gpointer data) | |
216 { | |
217 output_configure(gtk_combo_box_get_active(cbox)); | |
218 } | |
219 | |
220 static void | |
221 output_plugin_open_info(GtkComboBox * cbox, | |
222 gpointer data) | |
223 { | |
224 output_about(gtk_combo_box_get_active(cbox)); | |
225 } | |
226 | |
227 static void | |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
228 plugin_toggle(GtkCellRendererToggle * cell, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
229 const gchar * path_str, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
230 gpointer data) |
2313 | 231 { |
232 GtkTreeModel *model = GTK_TREE_MODEL(data); | |
233 GtkTreeIter iter; | |
234 GtkTreePath *path = gtk_tree_path_new_from_string(path_str); | |
235 gint pluginnr; | |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
236 gint plugin_type = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(data), "plugin_type")); |
2313 | 237 |
238 /* get toggled iter */ | |
239 gtk_tree_model_get_iter(model, &iter, path); | |
240 | |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
241 if (plugin_type == PLUGIN_VIEW_TYPE_INPUT) { |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
242 Plugin *plugin; |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
243 /*GList *diplist, *tmplist; */ |
2313 | 244 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
245 gtk_tree_model_get(model, &iter, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
246 PLUGIN_VIEW_COL_ID, &pluginnr, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
247 PLUGIN_VIEW_COL_PLUGIN_PTR, &plugin, -1); |
2313 | 248 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
249 /* do something with the value */ |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
250 plugin->enabled ^= 1; |
2313 | 251 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
252 /* set new value */ |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
253 gtk_list_store_set(GTK_LIST_STORE(model), &iter, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
254 PLUGIN_VIEW_COL_ACTIVE, plugin->enabled, -1); |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
255 } else { |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
256 gboolean fixed; |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
257 gtk_tree_model_get(model, &iter, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
258 PLUGIN_VIEW_COL_ACTIVE, &fixed, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
259 PLUGIN_VIEW_COL_ID, &pluginnr, -1); |
2313 | 260 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
261 /* do something with the value */ |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
262 fixed ^= 1; |
2313 | 263 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
264 switch (plugin_type) { |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
265 case PLUGIN_VIEW_TYPE_GENERAL: |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
266 enable_general_plugin(pluginnr, fixed); |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
267 break; |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
268 case PLUGIN_VIEW_TYPE_VIS: |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
269 enable_vis_plugin(pluginnr, fixed); |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
270 break; |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
271 case PLUGIN_VIEW_TYPE_EFFECT: |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
272 enable_effect_plugin(pluginnr, fixed); |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
273 break; |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
274 } |
2313 | 275 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
276 /* set new value */ |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
277 gtk_list_store_set(GTK_LIST_STORE(model), &iter, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
278 PLUGIN_VIEW_COL_ACTIVE, fixed, -1); |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
279 } |
2313 | 280 |
281 /* clean up */ | |
282 gtk_tree_path_free(path); | |
283 } | |
284 | |
285 static void | |
286 on_output_plugin_cbox_changed(GtkComboBox * combobox, | |
287 gpointer data) | |
288 { | |
289 gint selected; | |
290 selected = gtk_combo_box_get_active(combobox); | |
291 | |
292 set_current_output_plugin(selected); | |
293 } | |
294 | |
295 static void | |
296 on_output_plugin_cbox_realize(GtkComboBox * cbox, | |
297 gpointer data) | |
298 { | |
299 GList *olist = get_output_list(); | |
300 OutputPlugin *op, *cp = get_current_output_plugin(); | |
301 gint i = 0, selected = 0; | |
302 | |
303 if (!olist) { | |
304 gtk_widget_set_sensitive(GTK_WIDGET(cbox), FALSE); | |
305 return; | |
306 } | |
307 | |
308 for (i = 0; olist; i++, olist = g_list_next(olist)) { | |
309 op = OUTPUT_PLUGIN(olist->data); | |
310 | |
311 if (olist->data == cp) | |
312 selected = i; | |
313 | |
314 gtk_combo_box_append_text(cbox, op->description); | |
315 } | |
316 | |
317 gtk_combo_box_set_active(cbox, selected); | |
318 g_signal_connect(cbox, "changed", | |
319 G_CALLBACK(on_output_plugin_cbox_changed), NULL); | |
320 } | |
321 | |
322 static void | |
3437
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
323 on_plugin_view_realize(GtkTreeView * treeview, |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
324 GCallback callback, |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
325 gpointer data, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
326 gint plugin_type) |
2313 | 327 { |
328 GtkListStore *store; | |
329 GtkTreeIter iter; | |
330 | |
331 GtkCellRenderer *renderer; | |
332 GtkTreeViewColumn *column; | |
333 | |
334 GList *ilist; | |
335 gchar *description[2]; | |
336 gint id = 0; | |
337 | |
3437
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
338 GList *list = (GList *) data; |
2313 | 339 |
340 store = gtk_list_store_new(PLUGIN_VIEW_N_COLS, | |
341 G_TYPE_BOOLEAN, G_TYPE_STRING, | |
3439
93584d1b3e7e
Add plugin pointer to the plugin treestore.
William Pitcock <nenolod@atheme.org>
parents:
3437
diff
changeset
|
342 G_TYPE_STRING, G_TYPE_INT, G_TYPE_POINTER); |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
343 g_object_set_data(G_OBJECT(store), "plugin_type" , GINT_TO_POINTER(plugin_type)); |
2313 | 344 |
345 column = gtk_tree_view_column_new(); | |
346 gtk_tree_view_column_set_title(column, _("Enabled")); | |
347 gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED); | |
348 gtk_tree_view_column_set_spacing(column, 4); | |
349 gtk_tree_view_column_set_resizable(column, FALSE); | |
350 gtk_tree_view_column_set_fixed_width(column, 50); | |
351 | |
352 renderer = gtk_cell_renderer_toggle_new(); | |
353 g_signal_connect(renderer, "toggled", | |
3437
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
354 G_CALLBACK(callback), store); |
2313 | 355 gtk_tree_view_column_pack_start(column, renderer, TRUE); |
356 gtk_tree_view_column_set_attributes(column, renderer, "active", | |
357 PLUGIN_VIEW_COL_ACTIVE, NULL); | |
358 | |
359 gtk_tree_view_append_column(treeview, column); | |
360 | |
361 column = gtk_tree_view_column_new(); | |
362 gtk_tree_view_column_set_title(column, _("Description")); | |
363 gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); | |
364 gtk_tree_view_column_set_spacing(column, 4); | |
365 gtk_tree_view_column_set_resizable(column, TRUE); | |
366 | |
367 | |
368 renderer = gtk_cell_renderer_text_new(); | |
369 gtk_tree_view_column_pack_start(column, renderer, FALSE); | |
370 gtk_tree_view_column_set_attributes(column, renderer, | |
371 "text", PLUGIN_VIEW_COL_DESC, NULL); | |
372 gtk_tree_view_append_column(treeview, column); | |
373 | |
374 column = gtk_tree_view_column_new(); | |
375 | |
376 gtk_tree_view_column_set_title(column, _("Filename")); | |
377 gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); | |
378 gtk_tree_view_column_set_spacing(column, 4); | |
379 gtk_tree_view_column_set_resizable(column, TRUE); | |
380 | |
381 renderer = gtk_cell_renderer_text_new(); | |
382 gtk_tree_view_column_pack_start(column, renderer, TRUE); | |
383 gtk_tree_view_column_set_attributes(column, renderer, "text", | |
384 PLUGIN_VIEW_COL_FILENAME, NULL); | |
385 | |
386 gtk_tree_view_append_column(treeview, column); | |
387 | |
3437
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
388 MOWGLI_ITER_FOREACH(ilist, list) |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
389 { |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
390 Plugin *plugin = PLUGIN(ilist->data); |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
391 |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
392 description[0] = g_strdup(plugin->description); |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
393 description[1] = g_strdup(plugin->filename); |
2313 | 394 |
395 gtk_list_store_append(store, &iter); | |
396 gtk_list_store_set(store, &iter, | |
3437
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
397 PLUGIN_VIEW_COL_ACTIVE, plugin->enabled, |
2313 | 398 PLUGIN_VIEW_COL_DESC, description[0], |
399 PLUGIN_VIEW_COL_FILENAME, description[1], | |
3439
93584d1b3e7e
Add plugin pointer to the plugin treestore.
William Pitcock <nenolod@atheme.org>
parents:
3437
diff
changeset
|
400 PLUGIN_VIEW_COL_ID, id++, |
93584d1b3e7e
Add plugin pointer to the plugin treestore.
William Pitcock <nenolod@atheme.org>
parents:
3437
diff
changeset
|
401 PLUGIN_VIEW_COL_PLUGIN_PTR, plugin, -1); |
2313 | 402 |
403 g_free(description[1]); | |
404 g_free(description[0]); | |
405 } | |
406 | |
407 gtk_tree_view_set_model(treeview, GTK_TREE_MODEL(store)); | |
408 } | |
409 | |
410 static void | |
3437
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
411 on_input_plugin_view_realize(GtkTreeView * treeview, |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
412 gpointer data) |
2313 | 413 { |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
414 on_plugin_view_realize(treeview, G_CALLBACK(plugin_toggle), ip_data.input_list, PLUGIN_VIEW_TYPE_INPUT); |
2313 | 415 } |
416 | |
417 static void | |
418 on_effect_plugin_view_realize(GtkTreeView * treeview, | |
419 gpointer data) | |
420 { | |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
421 on_plugin_view_realize(treeview, G_CALLBACK(plugin_toggle), ep_data.effect_list, PLUGIN_VIEW_TYPE_EFFECT); |
3437
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
422 } |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
423 |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
424 static void |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
425 on_general_plugin_view_realize(GtkTreeView * treeview, |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
426 gpointer data) |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
427 { |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
428 on_plugin_view_realize(treeview, G_CALLBACK(plugin_toggle), gp_data.general_list, PLUGIN_VIEW_TYPE_GENERAL); |
3437
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
429 } |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
430 |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
431 static void |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
432 on_vis_plugin_view_realize(GtkTreeView * treeview, |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
433 gpointer data) |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
434 { |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
435 on_plugin_view_realize(treeview, G_CALLBACK(plugin_toggle), vp_data.vis_list, PLUGIN_VIEW_TYPE_VIS); |
3437
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
436 } |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
437 |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
438 static void |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
439 editable_insert_text(GtkEditable * editable, |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
440 const gchar * text, |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
441 gint * pos) |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
442 { |
3092a8b3fe34
Big plugin system changes (part 1 of who knows, it's still a big mess):
William Pitcock <nenolod@atheme.org>
parents:
3357
diff
changeset
|
443 gtk_editable_insert_text(editable, text, strlen(text), pos); |
2313 | 444 } |
445 | |
446 static void | |
447 titlestring_tag_menu_callback(GtkMenuItem * menuitem, | |
448 gpointer data) | |
449 { | |
450 const gchar *separator = " - "; | |
451 GladeXML *xml; | |
452 GtkWidget *entry; | |
453 gint item = GPOINTER_TO_INT(data); | |
454 gint pos; | |
455 | |
456 xml = prefswin_get_xml(); | |
457 entry = glade_xml_get_widget(xml, "titlestring_entry"); | |
458 | |
459 pos = gtk_editable_get_position(GTK_EDITABLE(entry)); | |
460 | |
461 /* insert separator as needed */ | |
462 if (g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry)), -1) > 0) | |
463 editable_insert_text(GTK_EDITABLE(entry), separator, &pos); | |
464 | |
465 editable_insert_text(GTK_EDITABLE(entry), _(title_field_tags[item].tag), | |
466 &pos); | |
467 | |
468 gtk_editable_set_position(GTK_EDITABLE(entry), pos); | |
469 } | |
470 | |
471 static void | |
472 on_titlestring_help_button_clicked(GtkButton * button, | |
473 gpointer data) | |
474 { | |
475 | |
476 GtkMenu *menu; | |
477 MenuPos *pos = g_new0(MenuPos, 1); | |
478 GdkWindow *parent; | |
479 | |
480 gint x_ro, y_ro; | |
481 gint x_widget, y_widget; | |
482 gint x_size, y_size; | |
483 | |
484 g_return_if_fail (button != NULL); | |
485 g_return_if_fail (GTK_IS_MENU (data)); | |
486 | |
487 parent = gtk_widget_get_parent_window(GTK_WIDGET(button)); | |
488 | |
489 gdk_drawable_get_size(parent, &x_size, &y_size); | |
490 gdk_window_get_root_origin(GTK_WIDGET(button)->window, &x_ro, &y_ro); | |
491 gdk_window_get_position(GTK_WIDGET(button)->window, &x_widget, &y_widget); | |
492 | |
493 pos->x = x_size + x_ro; | |
494 pos->y = y_size + y_ro - 100; | |
495 | |
496 menu = GTK_MENU(data); | |
497 gtk_menu_popup (menu, NULL, NULL, util_menu_position, pos, | |
498 0, GDK_CURRENT_TIME); | |
499 } | |
500 | |
501 | |
502 static void | |
503 on_titlestring_entry_realize(GtkWidget * entry, | |
504 gpointer data) | |
505 { | |
506 gtk_entry_set_text(GTK_ENTRY(entry), cfg.gentitle_format); | |
507 } | |
508 | |
509 static void | |
510 on_titlestring_entry_changed(GtkWidget * entry, | |
511 gpointer data) | |
512 { | |
513 g_free(cfg.gentitle_format); | |
514 cfg.gentitle_format = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry))); | |
515 } | |
516 | |
517 static void | |
518 on_titlestring_cbox_realize(GtkWidget * cbox, | |
519 gpointer data) | |
520 { | |
521 gtk_combo_box_set_active(GTK_COMBO_BOX(cbox), cfg.titlestring_preset); | |
522 gtk_widget_set_sensitive(GTK_WIDGET(data), | |
523 (cfg.titlestring_preset == (gint)n_titlestring_presets)); | |
524 } | |
525 | |
526 static void | |
527 on_titlestring_cbox_changed(GtkWidget * cbox, | |
528 gpointer data) | |
529 { | |
530 gint position = gtk_combo_box_get_active(GTK_COMBO_BOX(cbox)); | |
531 | |
532 cfg.titlestring_preset = position; | |
533 gtk_widget_set_sensitive(GTK_WIDGET(data), (position == 6)); | |
534 } | |
535 | |
536 static void | |
537 on_mainwin_font_button_font_set(GtkFontButton * button, | |
538 gpointer data) | |
539 { | |
540 g_free(cfg.mainwin_font); | |
541 cfg.mainwin_font = g_strdup(gtk_font_button_get_font_name(button)); | |
542 | |
2911 | 543 ui_skinned_textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font); |
2313 | 544 } |
545 | |
546 static void | |
547 on_use_bitmap_fonts_realize(GtkToggleButton * button, | |
548 gpointer data) | |
549 { | |
550 gtk_toggle_button_set_active(button, | |
551 cfg.mainwin_use_xfont != FALSE ? FALSE : TRUE); | |
552 } | |
553 | |
554 static void | |
555 on_use_bitmap_fonts_toggled(GtkToggleButton * button, | |
556 gpointer data) | |
557 { | |
558 gboolean useit = gtk_toggle_button_get_active(button); | |
559 cfg.mainwin_use_xfont = useit != FALSE ? FALSE : TRUE; | |
2911 | 560 ui_skinned_textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font); |
2313 | 561 playlistwin_set_sinfo_font(cfg.playlist_font); |
562 | |
563 if (cfg.playlist_shaded) { | |
564 playlistwin_update_list(playlist_get_active()); | |
3221
9583cd62231f
implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents:
3217
diff
changeset
|
565 ui_skinned_window_draw_all(playlistwin); |
2313 | 566 } |
567 } | |
568 | |
569 static void | |
570 on_mainwin_font_button_realize(GtkFontButton * button, | |
571 gpointer data) | |
572 { | |
573 gtk_font_button_set_font_name(button, cfg.mainwin_font); | |
574 } | |
575 | |
576 static void | |
577 on_playlist_font_button_font_set(GtkFontButton * button, | |
578 gpointer data) | |
579 { | |
580 g_free(cfg.playlist_font); | |
581 cfg.playlist_font = g_strdup(gtk_font_button_get_font_name(button)); | |
582 | |
3217 | 583 ui_skinned_playlist_set_font(cfg.playlist_font); |
2313 | 584 playlistwin_set_sinfo_font(cfg.playlist_font); /* propagate font setting to playlistwin_sinfo */ |
585 playlistwin_update_list(playlist_get_active()); | |
3221
9583cd62231f
implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents:
3217
diff
changeset
|
586 gtk_widget_queue_draw(playlistwin_list); |
2313 | 587 } |
588 | |
589 static void | |
590 on_playlist_font_button_realize(GtkFontButton * button, | |
591 gpointer data) | |
592 { | |
593 gtk_font_button_set_font_name(button, cfg.playlist_font); | |
594 } | |
595 | |
596 static void | |
597 on_playlist_show_pl_numbers_realize(GtkToggleButton * button, | |
598 gpointer data) | |
599 { | |
600 gtk_toggle_button_set_active(button, cfg.show_numbers_in_pl); | |
601 } | |
602 | |
603 static void | |
604 on_playlist_show_pl_numbers_toggled(GtkToggleButton * button, | |
605 gpointer data) | |
606 { | |
607 cfg.show_numbers_in_pl = gtk_toggle_button_get_active(button); | |
608 playlistwin_update_list(playlist_get_active()); | |
3221
9583cd62231f
implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents:
3217
diff
changeset
|
609 gtk_widget_queue_draw(playlistwin_list); |
2313 | 610 } |
611 | |
612 static void | |
613 on_playlist_show_pl_separator_realize(GtkToggleButton * button, | |
614 gpointer data) | |
615 { | |
616 gtk_toggle_button_set_active(button, cfg.show_separator_in_pl); | |
617 } | |
618 | |
619 static void | |
620 on_playlist_show_pl_separator_toggled(GtkToggleButton * button, | |
621 gpointer data) | |
622 { | |
623 cfg.show_separator_in_pl = gtk_toggle_button_get_active(button); | |
624 playlistwin_update_list(playlist_get_active()); | |
3221
9583cd62231f
implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents:
3217
diff
changeset
|
625 gtk_widget_queue_draw(playlistwin_list); |
2313 | 626 } |
627 | |
628 /* format detection */ | |
629 static void | |
630 on_audio_format_det_cb_toggled(GtkToggleButton * button, | |
631 gpointer data) | |
632 { | |
633 cfg.playlist_detect = gtk_toggle_button_get_active(button); | |
634 } | |
635 | |
636 static void | |
637 on_audio_format_det_cb_realize(GtkToggleButton * button, | |
638 gpointer data) | |
639 { | |
640 gtk_toggle_button_set_active(button, cfg.playlist_detect); | |
641 } | |
642 | |
643 static void | |
644 on_detect_by_extension_cb_toggled(GtkToggleButton * button, | |
645 gpointer data) | |
646 { | |
647 cfg.use_extension_probing = gtk_toggle_button_get_active(button); | |
648 } | |
649 | |
650 static void | |
651 on_detect_by_extension_cb_realize(GtkToggleButton * button, | |
652 gpointer data) | |
653 { | |
654 gtk_toggle_button_set_active(button, cfg.use_extension_probing); | |
655 } | |
656 | |
657 /* proxy */ | |
658 static void | |
659 on_proxy_use_realize(GtkToggleButton * button, | |
660 gpointer data) | |
661 { | |
662 ConfigDb *db; | |
663 gboolean ret; | |
664 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
665 db = cfg_db_open(); |
2313 | 666 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
667 if (cfg_db_get_bool(db, NULL, "use_proxy", &ret) != FALSE) |
2313 | 668 gtk_toggle_button_set_active(button, ret); |
669 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
670 cfg_db_close(db); |
2313 | 671 } |
672 | |
673 static void | |
674 on_proxy_use_toggled(GtkToggleButton * button, | |
675 gpointer data) | |
676 { | |
677 ConfigDb *db; | |
678 gboolean ret = gtk_toggle_button_get_active(button); | |
679 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
680 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
681 cfg_db_set_bool(db, NULL, "use_proxy", ret); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
682 cfg_db_close(db); |
2313 | 683 } |
684 | |
685 static void | |
686 on_proxy_auth_realize(GtkToggleButton * button, | |
687 gpointer data) | |
688 { | |
689 ConfigDb *db; | |
690 gboolean ret; | |
691 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
692 db = cfg_db_open(); |
2313 | 693 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
694 if (cfg_db_get_bool(db, NULL, "proxy_use_auth", &ret) != FALSE) |
2313 | 695 gtk_toggle_button_set_active(button, ret); |
696 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
697 cfg_db_close(db); |
2313 | 698 } |
699 | |
700 static void | |
701 on_proxy_auth_toggled(GtkToggleButton * button, | |
702 gpointer data) | |
703 { | |
704 ConfigDb *db; | |
705 gboolean ret = gtk_toggle_button_get_active(button); | |
706 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
707 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
708 cfg_db_set_bool(db, NULL, "proxy_use_auth", ret); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
709 cfg_db_close(db); |
2313 | 710 } |
711 | |
712 static void | |
713 on_proxy_host_realize(GtkEntry * entry, | |
714 gpointer data) | |
715 { | |
716 ConfigDb *db; | |
717 gchar *ret; | |
718 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
719 db = cfg_db_open(); |
2313 | 720 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
721 if (cfg_db_get_string(db, NULL, "proxy_host", &ret) != FALSE) |
2313 | 722 gtk_entry_set_text(entry, ret); |
723 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
724 cfg_db_close(db); |
2313 | 725 } |
726 | |
727 static void | |
728 on_proxy_host_changed(GtkEntry * entry, | |
729 gpointer data) | |
730 { | |
731 ConfigDb *db; | |
732 gchar *ret = g_strdup(gtk_entry_get_text(entry)); | |
733 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
734 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
735 cfg_db_set_string(db, NULL, "proxy_host", ret); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
736 cfg_db_close(db); |
2313 | 737 |
738 g_free(ret); | |
739 } | |
740 | |
741 static void | |
742 on_proxy_port_realize(GtkEntry * entry, | |
743 gpointer data) | |
744 { | |
745 ConfigDb *db; | |
746 gchar *ret; | |
747 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
748 db = cfg_db_open(); |
2313 | 749 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
750 if (cfg_db_get_string(db, NULL, "proxy_port", &ret) != FALSE) |
2313 | 751 gtk_entry_set_text(entry, ret); |
752 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
753 cfg_db_close(db); |
2313 | 754 } |
755 | |
756 static void | |
757 on_proxy_port_changed(GtkEntry * entry, | |
758 gpointer data) | |
759 { | |
760 ConfigDb *db; | |
761 gchar *ret = g_strdup(gtk_entry_get_text(entry)); | |
762 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
763 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
764 cfg_db_set_string(db, NULL, "proxy_port", ret); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
765 cfg_db_close(db); |
2313 | 766 |
767 g_free(ret); | |
768 } | |
769 | |
770 static void | |
771 on_proxy_user_realize(GtkEntry * entry, | |
772 gpointer data) | |
773 { | |
774 ConfigDb *db; | |
775 gchar *ret; | |
776 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
777 db = cfg_db_open(); |
2313 | 778 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
779 if (cfg_db_get_string(db, NULL, "proxy_user", &ret) != FALSE) |
2313 | 780 gtk_entry_set_text(entry, ret); |
781 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
782 cfg_db_close(db); |
2313 | 783 } |
784 | |
785 static void | |
786 on_proxy_user_changed(GtkEntry * entry, | |
787 gpointer data) | |
788 { | |
789 ConfigDb *db; | |
790 gchar *ret = g_strdup(gtk_entry_get_text(entry)); | |
791 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
792 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
793 cfg_db_set_string(db, NULL, "proxy_user", ret); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
794 cfg_db_close(db); |
2313 | 795 |
796 g_free(ret); | |
797 } | |
798 | |
799 static void | |
800 on_proxy_pass_realize(GtkEntry * entry, | |
801 gpointer data) | |
802 { | |
803 ConfigDb *db; | |
804 gchar *ret; | |
805 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
806 db = cfg_db_open(); |
2313 | 807 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
808 if (cfg_db_get_string(db, NULL, "proxy_pass", &ret) != FALSE) |
2313 | 809 gtk_entry_set_text(entry, ret); |
810 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
811 cfg_db_close(db); |
2313 | 812 } |
813 | |
814 static void | |
815 on_proxy_pass_changed(GtkEntry * entry, | |
816 gpointer data) | |
817 { | |
818 ConfigDb *db; | |
819 gchar *ret = g_strdup(gtk_entry_get_text(entry)); | |
820 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
821 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
822 cfg_db_set_string(db, NULL, "proxy_pass", ret); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
823 cfg_db_close(db); |
2313 | 824 |
825 g_free(ret); | |
826 } | |
827 | |
828 static void | |
3356 | 829 plugin_treeview_open_prefs(GtkTreeView *treeview) |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
830 { |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
831 GtkTreeSelection *selection; |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
832 GtkTreeModel *model; |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
833 GtkTreeIter iter; |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
834 Plugin *plugin = NULL; |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
835 |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
836 selection = gtk_tree_view_get_selection(treeview); |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
837 if (!gtk_tree_selection_get_selected(selection, &model, &iter)) |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
838 return; |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
839 gtk_tree_model_get(model, &iter, PLUGIN_VIEW_COL_PLUGIN_PTR, &plugin, -1); |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
840 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
841 g_return_if_fail(plugin != NULL); |
3542
f8880f2e0501
Fix crash on calling plugin->configure() in preferences when plugin->configure==NULL
Sascha Hlusiak <contact@saschahlusiak.de>
parents:
3442
diff
changeset
|
842 g_return_if_fail(plugin->configure != NULL); |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
843 |
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
844 plugin->configure(); |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
845 } |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
846 |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
847 static void |
3357 | 848 plugin_treeview_open_info(GtkTreeView *treeview) |
849 { | |
850 GtkTreeSelection *selection; | |
851 GtkTreeModel *model; | |
852 GtkTreeIter iter; | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
853 Plugin *plugin = NULL; |
3357 | 854 |
855 selection = gtk_tree_view_get_selection(treeview); | |
856 if (!gtk_tree_selection_get_selected(selection, &model, &iter)) | |
857 return; | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
858 gtk_tree_model_get(model, &iter, PLUGIN_VIEW_COL_PLUGIN_PTR, &plugin, -1); |
3357 | 859 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
860 g_return_if_fail(plugin != NULL); |
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
861 |
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
862 plugin->about(); |
3357 | 863 } |
864 | |
865 static void | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
866 plugin_treeview_enable_prefs(GtkTreeView * treeview, GtkButton * button) |
2313 | 867 { |
868 GtkTreeSelection *selection; | |
869 GtkTreeModel *model; | |
870 GtkTreeIter iter; | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
871 Plugin *plugin = NULL; |
2313 | 872 |
873 selection = gtk_tree_view_get_selection(treeview); | |
874 if (!gtk_tree_selection_get_selected(selection, &model, &iter)) | |
875 return; | |
876 | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
877 gtk_tree_model_get(model, &iter, PLUGIN_VIEW_COL_PLUGIN_PTR, &plugin, -1); |
2313 | 878 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
879 g_return_if_fail(plugin != NULL); |
2313 | 880 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
881 gtk_widget_set_sensitive(GTK_WIDGET(button), plugin->configure != NULL); |
2313 | 882 } |
883 | |
884 static void | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
885 plugin_treeview_enable_info(GtkTreeView * treeview, GtkButton * button) |
2313 | 886 { |
887 GtkTreeSelection *selection; | |
888 GtkTreeModel *model; | |
889 GtkTreeIter iter; | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
890 Plugin *plugin = NULL; |
2313 | 891 |
892 selection = gtk_tree_view_get_selection(treeview); | |
893 if (!gtk_tree_selection_get_selected(selection, &model, &iter)) | |
894 return; | |
895 | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
896 gtk_tree_model_get(model, &iter, PLUGIN_VIEW_COL_PLUGIN_PTR, &plugin, -1); |
2313 | 897 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
898 g_return_if_fail(plugin != NULL); |
2313 | 899 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
900 gtk_widget_set_sensitive(GTK_WIDGET(button), plugin->about != NULL); |
2313 | 901 } |
902 | |
903 | |
904 static void | |
905 output_plugin_enable_info(GtkComboBox * cbox, GtkButton * button) | |
906 { | |
907 GList *plist; | |
908 | |
909 gint id = gtk_combo_box_get_active(cbox); | |
910 | |
911 plist = get_output_list(); | |
912 plist = g_list_nth(plist, id); | |
913 | |
914 gtk_widget_set_sensitive(GTK_WIDGET(button), | |
915 OUTPUT_PLUGIN(plist->data)->about != NULL); | |
916 } | |
917 | |
918 static void | |
919 output_plugin_enable_prefs(GtkComboBox * cbox, GtkButton * button) | |
920 { | |
921 GList *plist; | |
922 gint id = gtk_combo_box_get_active(cbox); | |
923 | |
924 plist = get_output_list(); | |
925 plist = g_list_nth(plist, id); | |
926 | |
927 gtk_widget_set_sensitive(GTK_WIDGET(button), | |
928 OUTPUT_PLUGIN(plist->data)->configure != NULL); | |
929 } | |
930 | |
931 static void | |
932 on_output_plugin_bufsize_realize(GtkSpinButton *button, | |
933 gpointer data) | |
934 { | |
935 gtk_spin_button_set_value(button, cfg.output_buffer_size); | |
936 } | |
937 | |
938 static void | |
939 on_output_plugin_bufsize_value_changed(GtkSpinButton *button, | |
940 gpointer data) | |
941 { | |
942 cfg.output_buffer_size = gtk_spin_button_get_value_as_int(button); | |
943 } | |
944 | |
945 static void | |
946 on_mouse_wheel_volume_realize(GtkSpinButton * button, | |
947 gpointer data) | |
948 { | |
949 gtk_spin_button_set_value(button, cfg.mouse_change); | |
950 } | |
951 | |
952 static void | |
953 on_mouse_wheel_volume_changed(GtkSpinButton * button, | |
954 gpointer data) | |
955 { | |
956 cfg.mouse_change = gtk_spin_button_get_value_as_int(button); | |
957 } | |
958 | |
959 static void | |
960 on_pause_between_songs_time_realize(GtkSpinButton * button, | |
961 gpointer data) | |
962 { | |
963 gtk_spin_button_set_value(button, cfg.pause_between_songs_time); | |
964 } | |
965 | |
966 static void | |
967 on_pause_between_songs_time_changed(GtkSpinButton * button, | |
968 gpointer data) | |
969 { | |
970 cfg.pause_between_songs_time = gtk_spin_button_get_value_as_int(button); | |
971 } | |
972 | |
973 static void | |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
974 on_enable_src_realize(GtkToggleButton * button, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
975 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
976 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
977 #ifdef USE_SRC |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
978 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
979 gboolean ret; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
980 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
981 db = cfg_db_open(); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
982 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
983 if (cfg_db_get_bool(db, NULL, "enable_src", &ret) != FALSE) |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
984 gtk_toggle_button_set_active(button, ret); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
985 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
986 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
987 #else |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
988 gtk_toggle_button_set_active(button, FALSE); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
989 gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
990 #endif |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
991 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
992 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
993 static void |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
994 on_enable_src_toggled(GtkToggleButton * button, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
995 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
996 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
997 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
998 gboolean ret = gtk_toggle_button_get_active(button); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
999 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1000 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1001 cfg_db_set_bool(db, NULL, "enable_src", ret); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1002 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1003 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1004 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1005 static void |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1006 on_src_rate_realize(GtkSpinButton * button, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1007 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1008 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1009 #ifdef USE_SRC |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1010 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1011 gint value; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1012 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1013 db = cfg_db_open(); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1014 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1015 if (cfg_db_get_int(db, NULL, "src_rate", &value) != FALSE) |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1016 gtk_spin_button_set_value(button, (gdouble)value); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1017 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1018 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1019 #else |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1020 gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1021 #endif |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1022 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1023 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1024 static void |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1025 on_src_rate_value_changed(GtkSpinButton * button, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1026 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1027 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1028 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1029 gint value = gtk_spin_button_get_value_as_int(button); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1030 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1031 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1032 cfg_db_set_int(db, NULL, "src_rate", value); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1033 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1034 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1035 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1036 static void |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1037 on_src_converter_type_realize(GtkComboBox * box, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1038 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1039 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1040 #ifdef USE_SRC |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1041 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1042 gint value; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1043 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1044 db = cfg_db_open(); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1045 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1046 if (cfg_db_get_int(db, NULL, "src_type", &value) != FALSE) |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1047 gtk_combo_box_set_active(box, value); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1048 else |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1049 gtk_combo_box_set_active(box, 0); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1050 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1051 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1052 #else |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1053 gtk_widget_set_sensitive(GTK_WIDGET(box), FALSE); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1054 #endif |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1055 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1056 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1057 static void |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1058 on_src_converter_type_changed(GtkComboBox * box, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1059 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1060 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1061 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1062 gint value = gtk_combo_box_get_active(box); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1063 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1064 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1065 cfg_db_set_int(db, NULL, "src_type", value); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1066 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1067 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1068 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1069 static void |
2313 | 1070 on_mouse_wheel_scroll_pl_realize(GtkSpinButton * button, |
1071 gpointer data) | |
1072 { | |
1073 gtk_spin_button_set_value(button, cfg.scroll_pl_by); | |
1074 } | |
1075 | |
1076 static void | |
1077 on_mouse_wheel_scroll_pl_changed(GtkSpinButton * button, | |
1078 gpointer data) | |
1079 { | |
1080 cfg.scroll_pl_by = gtk_spin_button_get_value_as_int(button); | |
1081 } | |
1082 | |
1083 static void | |
1084 on_playlist_convert_underscore_realize(GtkToggleButton * button, | |
1085 gpointer data) | |
1086 { | |
1087 gtk_toggle_button_set_active(button, cfg.convert_underscore); | |
1088 } | |
1089 | |
1090 static void | |
1091 on_playlist_convert_underscore_toggled(GtkToggleButton * button, | |
1092 gpointer data) | |
1093 { | |
1094 cfg.convert_underscore = gtk_toggle_button_get_active(button); | |
1095 } | |
1096 | |
1097 static void | |
1098 on_playlist_no_advance_realize(GtkToggleButton * button, gpointer data) | |
1099 { | |
1100 gtk_toggle_button_set_active(button, cfg.no_playlist_advance); | |
1101 } | |
1102 | |
1103 static void | |
1104 on_playlist_no_advance_toggled(GtkToggleButton * button, gpointer data) | |
1105 { | |
1106 cfg.no_playlist_advance = gtk_toggle_button_get_active(button); | |
1107 } | |
1108 | |
1109 static void | |
1110 on_continue_playback_on_startup_realize(GtkToggleButton * button, gpointer data) | |
1111 { | |
1112 gtk_toggle_button_set_active(button, cfg.resume_playback_on_startup); | |
1113 } | |
1114 | |
1115 static void | |
3544
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1116 on_software_volume_control_toggled(GtkToggleButton * button, gpointer data) |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1117 { |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1118 cfg.software_volume_control = gtk_toggle_button_get_active(button); |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1119 } |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1120 |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1121 static void |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1122 on_software_volume_control_realize(GtkToggleButton * button, gpointer data) |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1123 { |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1124 gtk_toggle_button_set_active(button, cfg.software_volume_control); |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1125 } |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1126 |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1127 static void |
2313 | 1128 on_continue_playback_on_startup_toggled(GtkToggleButton * button, gpointer data) |
1129 { | |
1130 cfg.resume_playback_on_startup = gtk_toggle_button_get_active(button); | |
1131 } | |
1132 | |
1133 static void | |
1134 on_refresh_file_list_realize(GtkToggleButton * button, gpointer data) | |
1135 { | |
1136 gtk_toggle_button_set_active(button, cfg.refresh_file_list); | |
1137 } | |
1138 | |
1139 static void | |
1140 on_refresh_file_list_toggled(GtkToggleButton * button, gpointer data) | |
1141 { | |
1142 cfg.refresh_file_list = gtk_toggle_button_get_active(button); | |
1143 } | |
1144 | |
1145 static void | |
1146 on_playlist_convert_twenty_realize(GtkToggleButton * button, gpointer data) | |
1147 { | |
1148 gtk_toggle_button_set_active(button, cfg.convert_twenty); | |
1149 } | |
1150 | |
1151 static void | |
1152 on_playlist_convert_twenty_toggled(GtkToggleButton * button, gpointer data) | |
1153 { | |
1154 cfg.convert_twenty = gtk_toggle_button_get_active(button); | |
1155 } | |
1156 | |
1157 static void | |
1158 on_playlist_convert_slash_realize(GtkToggleButton * button, gpointer data) | |
1159 { | |
1160 gtk_toggle_button_set_active(button, cfg.convert_slash); | |
1161 } | |
1162 | |
1163 static void | |
1164 on_playlist_convert_slash_toggled(GtkToggleButton * button, gpointer data) | |
1165 { | |
1166 cfg.convert_slash = gtk_toggle_button_get_active(button); | |
1167 } | |
1168 | |
1169 static void | |
1170 on_use_pl_metadata_realize(GtkToggleButton * button, | |
1171 gpointer data) | |
1172 { | |
1173 gboolean state = cfg.use_pl_metadata; | |
1174 gtk_toggle_button_set_active(button, state); | |
1175 gtk_widget_set_sensitive(GTK_WIDGET(data), state); | |
1176 } | |
1177 | |
1178 static void | |
1179 on_use_pl_metadata_toggled(GtkToggleButton * button, | |
1180 gpointer data) | |
1181 { | |
1182 gboolean state = gtk_toggle_button_get_active(button); | |
1183 cfg.use_pl_metadata = state; | |
1184 gtk_widget_set_sensitive(GTK_WIDGET(data), state); | |
1185 } | |
1186 | |
1187 static void | |
1188 on_pause_between_songs_realize(GtkToggleButton * button, | |
1189 gpointer data) | |
1190 { | |
1191 gboolean state = cfg.pause_between_songs; | |
1192 gtk_toggle_button_set_active(button, state); | |
1193 gtk_widget_set_sensitive(GTK_WIDGET(data), state); | |
1194 } | |
1195 | |
1196 static void | |
1197 on_pause_between_songs_toggled(GtkToggleButton * button, | |
1198 gpointer data) | |
1199 { | |
1200 gboolean state = gtk_toggle_button_get_active(button); | |
1201 cfg.pause_between_songs = state; | |
1202 gtk_widget_set_sensitive(GTK_WIDGET(data), state); | |
1203 } | |
1204 | |
1205 static void | |
1206 on_pl_metadata_on_load_realize(GtkRadioButton * button, | |
1207 gpointer data) | |
1208 { | |
1209 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), | |
1210 cfg.get_info_on_load); | |
1211 } | |
1212 | |
1213 static void | |
1214 on_pl_metadata_on_display_realize(GtkRadioButton * button, | |
1215 gpointer data) | |
1216 { | |
1217 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), | |
1218 cfg.get_info_on_demand); | |
1219 } | |
1220 | |
1221 static void | |
1222 on_pl_metadata_on_load_toggled(GtkRadioButton * button, | |
1223 gpointer data) | |
1224 { | |
1225 cfg.get_info_on_load = | |
1226 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)); | |
1227 } | |
1228 | |
1229 static void | |
1230 on_pl_metadata_on_display_toggled(GtkRadioButton * button, | |
1231 gpointer data) | |
1232 { | |
1233 cfg.get_info_on_demand = | |
1234 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)); | |
1235 } | |
1236 | |
1237 static void | |
1238 on_custom_cursors_realize(GtkToggleButton * button, | |
1239 gpointer data) | |
1240 { | |
1241 gtk_toggle_button_set_active(button, cfg.custom_cursors); | |
1242 } | |
1243 | |
1244 static void | |
1245 on_custom_cursors_toggled(GtkToggleButton *togglebutton, | |
1246 gpointer data) | |
1247 { | |
1248 cfg.custom_cursors = gtk_toggle_button_get_active(togglebutton); | |
1249 skin_reload_forced(); | |
1250 } | |
1251 | |
1252 static void | |
1253 on_eq_dir_preset_entry_realize(GtkEntry * entry, | |
1254 gpointer data) | |
1255 { | |
1256 gtk_entry_set_text(entry, cfg.eqpreset_default_file); | |
1257 } | |
1258 | |
1259 static void | |
1260 on_eq_dir_preset_entry_changed(GtkEntry * entry, | |
1261 gpointer data) | |
1262 { | |
1263 g_free(cfg.eqpreset_default_file); | |
1264 cfg.eqpreset_default_file = g_strdup(gtk_entry_get_text(entry)); | |
1265 } | |
1266 | |
1267 static void | |
1268 on_eq_file_preset_entry_realize(GtkEntry * entry, | |
1269 gpointer data) | |
1270 { | |
1271 gtk_entry_set_text(entry, cfg.eqpreset_extension); | |
1272 } | |
1273 | |
1274 static void | |
1275 on_eq_file_preset_entry_changed(GtkEntry * entry, gpointer data) | |
1276 { | |
1277 const gchar *text = gtk_entry_get_text(entry); | |
1278 | |
1279 while (*text == '.') | |
1280 text++; | |
1281 | |
1282 g_free(cfg.eqpreset_extension); | |
1283 cfg.eqpreset_extension = g_strdup(text); | |
1284 } | |
1285 | |
1286 | |
1287 /* FIXME: implement these */ | |
1288 | |
1289 static void | |
1290 on_eq_preset_view_realize(GtkTreeView * treeview, | |
1291 gpointer data) | |
1292 {} | |
1293 | |
1294 static void | |
1295 on_eq_preset_add_clicked(GtkButton * button, | |
1296 gpointer data) | |
1297 {} | |
1298 | |
1299 static void | |
1300 on_eq_preset_remove_clicked(GtkButton * button, | |
1301 gpointer data) | |
1302 {} | |
1303 | |
1304 static void | |
1305 on_skin_refresh_button_clicked(GtkButton * button, | |
1306 gpointer data) | |
1307 { | |
1308 GladeXML *xml; | |
1309 GtkWidget *widget, *widget2; | |
1310 | |
1311 const mode_t mode755 = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; | |
1312 | |
1313 del_directory(bmp_paths[BMP_PATH_SKIN_THUMB_DIR]); | |
1314 make_directory(bmp_paths[BMP_PATH_SKIN_THUMB_DIR], mode755); | |
1315 | |
1316 xml = prefswin_get_xml(); | |
1317 | |
1318 widget = glade_xml_get_widget(xml, "skin_view"); | |
1319 widget2 = glade_xml_get_widget(xml, "skin_refresh_button"); | |
1320 skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(widget2)); | |
1321 } | |
1322 | |
1323 static gboolean | |
1324 on_skin_view_realize(GtkTreeView * treeview, | |
1325 gpointer data) | |
1326 { | |
1327 GladeXML *xml; | |
1328 GtkWidget *widget; | |
1329 | |
1330 xml = prefswin_get_xml(); | |
1331 widget = glade_xml_get_widget(xml, "skin_refresh_button"); | |
1332 skin_view_realize(treeview); | |
1333 | |
1334 return TRUE; | |
1335 } | |
1336 | |
1337 static void | |
1338 on_category_view_realize(GtkTreeView * treeview, | |
1339 GtkNotebook * notebook) | |
1340 { | |
1341 GtkListStore *store; | |
1342 GtkCellRenderer *renderer; | |
1343 GtkTreeViewColumn *column; | |
1344 GtkTreeSelection *selection; | |
1345 GtkTreeIter iter; | |
1346 GdkPixbuf *img; | |
1347 CategoryQueueEntry *qlist; | |
1348 gint i; | |
1349 | |
1350 column = gtk_tree_view_column_new(); | |
1351 gtk_tree_view_column_set_title(column, _("Category")); | |
1352 gtk_tree_view_append_column(treeview, column); | |
1353 gtk_tree_view_column_set_spacing(column, 2); | |
1354 | |
1355 renderer = gtk_cell_renderer_pixbuf_new(); | |
1356 gtk_tree_view_column_pack_start(column, renderer, FALSE); | |
1357 gtk_tree_view_column_set_attributes(column, renderer, "pixbuf", 0, NULL); | |
1358 | |
1359 renderer = gtk_cell_renderer_text_new(); | |
1360 gtk_tree_view_column_pack_start(column, renderer, FALSE); | |
1361 gtk_tree_view_column_set_attributes(column, renderer, "text", 1, NULL); | |
1362 | |
1363 store = gtk_list_store_new(CATEGORY_VIEW_N_COLS, | |
1364 GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT); | |
1365 gtk_tree_view_set_model(treeview, GTK_TREE_MODEL(store)); | |
1366 | |
1367 for (i = 0; i < n_categories; i++) { | |
1368 img = gdk_pixbuf_new_from_file(categories[i].icon_path, NULL); | |
1369 gtk_list_store_append(store, &iter); | |
1370 gtk_list_store_set(store, &iter, | |
1371 CATEGORY_VIEW_COL_ICON, img, | |
1372 CATEGORY_VIEW_COL_NAME, | |
1373 gettext(categories[i].name), CATEGORY_VIEW_COL_ID, | |
1374 categories[i].id, -1); | |
1375 g_object_unref(img); | |
1376 } | |
1377 | |
1378 selection = gtk_tree_view_get_selection(treeview); | |
1379 | |
1380 g_signal_connect_swapped(selection, "changed", | |
1381 G_CALLBACK(change_category), notebook); | |
1382 | |
1383 /* mark the treeview widget as available to third party plugins */ | |
1384 category_treeview = GTK_WIDGET(treeview); | |
1385 | |
1386 /* prefswin_page_queue_destroy already pops the queue forward for us. */ | |
1387 for (qlist = category_queue; qlist != NULL; qlist = category_queue) | |
1388 { | |
1389 CategoryQueueEntry *ent = (CategoryQueueEntry *) qlist; | |
1390 | |
1391 prefswin_page_new(ent->container, ent->pg_name, ent->img_url); | |
1392 prefswin_page_queue_destroy(ent); | |
1393 } | |
1394 } | |
1395 | |
1396 static void | |
1397 on_skin_view_drag_data_received(GtkWidget * widget, | |
1398 GdkDragContext * context, | |
1399 gint x, gint y, | |
1400 GtkSelectionData * selection_data, | |
1401 guint info, guint time, | |
1402 gpointer user_data) | |
1403 { | |
1404 ConfigDb *db; | |
1405 gchar *path; | |
1406 | |
1407 GladeXML *xml; | |
1408 GtkWidget *widget2; | |
1409 | |
1410 if (!selection_data->data) { | |
1411 g_warning("DND data string is NULL"); | |
1412 return; | |
1413 } | |
1414 | |
1415 path = (gchar *) selection_data->data; | |
1416 | |
1417 /* FIXME: use a real URL validator/parser */ | |
1418 | |
1419 if (str_has_prefix_nocase(path, "file:///")) { | |
1420 path[strlen(path) - 2] = 0; /* Why the hell a CR&LF? */ | |
1421 path += 7; | |
1422 } | |
1423 else if (str_has_prefix_nocase(path, "file:")) { | |
1424 path += 5; | |
1425 } | |
1426 | |
1427 if (file_is_archive(path)) { | |
1428 bmp_active_skin_load(path); | |
1429 skin_install_skin(path); | |
1430 xml = prefswin_get_xml(); | |
1431 widget2 = glade_xml_get_widget(xml, "skin_refresh_button"); | |
1432 skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(widget2)); | |
1433 /* Change skin name in the config file */ | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1434 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1435 cfg_db_set_string(db, NULL, "skin", path); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1436 cfg_db_close(db); |
2313 | 1437 } |
1438 | |
1439 } | |
1440 | |
1441 static void | |
1442 on_chardet_detector_cbox_changed(GtkComboBox * combobox, gpointer data) | |
1443 { | |
1444 ConfigDb *db; | |
1445 gint position = 0; | |
1446 | |
1447 position = gtk_combo_box_get_active(GTK_COMBO_BOX(combobox)); | |
1448 cfg.chardet_detector = (char *)chardet_detector_presets[position]; | |
1449 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1450 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1451 cfg_db_set_string(db, NULL, "chardet_detector", cfg.chardet_detector); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1452 cfg_db_close(db); |
2313 | 1453 if (data != NULL) |
1454 gtk_widget_set_sensitive(GTK_WIDGET(data), 1); | |
1455 } | |
1456 | |
1457 static void | |
1458 on_chardet_detector_cbox_realize(GtkComboBox *combobox, gpointer data) | |
1459 { | |
1460 ConfigDb *db; | |
1461 gchar *ret=NULL; | |
1462 guint i=0,index=0; | |
1463 | |
1464 for(i=0; i<n_chardet_detector_presets; i++) { | |
1465 gtk_combo_box_append_text(combobox, chardet_detector_presets[i]); | |
1466 } | |
1467 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1468 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1469 if(cfg_db_get_string(db, NULL, "chardet_detector", &ret) != FALSE) { |
2313 | 1470 for(i=0; i<n_chardet_detector_presets; i++) { |
1471 if(!strcmp(chardet_detector_presets[i], ret)) { | |
1472 cfg.chardet_detector = (char *)chardet_detector_presets[i]; | |
1473 index = i; | |
1474 } | |
1475 } | |
1476 } | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1477 cfg_db_close(db); |
2313 | 1478 |
1479 #ifdef USE_CHARDET | |
1480 gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), index); | |
1481 | |
1482 if (data != NULL) | |
1483 gtk_widget_set_sensitive(GTK_WIDGET(data), TRUE); | |
1484 | |
1485 g_signal_connect(combobox, "changed", | |
1486 G_CALLBACK(on_chardet_detector_cbox_changed), NULL); | |
1487 #else | |
1488 gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), -1); | |
1489 gtk_widget_set_sensitive(GTK_WIDGET(combobox), 0); | |
1490 #endif | |
1491 if(ret) | |
1492 g_free(ret); | |
1493 } | |
1494 | |
1495 static void | |
1496 on_chardet_fallback_realize(GtkEntry *entry, gpointer data) | |
1497 { | |
1498 ConfigDb *db; | |
1499 gchar *ret = NULL; | |
1500 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1501 db = cfg_db_open(); |
2313 | 1502 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1503 if (cfg_db_get_string(db, NULL, "chardet_fallback", &ret) != FALSE) { |
2313 | 1504 if(cfg.chardet_fallback) |
1505 g_free(cfg.chardet_fallback); | |
1506 | |
1507 if(ret && strncasecmp(ret, "None", sizeof("None"))) { | |
1508 cfg.chardet_fallback = ret; | |
1509 } else { | |
1510 cfg.chardet_fallback = g_strdup(""); | |
1511 } | |
1512 gtk_entry_set_text(entry, cfg.chardet_fallback); | |
1513 } | |
1514 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1515 cfg_db_close(db); |
2313 | 1516 } |
1517 | |
1518 static void | |
1519 on_chardet_fallback_changed(GtkEntry *entry, gpointer data) | |
1520 { | |
1521 ConfigDb *db; | |
1522 gchar *ret = NULL; | |
1523 | |
1524 if(cfg.chardet_fallback) | |
1525 g_free(cfg.chardet_fallback); | |
1526 | |
1527 ret = g_strdup(gtk_entry_get_text(entry)); | |
1528 | |
1529 if(ret == NULL) | |
1530 cfg.chardet_fallback = g_strdup(""); | |
1531 else | |
1532 cfg.chardet_fallback = ret; | |
1533 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1534 db = cfg_db_open(); |
2313 | 1535 |
1536 if(cfg.chardet_fallback == NULL || !strcmp(cfg.chardet_fallback, "")) | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1537 cfg_db_set_string(db, NULL, "chardet_fallback", "None"); |
2313 | 1538 else |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1539 cfg_db_set_string(db, NULL, "chardet_fallback", cfg.chardet_fallback); |
2313 | 1540 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1541 cfg_db_close(db); |
2313 | 1542 } |
1543 | |
1544 static void | |
1545 on_show_filepopup_for_tuple_realize(GtkToggleButton * button, gpointer data) | |
1546 { | |
1547 GladeXML *xml = prefswin_get_xml(); | |
1548 GtkWidget *settings_button = glade_xml_get_widget(xml, "filepopup_for_tuple_settings_button"); | |
1549 | |
1550 gtk_toggle_button_set_active(button, cfg.show_filepopup_for_tuple); | |
1551 filepopupbutton = (GtkWidget *)button; | |
1552 | |
1553 gtk_widget_set_sensitive(settings_button, cfg.show_filepopup_for_tuple); | |
1554 } | |
1555 | |
1556 static void | |
1557 on_show_filepopup_for_tuple_toggled(GtkToggleButton * button, gpointer data) | |
1558 { | |
1559 GladeXML *xml = prefswin_get_xml(); | |
1560 GtkWidget *settings_button = glade_xml_get_widget(xml, "filepopup_for_tuple_settings_button"); | |
1561 | |
1562 cfg.show_filepopup_for_tuple = gtk_toggle_button_get_active(button); | |
1563 | |
1564 gtk_widget_set_sensitive(settings_button, cfg.show_filepopup_for_tuple); | |
1565 } | |
1566 | |
1567 static void | |
1568 on_recurse_for_cover_toggled(GtkToggleButton *button, gpointer data) | |
1569 { | |
1570 gtk_widget_set_sensitive(GTK_WIDGET(data), | |
1571 gtk_toggle_button_get_active(button)); | |
1572 } | |
1573 | |
1574 static void | |
1575 on_colorize_button_clicked(GtkButton *button, gpointer data) | |
1576 { | |
3992
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1577 if (colorize_settings) |
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1578 gtk_window_present(GTK_WINDOW(colorize_settings)); |
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1579 else |
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1580 create_colorize_settings(); |
2313 | 1581 } |
1582 | |
1583 static void | |
3856
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1584 reload_skin() |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1585 { |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1586 /* reload the skin to apply the change */ |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1587 skin_reload_forced(); |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1588 ui_skinned_window_draw_all(mainwin); |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1589 ui_skinned_window_draw_all(equalizerwin); |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1590 ui_skinned_window_draw_all(playlistwin); |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1591 } |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1592 |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1593 static void |
2313 | 1594 on_red_scale_value_changed(GtkHScale *scale, gpointer data) |
1595 { | |
3856
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1596 cfg.colorize_r = gtk_range_get_value(GTK_RANGE(scale)); |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1597 reload_skin(); |
2313 | 1598 } |
1599 | |
1600 static void | |
1601 on_green_scale_value_changed(GtkHScale *scale, gpointer data) | |
1602 { | |
3856
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1603 cfg.colorize_g = gtk_range_get_value(GTK_RANGE(scale)); |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1604 reload_skin(); |
2313 | 1605 } |
1606 | |
1607 static void | |
1608 on_blue_scale_value_changed(GtkHScale *scale, gpointer data) | |
1609 { | |
3856
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1610 cfg.colorize_b = gtk_range_get_value(GTK_RANGE(scale)); |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1611 reload_skin(); |
2313 | 1612 } |
1613 | |
1614 static void | |
1615 on_colorize_close_clicked(GtkButton *button, gpointer data) | |
1616 { | |
3992
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1617 gtk_widget_destroy(colorize_settings); |
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1618 colorize_settings = NULL; |
2313 | 1619 } |
1620 | |
1621 static void | |
1622 on_filepopup_for_tuple_settings_clicked(GtkButton *button, gpointer data) | |
1623 { | |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1624 gtk_entry_set_text(GTK_ENTRY(filepopup_settings_cover_name_include), cfg.cover_name_include); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1625 gtk_entry_set_text(GTK_ENTRY(filepopup_settings_cover_name_exclude), cfg.cover_name_exclude); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1626 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filepopup_settings_recurse_for_cover), cfg.recurse_for_cover); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1627 gtk_spin_button_set_value(GTK_SPIN_BUTTON(filepopup_settings_recurse_for_cover_depth), cfg.recurse_for_cover_depth); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1628 on_recurse_for_cover_toggled(GTK_TOGGLE_BUTTON(filepopup_settings_recurse_for_cover), filepopup_settings_recurse_for_cover_depth_box); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1629 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filepopup_settings_use_file_cover), cfg.use_file_cover); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1630 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filepopup_settings_showprogressbar), cfg.filepopup_showprogressbar); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1631 gtk_spin_button_set_value(GTK_SPIN_BUTTON(filepopup_settings_delay), cfg.filepopup_delay); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1632 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1633 gtk_widget_show(filepopup_settings); |
2313 | 1634 } |
1635 | |
1636 static void | |
1637 on_filepopup_settings_ok_clicked(GtkButton *button, gpointer data) | |
1638 { | |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1639 g_free(cfg.cover_name_include); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1640 cfg.cover_name_include = g_strdup(gtk_entry_get_text(GTK_ENTRY(filepopup_settings_cover_name_include))); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1641 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1642 g_free(cfg.cover_name_exclude); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1643 cfg.cover_name_exclude = g_strdup(gtk_entry_get_text(GTK_ENTRY(filepopup_settings_cover_name_exclude))); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1644 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1645 cfg.recurse_for_cover = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filepopup_settings_recurse_for_cover)); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1646 cfg.recurse_for_cover_depth = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(filepopup_settings_recurse_for_cover_depth)); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1647 cfg.use_file_cover = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filepopup_settings_use_file_cover)); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1648 cfg.filepopup_showprogressbar = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filepopup_settings_showprogressbar)); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1649 cfg.filepopup_delay = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(filepopup_settings_delay)); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1650 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1651 gtk_widget_hide(filepopup_settings); |
2313 | 1652 } |
1653 | |
1654 static void | |
1655 on_filepopup_settings_cancel_clicked(GtkButton *button, gpointer data) | |
1656 { | |
1657 gtk_widget_hide(filepopup_settings); | |
1658 } | |
1659 | |
1660 static void | |
1661 on_xmms_style_fileselector_realize(GtkToggleButton * button, | |
1662 gpointer data) | |
1663 { | |
1664 gtk_toggle_button_set_active(button, cfg.use_xmms_style_fileselector); | |
1665 } | |
1666 | |
1667 static void | |
1668 on_xmms_style_fileselector_toggled(GtkToggleButton * button, | |
1669 gpointer data) | |
1670 { | |
1671 cfg.use_xmms_style_fileselector = gtk_toggle_button_get_active(button); | |
1672 } | |
1673 | |
1674 static void | |
1675 on_show_wm_decorations_realize(GtkToggleButton * button, | |
1676 gpointer data) | |
1677 { | |
1678 gtk_toggle_button_set_active(button, cfg.show_wm_decorations); | |
1679 } | |
1680 | |
1681 static void | |
1682 on_show_wm_decorations_toggled(GtkToggleButton * button, | |
1683 gpointer data) | |
1684 { | |
1685 extern GtkWidget *equalizerwin; | |
1686 cfg.show_wm_decorations = gtk_toggle_button_get_active(button); | |
1687 gtk_window_set_decorated(GTK_WINDOW(mainwin), cfg.show_wm_decorations); | |
1688 gtk_window_set_decorated(GTK_WINDOW(playlistwin), cfg.show_wm_decorations); | |
1689 gtk_window_set_decorated(GTK_WINDOW(equalizerwin), cfg.show_wm_decorations); | |
2623 | 1690 } |
1691 | |
1692 static void | |
1693 on_reload_plugins_clicked(GtkButton * button, gpointer data) | |
1694 { | |
1695 /* TBD: should every playlist entry have to be reprobed? | |
1696 * Pointers could come back stale if new plugins are added or | |
1697 * symbol sizes change. - nenolod | |
1698 */ | |
1699 | |
2682
c3cd6e47faf6
[svn] - make the evil 'reload plugins' button behave a bit better
giacomo
parents:
2635
diff
changeset
|
1700 bmp_config_save(); |
2623 | 1701 plugin_system_cleanup(); |
2682
c3cd6e47faf6
[svn] - make the evil 'reload plugins' button behave a bit better
giacomo
parents:
2635
diff
changeset
|
1702 bmp_config_free(); |
c3cd6e47faf6
[svn] - make the evil 'reload plugins' button behave a bit better
giacomo
parents:
2635
diff
changeset
|
1703 bmp_config_load(); |
2623 | 1704 plugin_system_init(); |
2313 | 1705 } |
1706 | |
3712
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1707 static void |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1708 on_twoway_scroller_realize(GtkToggleButton * button, |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1709 gpointer data) |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1710 { |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1711 gtk_toggle_button_set_active(button, cfg.twoway_scroll); |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1712 } |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1713 |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1714 static void |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1715 on_twoway_scroller_toggled(GtkToggleButton * button, |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1716 gpointer data) |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1717 { |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1718 cfg.twoway_scroll = gtk_toggle_button_get_active(button); |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1719 //XXX need to redraw textbox? --yaz |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1720 } |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1721 |
2313 | 1722 /* FIXME: complete the map */ |
1723 FUNC_MAP_BEGIN(prefswin_func_map) | |
1724 FUNC_MAP_ENTRY(on_input_plugin_view_realize) | |
1725 FUNC_MAP_ENTRY(on_output_plugin_cbox_realize) | |
1726 FUNC_MAP_ENTRY(on_general_plugin_view_realize) | |
1727 FUNC_MAP_ENTRY(on_vis_plugin_view_realize) | |
1728 FUNC_MAP_ENTRY(on_effect_plugin_view_realize) | |
1729 FUNC_MAP_ENTRY(on_custom_cursors_realize) | |
1730 FUNC_MAP_ENTRY(on_custom_cursors_toggled) | |
1731 FUNC_MAP_ENTRY(on_mainwin_font_button_realize) | |
1732 FUNC_MAP_ENTRY(on_mainwin_font_button_font_set) | |
1733 FUNC_MAP_ENTRY(on_use_bitmap_fonts_realize) | |
1734 FUNC_MAP_ENTRY(on_use_bitmap_fonts_toggled) | |
1735 FUNC_MAP_ENTRY(on_mouse_wheel_volume_realize) | |
1736 FUNC_MAP_ENTRY(on_mouse_wheel_volume_changed) | |
1737 FUNC_MAP_ENTRY(on_mouse_wheel_scroll_pl_realize) | |
1738 FUNC_MAP_ENTRY(on_mouse_wheel_scroll_pl_changed) | |
1739 FUNC_MAP_ENTRY(on_pause_between_songs_time_realize) | |
1740 FUNC_MAP_ENTRY(on_pause_between_songs_time_changed) | |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1741 FUNC_MAP_ENTRY(on_enable_src_realize) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1742 FUNC_MAP_ENTRY(on_enable_src_toggled) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1743 FUNC_MAP_ENTRY(on_src_rate_realize) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1744 FUNC_MAP_ENTRY(on_src_rate_value_changed) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1745 FUNC_MAP_ENTRY(on_src_converter_type_realize) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
1746 FUNC_MAP_ENTRY(on_src_converter_type_changed) |
2313 | 1747 FUNC_MAP_ENTRY(on_pl_metadata_on_load_realize) |
1748 FUNC_MAP_ENTRY(on_pl_metadata_on_load_toggled) | |
1749 FUNC_MAP_ENTRY(on_pl_metadata_on_display_realize) | |
1750 FUNC_MAP_ENTRY(on_pl_metadata_on_display_toggled) | |
1751 FUNC_MAP_ENTRY(on_playlist_show_pl_numbers_realize) | |
1752 FUNC_MAP_ENTRY(on_playlist_show_pl_numbers_toggled) | |
1753 FUNC_MAP_ENTRY(on_playlist_show_pl_separator_realize) | |
1754 FUNC_MAP_ENTRY(on_playlist_show_pl_separator_toggled) | |
1755 FUNC_MAP_ENTRY(on_playlist_convert_twenty_realize) | |
1756 FUNC_MAP_ENTRY(on_playlist_convert_twenty_toggled) | |
1757 FUNC_MAP_ENTRY(on_playlist_convert_underscore_realize) | |
1758 FUNC_MAP_ENTRY(on_playlist_convert_underscore_toggled) | |
1759 FUNC_MAP_ENTRY(on_playlist_convert_slash_realize) | |
1760 FUNC_MAP_ENTRY(on_playlist_convert_slash_toggled) | |
1761 FUNC_MAP_ENTRY(on_playlist_font_button_realize) | |
1762 FUNC_MAP_ENTRY(on_playlist_font_button_font_set) | |
1763 FUNC_MAP_ENTRY(on_playlist_no_advance_realize) | |
1764 FUNC_MAP_ENTRY(on_playlist_no_advance_toggled) | |
1765 FUNC_MAP_ENTRY(on_refresh_file_list_realize) | |
1766 FUNC_MAP_ENTRY(on_refresh_file_list_toggled) | |
1767 FUNC_MAP_ENTRY(on_skin_view_realize) | |
1768 FUNC_MAP_ENTRY(on_titlestring_entry_realize) | |
1769 FUNC_MAP_ENTRY(on_titlestring_entry_changed) | |
1770 FUNC_MAP_ENTRY(on_eq_dir_preset_entry_realize) | |
1771 FUNC_MAP_ENTRY(on_eq_dir_preset_entry_changed) | |
1772 FUNC_MAP_ENTRY(on_eq_file_preset_entry_realize) | |
1773 FUNC_MAP_ENTRY(on_eq_file_preset_entry_changed) | |
1774 FUNC_MAP_ENTRY(on_eq_preset_view_realize) | |
1775 FUNC_MAP_ENTRY(on_eq_preset_add_clicked) | |
1776 FUNC_MAP_ENTRY(on_eq_preset_remove_clicked) | |
1777 FUNC_MAP_ENTRY(on_skin_refresh_button_clicked) | |
1778 FUNC_MAP_ENTRY(on_proxy_use_toggled) | |
1779 FUNC_MAP_ENTRY(on_proxy_use_realize) | |
1780 FUNC_MAP_ENTRY(on_proxy_auth_toggled) | |
1781 FUNC_MAP_ENTRY(on_proxy_auth_realize) | |
1782 FUNC_MAP_ENTRY(on_proxy_host_realize) | |
1783 FUNC_MAP_ENTRY(on_proxy_host_changed) | |
1784 FUNC_MAP_ENTRY(on_proxy_port_realize) | |
1785 FUNC_MAP_ENTRY(on_proxy_port_changed) | |
1786 FUNC_MAP_ENTRY(on_proxy_user_realize) | |
1787 FUNC_MAP_ENTRY(on_proxy_user_changed) | |
1788 FUNC_MAP_ENTRY(on_proxy_pass_realize) | |
1789 FUNC_MAP_ENTRY(on_proxy_pass_changed) | |
1790 FUNC_MAP_ENTRY(on_chardet_detector_cbox_realize) | |
1791 FUNC_MAP_ENTRY(on_chardet_detector_cbox_changed) | |
1792 FUNC_MAP_ENTRY(on_chardet_fallback_realize) | |
1793 FUNC_MAP_ENTRY(on_chardet_fallback_changed) | |
1794 FUNC_MAP_ENTRY(on_output_plugin_bufsize_realize) | |
1795 FUNC_MAP_ENTRY(on_output_plugin_bufsize_value_changed) | |
1796 FUNC_MAP_ENTRY(on_audio_format_det_cb_toggled) | |
1797 FUNC_MAP_ENTRY(on_audio_format_det_cb_realize) | |
1798 FUNC_MAP_ENTRY(on_detect_by_extension_cb_toggled) | |
1799 FUNC_MAP_ENTRY(on_detect_by_extension_cb_realize) | |
1800 FUNC_MAP_ENTRY(on_show_filepopup_for_tuple_realize) | |
1801 FUNC_MAP_ENTRY(on_show_filepopup_for_tuple_toggled) | |
1802 FUNC_MAP_ENTRY(on_filepopup_for_tuple_settings_clicked) | |
1803 FUNC_MAP_ENTRY(on_continue_playback_on_startup_realize) | |
1804 FUNC_MAP_ENTRY(on_continue_playback_on_startup_toggled) | |
3544
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1805 FUNC_MAP_ENTRY(on_software_volume_control_realize) |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
1806 FUNC_MAP_ENTRY(on_software_volume_control_toggled) |
2313 | 1807 |
1808 /* XMMS fileselector option -nenolod */ | |
1809 FUNC_MAP_ENTRY(on_xmms_style_fileselector_toggled) | |
1810 FUNC_MAP_ENTRY(on_xmms_style_fileselector_realize) | |
1811 | |
1812 /* show window manager decorations */ | |
1813 FUNC_MAP_ENTRY(on_show_wm_decorations_toggled) | |
1814 FUNC_MAP_ENTRY(on_show_wm_decorations_realize) | |
1815 | |
3712
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1816 /* two-way scroller */ |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1817 FUNC_MAP_ENTRY(on_twoway_scroller_toggled) |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1818 FUNC_MAP_ENTRY(on_twoway_scroller_realize) |
3ac3d2d8b909
- make scroller behavior configurable via preferences dialog.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3686
diff
changeset
|
1819 |
2313 | 1820 /* colorize */ |
1821 FUNC_MAP_ENTRY(on_colorize_button_clicked) | |
2623 | 1822 |
1823 FUNC_MAP_ENTRY(on_reload_plugins_clicked) | |
2313 | 1824 FUNC_MAP_END |
1825 | |
1826 void | |
3989
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1827 create_colorize_settings(void) |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1828 { |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1829 GtkWidget *vbox; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1830 GtkWidget *label; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1831 GtkWidget *table; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1832 GtkWidget *hbuttonbox; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1833 GtkWidget *colorize_close; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1834 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1835 GtkWidget *green_label; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1836 GtkWidget *red_label; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1837 GtkWidget *blue_label; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1838 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1839 colorize_settings = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1840 gtk_container_set_border_width(GTK_CONTAINER(colorize_settings), 12); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1841 gtk_window_set_title(GTK_WINDOW(colorize_settings), _("Color Adjustment")); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1842 gtk_window_set_type_hint(GTK_WINDOW(colorize_settings), GDK_WINDOW_TYPE_HINT_DIALOG); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1843 gtk_window_set_transient_for(GTK_WINDOW(colorize_settings), GTK_WINDOW(prefswin)); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1844 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1845 vbox = gtk_vbox_new(FALSE, 12); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1846 gtk_container_add(GTK_CONTAINER(colorize_settings), vbox); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1847 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1848 label = gtk_label_new(_("Audacious allows you to alter the color balance of the skinned UI. The sliders below will allow you to do this.")); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1849 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1850 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1851 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1852 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1853 table = gtk_table_new(3, 2, FALSE); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1854 gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1855 gtk_table_set_row_spacings(GTK_TABLE(table), 6); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1856 gtk_table_set_col_spacings(GTK_TABLE(table), 12); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1857 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1858 blue_label = gtk_label_new(_("Blue")); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1859 gtk_table_attach(GTK_TABLE(table), blue_label, 0, 1, 2, 3, |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1860 (GtkAttachOptions) (0), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1861 (GtkAttachOptions) (0), 0, 0); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1862 gtk_label_set_justify(GTK_LABEL(blue_label), GTK_JUSTIFY_RIGHT); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1863 gtk_misc_set_alignment(GTK_MISC(blue_label), 1, 0.5); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1864 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1865 green_label = gtk_label_new(_("Green")); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1866 gtk_table_attach(GTK_TABLE(table), green_label, 0, 1, 1, 2, |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1867 (GtkAttachOptions) (0), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1868 (GtkAttachOptions) (0), 0, 0); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1869 gtk_label_set_justify(GTK_LABEL(green_label), GTK_JUSTIFY_RIGHT); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1870 gtk_misc_set_alignment(GTK_MISC(green_label), 1, 0.5); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1871 |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1872 red_label = gtk_label_new(_("Red")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1873 gtk_table_attach(GTK_TABLE(table), red_label, 0, 1, 0, 1, |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1874 (GtkAttachOptions) (0), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1875 (GtkAttachOptions) (0), 0, 0); |
3989
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1876 gtk_label_set_justify(GTK_LABEL(red_label), GTK_JUSTIFY_RIGHT); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1877 gtk_misc_set_alignment(GTK_MISC(red_label), 1, 0.5); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1878 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1879 red_scale = gtk_hscale_new(GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, 255, 0, 0, 0))); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1880 gtk_table_attach(GTK_TABLE(table), red_scale, 1, 2, 0, 1, |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1881 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1882 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1883 gtk_scale_set_draw_value(GTK_SCALE(red_scale), FALSE); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1884 gtk_scale_set_digits(GTK_SCALE(red_scale), 3); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1885 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1886 green_scale = gtk_hscale_new(GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, 255, 0, 0, 0))); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1887 gtk_table_attach(GTK_TABLE(table), green_scale, 1, 2, 1, 2, |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1888 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1889 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1890 gtk_scale_set_draw_value(GTK_SCALE(green_scale), FALSE); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1891 gtk_scale_set_digits(GTK_SCALE(green_scale), 3); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1892 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1893 blue_scale = gtk_hscale_new(GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, 255, 0, 0, 0))); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1894 gtk_table_attach(GTK_TABLE(table), blue_scale, 1, 2, 2, 3, |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1895 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1896 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1897 gtk_scale_set_draw_value(GTK_SCALE(blue_scale), FALSE); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1898 gtk_scale_set_digits(GTK_SCALE(blue_scale), 3); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1899 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1900 hbuttonbox = gtk_hbutton_box_new(); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1901 gtk_box_pack_start(GTK_BOX(vbox), hbuttonbox, FALSE, FALSE, 0); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1902 gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1903 gtk_box_set_spacing(GTK_BOX(hbuttonbox), 6); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1904 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1905 colorize_close = gtk_button_new_from_stock("gtk-close"); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1906 gtk_container_add(GTK_CONTAINER(hbuttonbox), colorize_close); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1907 GTK_WIDGET_SET_FLAGS(colorize_close, GTK_CAN_DEFAULT); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1908 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1909 g_signal_connect((gpointer) red_scale, "value_changed", |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1910 G_CALLBACK (on_red_scale_value_changed), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1911 NULL); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1912 g_signal_connect((gpointer) green_scale, "value_changed", |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1913 G_CALLBACK(on_green_scale_value_changed), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1914 NULL); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1915 g_signal_connect((gpointer) blue_scale, "value_changed", |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1916 G_CALLBACK(on_blue_scale_value_changed), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1917 NULL); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1918 g_signal_connect((gpointer) colorize_close, "clicked", |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1919 G_CALLBACK(on_colorize_close_clicked), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1920 NULL); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1921 |
3991
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
1922 gtk_range_set_value(GTK_RANGE(red_scale), cfg.colorize_r); |
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
1923 gtk_range_set_value(GTK_RANGE(green_scale), cfg.colorize_g); |
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
1924 gtk_range_set_value(GTK_RANGE(blue_scale), cfg.colorize_b); |
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
1925 |
3989
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1926 gtk_widget_grab_default(colorize_close); |
3991
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
1927 gtk_widget_show_all(colorize_settings); |
3989
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1928 } |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1929 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1930 void |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1931 create_filepopup_settings(void) |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1932 { |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1933 GtkWidget *vbox; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1934 GtkWidget *table; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1935 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1936 GtkWidget *label_cover_retrieve; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1937 GtkWidget *label_cover_search; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1938 GtkWidget *label_exclude; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1939 GtkWidget *label_include; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1940 GtkWidget *label_search_depth; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1941 GtkWidget *label_misc; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1942 GtkWidget *label_delay; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1943 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1944 GtkObject *recurse_for_cover_depth_adj; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1945 GtkObject *delay_adj; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1946 GtkWidget *alignment; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1947 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1948 GtkWidget *hbox; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1949 GtkWidget *hbuttonbox; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1950 GtkWidget *btn_cancel; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1951 GtkWidget *btn_ok; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1952 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1953 filepopup_settings = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1954 gtk_container_set_border_width(GTK_CONTAINER(filepopup_settings), 12); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1955 gtk_window_set_title(GTK_WINDOW(filepopup_settings), _("Popup Information Settings")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1956 gtk_window_set_position(GTK_WINDOW(filepopup_settings), GTK_WIN_POS_CENTER_ON_PARENT); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1957 gtk_window_set_skip_taskbar_hint(GTK_WINDOW(filepopup_settings), TRUE); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1958 gtk_window_set_type_hint(GTK_WINDOW(filepopup_settings), GDK_WINDOW_TYPE_HINT_DIALOG); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1959 gtk_window_set_transient_for(GTK_WINDOW(filepopup_settings), GTK_WINDOW(prefswin)); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1960 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1961 vbox = gtk_vbox_new(FALSE, 12); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1962 gtk_container_add(GTK_CONTAINER(filepopup_settings), vbox); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1963 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1964 label_cover_retrieve = gtk_label_new(_("<b>Cover image retrieve</b>")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1965 gtk_box_pack_start(GTK_BOX(vbox), label_cover_retrieve, FALSE, FALSE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1966 gtk_label_set_use_markup(GTK_LABEL(label_cover_retrieve), TRUE); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1967 gtk_misc_set_alignment(GTK_MISC(label_cover_retrieve), 0, 0.5); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1968 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1969 label_cover_search = gtk_label_new(_("While searching for the album's cover, Audacious looks for certain words in the filename. You can specify those words in the lists below, separated using commas.")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1970 gtk_box_pack_start(GTK_BOX(vbox), label_cover_search, FALSE, FALSE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1971 gtk_label_set_line_wrap(GTK_LABEL(label_cover_search), TRUE); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1972 gtk_misc_set_alignment(GTK_MISC(label_cover_search), 0, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1973 gtk_misc_set_padding(GTK_MISC(label_cover_search), 12, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1974 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1975 table = gtk_table_new(2, 2, FALSE); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1976 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1977 gtk_table_set_row_spacings(GTK_TABLE(table), 4); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1978 gtk_table_set_col_spacings(GTK_TABLE(table), 4); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1979 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1980 filepopup_settings_cover_name_include = gtk_entry_new(); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1981 gtk_table_attach(GTK_TABLE(table), filepopup_settings_cover_name_include, 1, 2, 0, 1, |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1982 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1983 (GtkAttachOptions) (0), 0, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1984 gtk_entry_set_activates_default(GTK_ENTRY(filepopup_settings_cover_name_include), TRUE); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1985 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1986 label_exclude = gtk_label_new(_("Exclude:")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1987 gtk_table_attach(GTK_TABLE(table), label_exclude, 0, 1, 1, 2, |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1988 (GtkAttachOptions) (0), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1989 (GtkAttachOptions) (0), 0, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1990 gtk_misc_set_alignment(GTK_MISC(label_exclude), 0, 0.5); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1991 gtk_misc_set_padding(GTK_MISC(label_exclude), 12, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1992 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1993 label_include = gtk_label_new(_("Include:")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1994 gtk_table_attach(GTK_TABLE(table), label_include, 0, 1, 0, 1, |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1995 (GtkAttachOptions) (0), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1996 (GtkAttachOptions) (0), 0, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1997 gtk_misc_set_alignment(GTK_MISC(label_include), 0, 0.5); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1998 gtk_misc_set_padding(GTK_MISC(label_include), 12, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1999 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2000 filepopup_settings_cover_name_exclude = gtk_entry_new(); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2001 gtk_table_attach(GTK_TABLE(table), filepopup_settings_cover_name_exclude, 1, 2, 1, 2, |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2002 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2003 (GtkAttachOptions) (0), 0, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2004 gtk_entry_set_activates_default(GTK_ENTRY(filepopup_settings_cover_name_exclude), TRUE); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2005 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2006 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2007 gtk_box_pack_start(GTK_BOX(vbox), alignment, TRUE, TRUE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2008 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2009 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2010 filepopup_settings_recurse_for_cover = gtk_check_button_new_with_mnemonic(_("Recursively search for cover")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2011 gtk_container_add(GTK_CONTAINER(alignment), filepopup_settings_recurse_for_cover); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2012 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2013 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2014 gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2015 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 45, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2016 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2017 filepopup_settings_recurse_for_cover_depth_box = gtk_hbox_new(FALSE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2018 gtk_container_add(GTK_CONTAINER(alignment), filepopup_settings_recurse_for_cover_depth_box); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2019 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2020 label_search_depth = gtk_label_new(_("Search depth: ")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2021 gtk_box_pack_start(GTK_BOX(filepopup_settings_recurse_for_cover_depth_box), label_search_depth, TRUE, TRUE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2022 gtk_misc_set_padding(GTK_MISC(label_search_depth), 4, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2023 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2024 recurse_for_cover_depth_adj = gtk_adjustment_new(0, 0, 100, 1, 10, 10); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2025 filepopup_settings_recurse_for_cover_depth = gtk_spin_button_new(GTK_ADJUSTMENT(recurse_for_cover_depth_adj), 1, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2026 gtk_box_pack_start(GTK_BOX(filepopup_settings_recurse_for_cover_depth_box), filepopup_settings_recurse_for_cover_depth, TRUE, TRUE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2027 gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(filepopup_settings_recurse_for_cover_depth), TRUE); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2028 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2029 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2030 gtk_box_pack_start(GTK_BOX(vbox), alignment, TRUE, TRUE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2031 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2032 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2033 filepopup_settings_use_file_cover = gtk_check_button_new_with_mnemonic(_("Use per-file cover")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2034 gtk_container_add(GTK_CONTAINER(alignment), filepopup_settings_use_file_cover); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2035 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2036 label_misc = gtk_label_new(_("<b>Miscellaneous</b>")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2037 gtk_box_pack_start(GTK_BOX(vbox), label_misc, FALSE, FALSE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2038 gtk_label_set_use_markup(GTK_LABEL(label_misc), TRUE); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2039 gtk_misc_set_alignment(GTK_MISC(label_misc), 0, 0.5); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2040 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2041 alignment = gtk_alignment_new(0.5, 0.5, 1, 1); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2042 gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2043 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2044 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2045 filepopup_settings_showprogressbar = gtk_check_button_new_with_mnemonic(_("Show Progress bar for the current track")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2046 gtk_container_add(GTK_CONTAINER(alignment), filepopup_settings_showprogressbar); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2047 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2048 alignment = gtk_alignment_new(0, 0.5, 1, 1); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2049 gtk_box_pack_start(GTK_BOX(vbox), alignment, TRUE, TRUE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2050 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2051 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2052 hbox = gtk_hbox_new(FALSE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2053 gtk_container_add(GTK_CONTAINER(alignment), hbox); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2054 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2055 label_delay = gtk_label_new(_("Delay until filepopup comes up: ")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2056 gtk_box_pack_start(GTK_BOX(hbox), label_delay, TRUE, TRUE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2057 gtk_misc_set_alignment(GTK_MISC(label_delay), 0, 0.5); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2058 gtk_misc_set_padding(GTK_MISC(label_delay), 12, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2059 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2060 delay_adj = gtk_adjustment_new(0, 0, 100, 1, 10, 10); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2061 filepopup_settings_delay = gtk_spin_button_new(GTK_ADJUSTMENT(delay_adj), 1, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2062 gtk_box_pack_start(GTK_BOX(hbox), filepopup_settings_delay, TRUE, TRUE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2063 gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(filepopup_settings_delay), TRUE); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2064 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2065 hbuttonbox = gtk_hbutton_box_new(); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2066 gtk_box_pack_start(GTK_BOX(vbox), hbuttonbox, FALSE, FALSE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2067 gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2068 gtk_box_set_spacing(GTK_BOX(hbuttonbox), 6); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2069 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2070 btn_cancel = gtk_button_new_from_stock("gtk-cancel"); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2071 gtk_container_add(GTK_CONTAINER(hbuttonbox), btn_cancel); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2072 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2073 btn_ok = gtk_button_new_from_stock("gtk-ok"); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2074 gtk_container_add(GTK_CONTAINER(hbuttonbox), btn_ok); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2075 GTK_WIDGET_SET_FLAGS(btn_ok, GTK_CAN_DEFAULT); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2076 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2077 g_signal_connect(G_OBJECT(filepopup_settings), "delete_event", |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2078 G_CALLBACK(gtk_widget_hide_on_delete), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2079 NULL); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2080 g_signal_connect(G_OBJECT(btn_cancel), "clicked", |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2081 G_CALLBACK(on_filepopup_settings_cancel_clicked), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2082 NULL); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2083 g_signal_connect(G_OBJECT(btn_ok), "clicked", |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2084 G_CALLBACK(on_filepopup_settings_ok_clicked), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2085 NULL); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2086 g_signal_connect(G_OBJECT(filepopup_settings_recurse_for_cover), "toggled", |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2087 G_CALLBACK(on_recurse_for_cover_toggled), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2088 filepopup_settings_recurse_for_cover_depth_box); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2089 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2090 gtk_widget_grab_default(btn_ok); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2091 gtk_widget_show_all(vbox); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2092 } |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2093 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2094 void |
2313 | 2095 create_prefs_window(void) |
2096 { | |
2097 const gchar *glade_file = DATA_DIR "/glade/prefswin.glade"; | |
2098 | |
2099 GladeXML *xml; | |
2100 GtkWidget *widget, *widget2; | |
2467 | 2101 gchar *aud_version_string; |
2313 | 2102 |
2103 GtkWidget *titlestring_tag_menu, *menu_item; | |
2104 guint i; | |
2105 | |
2106 /* load the interface */ | |
2107 xml = glade_xml_new_or_die(_("Preferences Window"), glade_file, NULL, | |
2108 NULL); | |
2109 | |
2110 | |
2111 /* connect the signals in the interface */ | |
2112 glade_xml_signal_autoconnect_map(xml, prefswin_func_map); | |
2113 | |
2114 prefswin = glade_xml_get_widget(xml, "prefswin"); | |
2115 g_object_set_data(G_OBJECT(prefswin), "glade-xml", xml); | |
2116 | |
2117 /* create category view */ | |
2118 widget = glade_xml_get_widget(xml, "category_view"); | |
2119 widget2 = glade_xml_get_widget(xml, "category_notebook"); | |
2120 g_signal_connect_after(G_OBJECT(widget), "realize", | |
2121 G_CALLBACK(on_category_view_realize), | |
2122 widget2); | |
2123 | |
2124 category_treeview = GTK_WIDGET(widget); | |
2125 category_notebook = GTK_WIDGET(widget2); | |
2126 | |
2127 /* plugin->input page */ | |
2128 | |
2129 widget = glade_xml_get_widget(xml, "input_plugin_view"); | |
2130 widget2 = glade_xml_get_widget(xml, "input_plugin_prefs"); | |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2131 g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_INPUT)); |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2132 g_signal_connect(G_OBJECT(widget), "row-activated", |
3356 | 2133 G_CALLBACK(plugin_treeview_open_prefs), |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2134 NULL); |
2313 | 2135 g_signal_connect(G_OBJECT(widget), "cursor-changed", |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
2136 G_CALLBACK(plugin_treeview_enable_prefs), |
2313 | 2137 widget2); |
2138 | |
2139 g_signal_connect_swapped(G_OBJECT(widget2), "clicked", | |
3356 | 2140 G_CALLBACK(plugin_treeview_open_prefs), |
2313 | 2141 widget); |
2142 widget2 = glade_xml_get_widget(xml, "input_plugin_info"); | |
2143 g_signal_connect(G_OBJECT(widget), "cursor-changed", | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
2144 G_CALLBACK(plugin_treeview_enable_info), |
2313 | 2145 widget2); |
2146 g_signal_connect_swapped(G_OBJECT(widget2), "clicked", | |
3357 | 2147 G_CALLBACK(plugin_treeview_open_info), |
2313 | 2148 widget); |
2149 | |
2150 /* plugin->output page */ | |
2151 | |
2152 widget = glade_xml_get_widget(xml, "output_plugin_cbox"); | |
2153 | |
2154 widget2 = glade_xml_get_widget(xml, "output_plugin_prefs"); | |
2155 g_signal_connect(G_OBJECT(widget), "changed", | |
2156 G_CALLBACK(output_plugin_enable_prefs), | |
2157 widget2); | |
2158 g_signal_connect_swapped(G_OBJECT(widget2), "clicked", | |
2159 G_CALLBACK(output_plugin_open_prefs), | |
2160 widget); | |
2161 | |
2162 widget2 = glade_xml_get_widget(xml, "output_plugin_info"); | |
2163 g_signal_connect(G_OBJECT(widget), "changed", | |
2164 G_CALLBACK(output_plugin_enable_info), | |
2165 widget2); | |
2166 g_signal_connect_swapped(G_OBJECT(widget2), "clicked", | |
2167 G_CALLBACK(output_plugin_open_info), | |
2168 widget); | |
2169 | |
2170 /* plugin->general page */ | |
2171 | |
2172 widget = glade_xml_get_widget(xml, "general_plugin_view"); | |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2173 g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_GENERAL)); |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2174 g_signal_connect(G_OBJECT(widget), "row-activated", |
3356 | 2175 G_CALLBACK(plugin_treeview_open_prefs), |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2176 NULL); |
2313 | 2177 |
2178 widget2 = glade_xml_get_widget(xml, "general_plugin_prefs"); | |
2179 g_signal_connect(G_OBJECT(widget), "cursor-changed", | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
2180 G_CALLBACK(plugin_treeview_enable_prefs), |
2313 | 2181 widget2); |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2182 |
2313 | 2183 g_signal_connect_swapped(G_OBJECT(widget2), "clicked", |
3356 | 2184 G_CALLBACK(plugin_treeview_open_prefs), |
2313 | 2185 widget); |
2186 | |
2187 widget2 = glade_xml_get_widget(xml, "general_plugin_info"); | |
2188 g_signal_connect(G_OBJECT(widget), "cursor-changed", | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
2189 G_CALLBACK(plugin_treeview_enable_info), |
2313 | 2190 widget2); |
2191 g_signal_connect_swapped(G_OBJECT(widget2), "clicked", | |
3357 | 2192 G_CALLBACK(plugin_treeview_open_info), |
2313 | 2193 widget); |
2194 | |
2195 | |
2196 /* plugin->vis page */ | |
2197 | |
2198 widget = glade_xml_get_widget(xml, "vis_plugin_view"); | |
2199 widget2 = glade_xml_get_widget(xml, "vis_plugin_prefs"); | |
2200 | |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2201 g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_VIS)); |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2202 g_signal_connect(G_OBJECT(widget), "row-activated", |
3356 | 2203 G_CALLBACK(plugin_treeview_open_prefs), |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2204 NULL); |
2313 | 2205 g_signal_connect_swapped(G_OBJECT(widget2), "clicked", |
3356 | 2206 G_CALLBACK(plugin_treeview_open_prefs), |
2313 | 2207 widget); |
2208 g_signal_connect(G_OBJECT(widget), "cursor-changed", | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
2209 G_CALLBACK(plugin_treeview_enable_prefs), widget2); |
2313 | 2210 |
2211 | |
2212 widget2 = glade_xml_get_widget(xml, "vis_plugin_info"); | |
2213 g_signal_connect(G_OBJECT(widget), "cursor-changed", | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
2214 G_CALLBACK(plugin_treeview_enable_info), widget2); |
2313 | 2215 g_signal_connect_swapped(G_OBJECT(widget2), "clicked", |
3357 | 2216 G_CALLBACK(plugin_treeview_open_info), |
2313 | 2217 widget); |
2218 | |
2219 | |
2220 /* plugin->effects page */ | |
2221 | |
2222 widget = glade_xml_get_widget(xml, "effect_plugin_view"); | |
2223 widget2 = glade_xml_get_widget(xml, "effect_plugin_prefs"); | |
2224 | |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2225 g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_EFFECT)); |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2226 g_signal_connect(G_OBJECT(widget), "row-activated", |
3356 | 2227 G_CALLBACK(plugin_treeview_open_prefs), |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
2228 NULL); |
2313 | 2229 g_signal_connect_swapped(G_OBJECT(widget2), "clicked", |
3356 | 2230 G_CALLBACK(plugin_treeview_open_prefs), |
2313 | 2231 widget); |
2232 g_signal_connect(G_OBJECT(widget), "cursor-changed", | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
2233 G_CALLBACK(plugin_treeview_enable_prefs), widget2); |
2313 | 2234 |
2235 | |
2236 widget2 = glade_xml_get_widget(xml, "effect_plugin_info"); | |
2237 g_signal_connect(G_OBJECT(widget), "cursor-changed", | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
2238 G_CALLBACK(plugin_treeview_enable_info), widget2); |
2313 | 2239 g_signal_connect_swapped(G_OBJECT(widget2), "clicked", |
3357 | 2240 G_CALLBACK(plugin_treeview_open_info), |
2313 | 2241 widget); |
2242 | |
2243 /* playlist page */ | |
2244 | |
2245 widget = glade_xml_get_widget(xml, "pause_between_songs_box"); | |
2246 widget2 = glade_xml_get_widget(xml, "pause_between_songs"); | |
2247 g_signal_connect_after(G_OBJECT(widget2), "realize", | |
2248 G_CALLBACK(on_pause_between_songs_realize), | |
2249 widget); | |
2250 g_signal_connect(G_OBJECT(widget2), "toggled", | |
2251 G_CALLBACK(on_pause_between_songs_toggled), | |
2252 widget); | |
2253 | |
2254 widget = glade_xml_get_widget(xml, "playlist_use_metadata_box"); | |
2255 widget2 = glade_xml_get_widget(xml, "playlist_use_metadata"); | |
2256 g_signal_connect_after(G_OBJECT(widget2), "realize", | |
2257 G_CALLBACK(on_use_pl_metadata_realize), | |
2258 widget); | |
2259 g_signal_connect(G_OBJECT(widget2), "toggled", | |
2260 G_CALLBACK(on_use_pl_metadata_toggled), | |
2261 widget); | |
2262 | |
2263 widget = glade_xml_get_widget(xml, "skin_view"); | |
2264 g_signal_connect(widget, "drag-data-received", | |
2265 G_CALLBACK(on_skin_view_drag_data_received), | |
2266 NULL); | |
2267 bmp_drag_dest_set(widget); | |
2268 | |
2269 g_signal_connect(mainwin, "drag-data-received", | |
2270 G_CALLBACK(mainwin_drag_data_received), | |
2271 widget); | |
2272 | |
2273 widget = glade_xml_get_widget(xml, "skin_refresh_button"); | |
2274 g_signal_connect(widget, "clicked", | |
2275 G_CALLBACK(on_skin_refresh_button_clicked), | |
2276 NULL); | |
2277 | |
2278 widget = glade_xml_get_widget(xml, "playlist_font_button"); | |
2279 g_signal_connect(mainwin, "drag-data-received", | |
2975 | 2280 G_CALLBACK(mainwin_drag_data_received), |
2313 | 2281 widget); |
2282 | |
2283 widget = glade_xml_get_widget(xml, "titlestring_cbox"); | |
2284 widget2 = glade_xml_get_widget(xml, "titlestring_entry"); | |
2285 g_signal_connect(widget, "realize", | |
2286 G_CALLBACK(on_titlestring_cbox_realize), | |
2287 widget2); | |
2288 g_signal_connect(widget, "changed", | |
2289 G_CALLBACK(on_titlestring_cbox_changed), | |
2290 widget2); | |
2291 | |
2292 /* FIXME: move this into a function */ | |
2293 /* create tag menu */ | |
2294 titlestring_tag_menu = gtk_menu_new(); | |
2295 for(i = 0; i < n_title_field_tags; i++) { | |
3991
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
2296 menu_item = gtk_menu_item_new_with_label(_(title_field_tags[i].name)); |
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
2297 gtk_menu_shell_append(GTK_MENU_SHELL(titlestring_tag_menu), menu_item); |
2313 | 2298 g_signal_connect(menu_item, "activate", |
2299 G_CALLBACK(titlestring_tag_menu_callback), | |
2300 GINT_TO_POINTER(i)); | |
2301 }; | |
2302 gtk_widget_show_all(titlestring_tag_menu); | |
2303 | |
2304 widget = glade_xml_get_widget(xml, "titlestring_help_button"); | |
2305 widget2 = glade_xml_get_widget(xml, "titlestring_cbox"); | |
2306 | |
2307 g_signal_connect(widget2, "changed", | |
2308 G_CALLBACK(on_titlestring_cbox_changed), | |
2309 widget); | |
2310 g_signal_connect(widget, "clicked", | |
2311 G_CALLBACK(on_titlestring_help_button_clicked), | |
2312 titlestring_tag_menu); | |
2313 | |
2314 /* audacious version label */ | |
2315 widget = glade_xml_get_widget(xml, "audversionlabel"); | |
2467 | 2316 |
2468
5206f4ef02f7
[svn] - the svn_stamp is no longer an svn revision, but a serial number
nenolod
parents:
2467
diff
changeset
|
2317 aud_version_string = g_strdup_printf("<span size='small'>%s (%s) (%s@%s)</span>", |
3991
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
2318 "Audacious " PACKAGE_VERSION , |
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
2319 svn_stamp , |
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
2320 g_get_user_name() , g_get_host_name() ); |
2313 | 2321 |
2467 | 2322 gtk_label_set_markup( GTK_LABEL(widget) , aud_version_string ); |
2323 g_free(aud_version_string); | |
2313 | 2324 |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2325 /* Create window for filepopup settings */ |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
2326 create_filepopup_settings(); |
2313 | 2327 } |
2328 | |
2329 void | |
2330 show_prefs_window(void) | |
2331 { | |
2628
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2332 static gboolean skinlist_filled = FALSE; |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2333 |
2635 | 2334 gtk_window_present(GTK_WINDOW(prefswin)); /* show or raise prefs window */ |
2628
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2335 |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2336 if ( !skinlist_filled ) |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2337 { |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2338 GladeXML *xml; |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2339 GtkWidget *widget, *widget2; |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2340 |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2341 xml = prefswin_get_xml(); |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2342 |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2343 widget = glade_xml_get_widget(xml, "skin_view"); |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2344 widget2 = glade_xml_get_widget(xml, "skin_refresh_button"); |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2345 skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(widget2)); |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2346 skinlist_filled = TRUE; |
85acf3f98ed0
[svn] - prevent skin list overlap when it's populated for the first time and user quickly switchs to other tabs in the prefswin
giacomo
parents:
2623
diff
changeset
|
2347 } |
2313 | 2348 } |
2349 | |
3917 | 2350 void |
2351 hide_prefs_window(void) | |
2352 { | |
2353 g_return_if_fail(prefswin); | |
2354 gtk_widget_hide(GTK_WIDGET(prefswin)); | |
2355 } | |
2356 | |
2313 | 2357 static void |
2358 prefswin_page_queue_new(GtkWidget *container, gchar *name, gchar *imgurl) | |
2359 { | |
2360 CategoryQueueEntry *ent = g_malloc0(sizeof(CategoryQueueEntry)); | |
2361 | |
2362 ent->container = container; | |
2363 ent->pg_name = name; | |
2364 ent->img_url = imgurl; | |
2365 | |
2366 if (category_queue) | |
2367 ent->next = category_queue; | |
2368 | |
2369 category_queue = ent; | |
2370 } | |
2371 | |
2372 static void | |
2373 prefswin_page_queue_destroy(CategoryQueueEntry *ent) | |
2374 { | |
2375 category_queue = ent->next; | |
2376 g_free(ent); | |
2377 } | |
2378 | |
2379 /* | |
2380 * Public APIs for adding new pages to the prefs window. | |
2381 * | |
2382 * Basically, the concept here is that third party components can register themselves in the root | |
2383 * preferences window. | |
2384 * | |
2385 * From a usability standpoint this makes the application look more "united", instead of cluttered | |
2386 * and malorganised. Hopefully this option will be used further in the future. | |
2387 * | |
2388 * - nenolod | |
2389 */ | |
2390 gint | |
2391 prefswin_page_new(GtkWidget *container, gchar *name, gchar *imgurl) | |
2392 { | |
2393 GtkTreeModel *model; | |
2394 GtkTreeIter iter; | |
2395 GdkPixbuf *img = NULL; | |
2396 GtkTreeView *treeview = GTK_TREE_VIEW(category_treeview); | |
2397 gint id; | |
2398 | |
2399 if (treeview == NULL || category_notebook == NULL) | |
2400 { | |
2401 prefswin_page_queue_new(container, name, imgurl); | |
2402 return -1; | |
2403 } | |
2404 | |
2405 model = gtk_tree_view_get_model(treeview); | |
2406 | |
2407 if (model == NULL) | |
2408 { | |
2409 prefswin_page_queue_new(container, name, imgurl); | |
2410 return -1; | |
2411 } | |
2412 | |
2413 /* Make sure the widgets are visible. */ | |
2414 gtk_widget_show(container); | |
2415 id = gtk_notebook_append_page(GTK_NOTEBOOK(category_notebook), container, NULL); | |
2416 | |
2417 if (id == -1) | |
2418 return -1; | |
2419 | |
2420 if (imgurl != NULL) | |
2421 img = gdk_pixbuf_new_from_file(imgurl, NULL); | |
2422 | |
2423 gtk_list_store_append(GTK_LIST_STORE(model), &iter); | |
2424 gtk_list_store_set(GTK_LIST_STORE(model), &iter, | |
2425 CATEGORY_VIEW_COL_ICON, img, | |
2426 CATEGORY_VIEW_COL_NAME, | |
2427 name, CATEGORY_VIEW_COL_ID, id, -1); | |
2428 | |
2429 if (img != NULL) | |
2430 g_object_unref(img); | |
2431 | |
2432 return id; | |
2433 } | |
2434 | |
2435 void | |
2436 prefswin_page_destroy(GtkWidget *container) | |
2437 { | |
2438 GtkTreeModel *model; | |
2439 GtkTreeIter iter; | |
2440 GtkTreeView *treeview = GTK_TREE_VIEW(category_treeview); | |
2441 gboolean ret; | |
2442 gint id; | |
2443 gint index = -1; | |
2444 | |
2445 if (category_notebook == NULL || treeview == NULL || container == NULL) | |
2446 return; | |
2447 | |
2448 id = gtk_notebook_page_num(GTK_NOTEBOOK(category_notebook), container); | |
2449 | |
2450 if (id == -1) | |
2451 return; | |
2452 | |
2453 gtk_notebook_remove_page(GTK_NOTEBOOK(category_notebook), id); | |
2454 | |
2455 model = gtk_tree_view_get_model(treeview); | |
2456 | |
2457 if (model == NULL) | |
2458 return; | |
2459 | |
2460 ret = gtk_tree_model_get_iter_first(model, &iter); | |
2461 | |
2462 while (ret == TRUE) | |
2463 { | |
2464 gtk_tree_model_get(model, &iter, CATEGORY_VIEW_COL_ID, &index, -1); | |
2465 | |
2466 if (index == id) | |
2467 { | |
2468 gtk_list_store_remove(GTK_LIST_STORE(model), &iter); | |
2469 ret = gtk_tree_model_get_iter_first(model, &iter); | |
2470 } | |
2471 | |
2472 if (index > id) | |
2473 { | |
2474 index--; | |
2475 gtk_list_store_set(GTK_LIST_STORE(model), &iter, CATEGORY_VIEW_COL_ID, index, -1); | |
2476 } | |
2477 | |
2478 ret = gtk_tree_model_iter_next(model, &iter); | |
2479 } | |
2480 } |