Mercurial > audlegacy
annotate src/audacious/ui_preferences.c @ 4003:400b5e4cfc19
further changes
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Sun, 25 Nov 2007 11:16:53 +0100 |
parents | d203c51d94bb |
children | 196c326d9b70 |
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 <string.h> | |
31 #include <stddef.h> | |
32 #include <stdio.h> | |
33 #include <sys/types.h> | |
34 #include <dirent.h> | |
35 #include <unistd.h> | |
36 #include <errno.h> | |
37 #include <sys/types.h> | |
38 #include <sys/stat.h> | |
3993 | 39 #include <gdk/gdkkeysyms.h> |
2313 | 40 |
41 #include "plugin.h" | |
42 #include "pluginenum.h" | |
43 #include "input.h" | |
44 #include "effect.h" | |
45 #include "general.h" | |
46 #include "output.h" | |
47 #include "visualization.h" | |
48 | |
49 #include "main.h" | |
2911 | 50 #include "ui_skinned_textbox.h" |
2373
ad1d7687814c
[svn] made strings.h for existing strings.c, cleanups
mf0102
parents:
2328
diff
changeset
|
51 #include "strings.h" |
2313 | 52 #include "util.h" |
53 #include "dnd.h" | |
2717 | 54 #include "configdb.h" |
2313 | 55 |
56 #include "ui_main.h" | |
57 #include "ui_playlist.h" | |
58 #include "ui_skinselector.h" | |
59 #include "ui_preferences.h" | |
2328 | 60 #include "ui_equalizer.h" |
3217 | 61 #include "ui_skinned_playlist.h" |
3221
9583cd62231f
implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents:
3217
diff
changeset
|
62 #include "ui_skinned_window.h" |
2313 | 63 |
64 #include "build_stamp.h" | |
65 | |
66 enum CategoryViewCols { | |
67 CATEGORY_VIEW_COL_ICON, | |
68 CATEGORY_VIEW_COL_NAME, | |
69 CATEGORY_VIEW_COL_ID, | |
70 CATEGORY_VIEW_N_COLS | |
71 }; | |
72 | |
73 enum PluginViewCols { | |
74 PLUGIN_VIEW_COL_ACTIVE, | |
75 PLUGIN_VIEW_COL_DESC, | |
76 PLUGIN_VIEW_COL_FILENAME, | |
77 PLUGIN_VIEW_COL_ID, | |
3439
93584d1b3e7e
Add plugin pointer to the plugin treestore.
William Pitcock <nenolod@atheme.org>
parents:
3437
diff
changeset
|
78 PLUGIN_VIEW_COL_PLUGIN_PTR, |
2313 | 79 PLUGIN_VIEW_N_COLS |
80 }; | |
81 | |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
82 enum PluginViewType { |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
83 PLUGIN_VIEW_TYPE_INPUT, |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
84 PLUGIN_VIEW_TYPE_GENERAL, |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
85 PLUGIN_VIEW_TYPE_VIS, |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
86 PLUGIN_VIEW_TYPE_EFFECT |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
87 }; |
2313 | 88 |
89 typedef struct { | |
90 const gchar *icon_path; | |
91 const gchar *name; | |
92 gint id; | |
93 } Category; | |
94 | |
95 typedef struct { | |
96 const gchar *name; | |
97 const gchar *tag; | |
98 } | |
99 TitleFieldTag; | |
100 | |
101 static GtkWidget *prefswin = NULL; | |
102 static GtkWidget *filepopup_settings = NULL; | |
103 static GtkWidget *colorize_settings = NULL; | |
104 static GtkWidget *category_treeview = NULL; | |
105 static GtkWidget *category_notebook = NULL; | |
106 GtkWidget *filepopupbutton = NULL; | |
107 | |
3989
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
108 /* colorize settings scales */ |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
109 GtkWidget *green_scale; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
110 GtkWidget *red_scale; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
111 GtkWidget *blue_scale; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
112 |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
113 /* filepopup settings widgets */ |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
114 GtkWidget *filepopup_settings_cover_name_include; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
115 GtkWidget *filepopup_settings_cover_name_exclude; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
116 GtkWidget *filepopup_settings_recurse_for_cover; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
117 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
|
118 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
|
119 GtkWidget *filepopup_settings_use_file_cover; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
120 GtkWidget *filepopup_settings_showprogressbar; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
121 GtkWidget *filepopup_settings_delay; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
122 |
3993 | 123 /* prefswin widgets */ |
124 GtkWidget *titlestring_entry; | |
125 GtkWidget *skin_view; | |
126 GtkWidget *skin_refresh_button; | |
127 GtkWidget *filepopup_for_tuple_settings_button; | |
4002
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
128 GtkTooltips *tooltips; |
3993 | 129 |
2313 | 130 static Category categories[] = { |
131 {DATA_DIR "/images/appearance.png", N_("Appearance"), 1}, | |
132 {DATA_DIR "/images/audio.png", N_("Audio"), 6}, | |
133 {DATA_DIR "/images/connectivity.png", N_("Connectivity"), 5}, | |
134 {DATA_DIR "/images/eq.png", N_("Equalizer"), 4}, | |
135 {DATA_DIR "/images/mouse.png", N_("Mouse"), 2}, | |
136 {DATA_DIR "/images/playlist.png", N_("Playlist"), 3}, | |
137 {DATA_DIR "/images/plugins.png", N_("Plugins"), 0}, | |
138 }; | |
139 | |
140 static gint n_categories = G_N_ELEMENTS(categories); | |
141 | |
142 static TitleFieldTag title_field_tags[] = { | |
3441
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
143 { N_("Artist") , "${artist}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
144 { N_("Album") , "${album}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
145 { N_("Title") , "${title}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
146 { N_("Tracknumber"), "${track-number}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
147 { N_("Genre") , "${genre}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
148 { N_("Filename") , "${file-name}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
149 { N_("Filepath") , "${file-path}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
150 { N_("Date") , "${date}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
151 { N_("Year") , "${year}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
152 { N_("Comment") , "${comment}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
153 { N_("Codec") , "${codec}" }, |
bd1a68dc9ebb
Change xmms titlestring format values to Tuplez.
William Pitcock <nenolod@atheme.org>
parents:
3439
diff
changeset
|
154 { N_("Quality") , "${quality}" }, |
2313 | 155 }; |
156 | |
157 typedef struct { | |
158 void *next; | |
159 GtkWidget *container; | |
160 char *pg_name; | |
161 char *img_url; | |
162 } CategoryQueueEntry; | |
163 | |
164 CategoryQueueEntry *category_queue = NULL; | |
165 | |
166 static const guint n_title_field_tags = G_N_ELEMENTS(title_field_tags); | |
167 | |
4002
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
168 #define gettext_noop(String) String |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
169 |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
170 enum WidgetTypes { |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
171 WIDGET_NONE, |
4003 | 172 WIDGET_CHK_BTN, |
173 WIDGET_LABEL | |
4002
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
174 }; |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
175 |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
176 typedef struct preferences_widgets_t { |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
177 gint type; /* widget type */ |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
178 char *label; /* widget title */ |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
179 gboolean *cfg; /* connected config value */ |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
180 void (*callback) (void); /* this func will be called after value change, can be NULL */ |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
181 char *tooltip; /* widget tooltip, can be NULL */ |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
182 } preferences_widgets; |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
183 |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
184 static void playlist_show_pl_separator_numbers_cb(); |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
185 static void show_wm_decorations_cb(); |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
186 |
4003 | 187 static preferences_widgets apperance_misc_widgets[] = { |
188 {WIDGET_LABEL, gettext_noop("<b>_Miscellaneous</b>"), NULL, NULL, NULL}, | |
4002
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
189 {WIDGET_CHK_BTN, gettext_noop("Show track numbers in playlist"), &cfg.show_numbers_in_pl, |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
190 G_CALLBACK(playlist_show_pl_separator_numbers_cb), NULL}, |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
191 {WIDGET_CHK_BTN, gettext_noop("Show separators in playlist"), &cfg.show_separator_in_pl, |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
192 G_CALLBACK(playlist_show_pl_separator_numbers_cb), NULL}, |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
193 {WIDGET_CHK_BTN, gettext_noop("Use custom cursors"), &cfg.custom_cursors, G_CALLBACK(skin_reload_forced), NULL}, |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
194 {WIDGET_CHK_BTN, gettext_noop("Show window manager decoration"), &cfg.show_wm_decorations, G_CALLBACK(show_wm_decorations_cb), |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
195 gettext_noop("This enables the window manager to show decorations for windows.")}, |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
196 {WIDGET_CHK_BTN, gettext_noop("Use XMMS-style file selector instead of the default selector"), &cfg.use_xmms_style_fileselector, NULL, |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
197 gettext_noop("This enables the XMMS/GTK1-style file selection dialogs. This selector is provided by Audacious itself and is faster than the default GTK2 selector (but sadly not as user-friendly).")}, |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
198 {WIDGET_CHK_BTN, gettext_noop("Use two-way text scroller"), &cfg.twoway_scroll, NULL, |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
199 gettext_noop("If selected, the file information text in the main window will scroll back and forth. If not selected, the text will only scroll in one direction.")}, |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
200 }; |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
201 |
4003 | 202 static preferences_widgets audio_page_widgets[] = { |
203 {WIDGET_LABEL, gettext_noop("<b>Format Detection</b>"), NULL, NULL, NULL}, | |
204 {WIDGET_CHK_BTN, gettext_noop("Detect file formats on demand, instead of immediately."), &cfg.playlist_detect, NULL, | |
205 gettext_noop("When checked, Audacious will detect file formats on demand. This can result in a messier playlist, but delivers a major speed benefit.")}, | |
206 {WIDGET_CHK_BTN, gettext_noop("Detect file formats by extension."), &cfg.use_extension_probing, NULL, | |
207 gettext_noop("When checked, Audacious will detect file formats based by extension. Only files with extensions of supported formats will be loaded.")}, | |
208 {WIDGET_LABEL, gettext_noop("<b>Playback</b>"), NULL, NULL, NULL}, | |
209 {WIDGET_CHK_BTN, gettext_noop("Continue playback on startup"), &cfg.resume_playback_on_startup, NULL, | |
210 gettext_noop("When Audacious starts, automatically begin playing from the point where we stopped before.")}, | |
211 {WIDGET_CHK_BTN, gettext_noop("Don't advance in the playlist"), &cfg.no_playlist_advance, NULL, | |
212 gettext_noop("When finished playing a song, don't automatically advance to the next.")}, | |
213 }; | |
214 | |
2313 | 215 /* GLib 2.6 compatibility */ |
216 #if (! ((GLIB_MAJOR_VERSION > 2) || ((GLIB_MAJOR_VERSION == 2) && (GLIB_MINOR_VERSION >= 8)))) | |
217 static const char * | |
218 g_get_host_name (void) | |
219 { | |
220 static char hostname [HOST_NAME_MAX + 1]; | |
221 if (gethostname (hostname, HOST_NAME_MAX) == -1) { | |
222 return _("localhost"); | |
223 } | |
224 return hostname; | |
225 } | |
226 #endif | |
227 | |
3991
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
228 static void create_colorize_settings(void); |
2313 | 229 static void prefswin_page_queue_destroy(CategoryQueueEntry *ent); |
230 | |
231 static void | |
232 change_category(GtkNotebook * notebook, | |
233 GtkTreeSelection * selection) | |
234 { | |
235 GtkTreeModel *model; | |
236 GtkTreeIter iter; | |
237 gint index; | |
238 | |
239 if (!gtk_tree_selection_get_selected(selection, &model, &iter)) | |
240 return; | |
241 | |
242 gtk_tree_model_get(model, &iter, CATEGORY_VIEW_COL_ID, &index, -1); | |
243 gtk_notebook_set_current_page(notebook, index); | |
244 } | |
245 | |
246 void | |
247 prefswin_set_category(gint index) | |
248 { | |
249 g_return_if_fail(index >= 0 && index < n_categories); | |
250 | |
3993 | 251 gtk_notebook_set_current_page(GTK_NOTEBOOK(category_treeview), index); |
2313 | 252 } |
253 | |
254 static void | |
255 output_plugin_open_prefs(GtkComboBox * cbox, | |
256 gpointer data) | |
257 { | |
258 output_configure(gtk_combo_box_get_active(cbox)); | |
259 } | |
260 | |
261 static void | |
262 output_plugin_open_info(GtkComboBox * cbox, | |
263 gpointer data) | |
264 { | |
265 output_about(gtk_combo_box_get_active(cbox)); | |
266 } | |
267 | |
268 static void | |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
269 plugin_toggle(GtkCellRendererToggle * cell, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
270 const gchar * path_str, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
271 gpointer data) |
2313 | 272 { |
273 GtkTreeModel *model = GTK_TREE_MODEL(data); | |
274 GtkTreeIter iter; | |
275 GtkTreePath *path = gtk_tree_path_new_from_string(path_str); | |
276 gint pluginnr; | |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
277 gint plugin_type = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(data), "plugin_type")); |
2313 | 278 |
279 /* get toggled iter */ | |
280 gtk_tree_model_get_iter(model, &iter, path); | |
281 | |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
282 if (plugin_type == PLUGIN_VIEW_TYPE_INPUT) { |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
283 Plugin *plugin; |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
284 /*GList *diplist, *tmplist; */ |
2313 | 285 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
286 gtk_tree_model_get(model, &iter, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
287 PLUGIN_VIEW_COL_ID, &pluginnr, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
288 PLUGIN_VIEW_COL_PLUGIN_PTR, &plugin, -1); |
2313 | 289 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
290 /* do something with the value */ |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
291 plugin->enabled ^= 1; |
2313 | 292 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
293 /* set new value */ |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
294 gtk_list_store_set(GTK_LIST_STORE(model), &iter, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
295 PLUGIN_VIEW_COL_ACTIVE, plugin->enabled, -1); |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
296 } else { |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
297 gboolean fixed; |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
298 gtk_tree_model_get(model, &iter, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
299 PLUGIN_VIEW_COL_ACTIVE, &fixed, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
300 PLUGIN_VIEW_COL_ID, &pluginnr, -1); |
2313 | 301 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
302 /* do something with the value */ |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
303 fixed ^= 1; |
2313 | 304 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
305 switch (plugin_type) { |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
306 case PLUGIN_VIEW_TYPE_GENERAL: |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
307 enable_general_plugin(pluginnr, fixed); |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
308 break; |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
309 case PLUGIN_VIEW_TYPE_VIS: |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
310 enable_vis_plugin(pluginnr, fixed); |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
311 break; |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
312 case PLUGIN_VIEW_TYPE_EFFECT: |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
313 enable_effect_plugin(pluginnr, fixed); |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
314 break; |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
315 } |
2313 | 316 |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
317 /* set new value */ |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
318 gtk_list_store_set(GTK_LIST_STORE(model), &iter, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
319 PLUGIN_VIEW_COL_ACTIVE, fixed, -1); |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
320 } |
2313 | 321 |
322 /* clean up */ | |
323 gtk_tree_path_free(path); | |
324 } | |
325 | |
326 static void | |
327 on_output_plugin_cbox_changed(GtkComboBox * combobox, | |
328 gpointer data) | |
329 { | |
330 gint selected; | |
331 selected = gtk_combo_box_get_active(combobox); | |
332 | |
333 set_current_output_plugin(selected); | |
334 } | |
335 | |
336 static void | |
337 on_output_plugin_cbox_realize(GtkComboBox * cbox, | |
338 gpointer data) | |
339 { | |
340 GList *olist = get_output_list(); | |
341 OutputPlugin *op, *cp = get_current_output_plugin(); | |
342 gint i = 0, selected = 0; | |
343 | |
344 if (!olist) { | |
345 gtk_widget_set_sensitive(GTK_WIDGET(cbox), FALSE); | |
346 return; | |
347 } | |
348 | |
349 for (i = 0; olist; i++, olist = g_list_next(olist)) { | |
350 op = OUTPUT_PLUGIN(olist->data); | |
351 | |
352 if (olist->data == cp) | |
353 selected = i; | |
354 | |
355 gtk_combo_box_append_text(cbox, op->description); | |
356 } | |
357 | |
358 gtk_combo_box_set_active(cbox, selected); | |
359 g_signal_connect(cbox, "changed", | |
360 G_CALLBACK(on_output_plugin_cbox_changed), NULL); | |
361 } | |
362 | |
363 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
|
364 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
|
365 GCallback callback, |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
366 gpointer data, |
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
367 gint plugin_type) |
2313 | 368 { |
369 GtkListStore *store; | |
370 GtkTreeIter iter; | |
371 | |
372 GtkCellRenderer *renderer; | |
373 GtkTreeViewColumn *column; | |
374 | |
375 GList *ilist; | |
376 gchar *description[2]; | |
377 gint id = 0; | |
378 | |
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
|
379 GList *list = (GList *) data; |
2313 | 380 |
381 store = gtk_list_store_new(PLUGIN_VIEW_N_COLS, | |
382 G_TYPE_BOOLEAN, G_TYPE_STRING, | |
3439
93584d1b3e7e
Add plugin pointer to the plugin treestore.
William Pitcock <nenolod@atheme.org>
parents:
3437
diff
changeset
|
383 G_TYPE_STRING, G_TYPE_INT, G_TYPE_POINTER); |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
384 g_object_set_data(G_OBJECT(store), "plugin_type" , GINT_TO_POINTER(plugin_type)); |
2313 | 385 |
386 column = gtk_tree_view_column_new(); | |
387 gtk_tree_view_column_set_title(column, _("Enabled")); | |
388 gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED); | |
389 gtk_tree_view_column_set_spacing(column, 4); | |
390 gtk_tree_view_column_set_resizable(column, FALSE); | |
391 gtk_tree_view_column_set_fixed_width(column, 50); | |
392 | |
393 renderer = gtk_cell_renderer_toggle_new(); | |
394 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
|
395 G_CALLBACK(callback), store); |
2313 | 396 gtk_tree_view_column_pack_start(column, renderer, TRUE); |
397 gtk_tree_view_column_set_attributes(column, renderer, "active", | |
398 PLUGIN_VIEW_COL_ACTIVE, NULL); | |
399 | |
400 gtk_tree_view_append_column(treeview, column); | |
401 | |
402 column = gtk_tree_view_column_new(); | |
403 gtk_tree_view_column_set_title(column, _("Description")); | |
404 gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); | |
405 gtk_tree_view_column_set_spacing(column, 4); | |
406 gtk_tree_view_column_set_resizable(column, TRUE); | |
407 | |
408 | |
409 renderer = gtk_cell_renderer_text_new(); | |
410 gtk_tree_view_column_pack_start(column, renderer, FALSE); | |
411 gtk_tree_view_column_set_attributes(column, renderer, | |
412 "text", PLUGIN_VIEW_COL_DESC, NULL); | |
413 gtk_tree_view_append_column(treeview, column); | |
414 | |
415 column = gtk_tree_view_column_new(); | |
416 | |
417 gtk_tree_view_column_set_title(column, _("Filename")); | |
418 gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); | |
419 gtk_tree_view_column_set_spacing(column, 4); | |
420 gtk_tree_view_column_set_resizable(column, TRUE); | |
421 | |
422 renderer = gtk_cell_renderer_text_new(); | |
423 gtk_tree_view_column_pack_start(column, renderer, TRUE); | |
424 gtk_tree_view_column_set_attributes(column, renderer, "text", | |
425 PLUGIN_VIEW_COL_FILENAME, NULL); | |
426 | |
427 gtk_tree_view_append_column(treeview, column); | |
428 | |
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 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
|
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 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
|
432 |
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 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
|
434 description[1] = g_strdup(plugin->filename); |
2313 | 435 |
436 gtk_list_store_append(store, &iter); | |
437 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
|
438 PLUGIN_VIEW_COL_ACTIVE, plugin->enabled, |
2313 | 439 PLUGIN_VIEW_COL_DESC, description[0], |
440 PLUGIN_VIEW_COL_FILENAME, description[1], | |
3439
93584d1b3e7e
Add plugin pointer to the plugin treestore.
William Pitcock <nenolod@atheme.org>
parents:
3437
diff
changeset
|
441 PLUGIN_VIEW_COL_ID, id++, |
93584d1b3e7e
Add plugin pointer to the plugin treestore.
William Pitcock <nenolod@atheme.org>
parents:
3437
diff
changeset
|
442 PLUGIN_VIEW_COL_PLUGIN_PTR, plugin, -1); |
2313 | 443 |
444 g_free(description[1]); | |
445 g_free(description[0]); | |
446 } | |
447 | |
448 gtk_tree_view_set_model(treeview, GTK_TREE_MODEL(store)); | |
449 } | |
450 | |
451 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
|
452 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
|
453 gpointer data) |
2313 | 454 { |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
455 on_plugin_view_realize(treeview, G_CALLBACK(plugin_toggle), ip_data.input_list, PLUGIN_VIEW_TYPE_INPUT); |
2313 | 456 } |
457 | |
458 static void | |
459 on_effect_plugin_view_realize(GtkTreeView * treeview, | |
460 gpointer data) | |
461 { | |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
462 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
|
463 } |
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
|
464 |
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
|
465 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
|
466 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
|
467 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
|
468 { |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
469 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
|
470 } |
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
|
471 |
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
|
472 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
|
473 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
|
474 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
|
475 { |
3985
ba5af8e85857
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3917
diff
changeset
|
476 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
|
477 } |
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
|
478 |
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
|
479 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
|
480 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
|
481 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
|
482 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
|
483 { |
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
|
484 gtk_editable_insert_text(editable, text, strlen(text), pos); |
2313 | 485 } |
486 | |
487 static void | |
488 titlestring_tag_menu_callback(GtkMenuItem * menuitem, | |
489 gpointer data) | |
490 { | |
491 const gchar *separator = " - "; | |
492 gint item = GPOINTER_TO_INT(data); | |
493 gint pos; | |
3993 | 494 |
495 pos = gtk_editable_get_position(GTK_EDITABLE(titlestring_entry)); | |
2313 | 496 |
497 /* insert separator as needed */ | |
3993 | 498 if (g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(titlestring_entry)), -1) > 0) |
499 editable_insert_text(GTK_EDITABLE(titlestring_entry), separator, &pos); | |
500 | |
501 editable_insert_text(GTK_EDITABLE(titlestring_entry), _(title_field_tags[item].tag), | |
2313 | 502 &pos); |
503 | |
3993 | 504 gtk_editable_set_position(GTK_EDITABLE(titlestring_entry), pos); |
2313 | 505 } |
506 | |
507 static void | |
508 on_titlestring_help_button_clicked(GtkButton * button, | |
509 gpointer data) | |
510 { | |
511 | |
512 GtkMenu *menu; | |
513 MenuPos *pos = g_new0(MenuPos, 1); | |
514 GdkWindow *parent; | |
515 | |
516 gint x_ro, y_ro; | |
517 gint x_widget, y_widget; | |
518 gint x_size, y_size; | |
519 | |
520 g_return_if_fail (button != NULL); | |
521 g_return_if_fail (GTK_IS_MENU (data)); | |
522 | |
523 parent = gtk_widget_get_parent_window(GTK_WIDGET(button)); | |
524 | |
525 gdk_drawable_get_size(parent, &x_size, &y_size); | |
526 gdk_window_get_root_origin(GTK_WIDGET(button)->window, &x_ro, &y_ro); | |
527 gdk_window_get_position(GTK_WIDGET(button)->window, &x_widget, &y_widget); | |
528 | |
529 pos->x = x_size + x_ro; | |
530 pos->y = y_size + y_ro - 100; | |
531 | |
532 menu = GTK_MENU(data); | |
533 gtk_menu_popup (menu, NULL, NULL, util_menu_position, pos, | |
534 0, GDK_CURRENT_TIME); | |
535 } | |
536 | |
537 | |
538 static void | |
539 on_titlestring_entry_realize(GtkWidget * entry, | |
540 gpointer data) | |
541 { | |
542 gtk_entry_set_text(GTK_ENTRY(entry), cfg.gentitle_format); | |
543 } | |
544 | |
545 static void | |
546 on_titlestring_entry_changed(GtkWidget * entry, | |
547 gpointer data) | |
548 { | |
549 g_free(cfg.gentitle_format); | |
550 cfg.gentitle_format = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry))); | |
551 } | |
552 | |
553 static void | |
554 on_titlestring_cbox_realize(GtkWidget * cbox, | |
555 gpointer data) | |
556 { | |
557 gtk_combo_box_set_active(GTK_COMBO_BOX(cbox), cfg.titlestring_preset); | |
558 gtk_widget_set_sensitive(GTK_WIDGET(data), | |
559 (cfg.titlestring_preset == (gint)n_titlestring_presets)); | |
560 } | |
561 | |
562 static void | |
563 on_titlestring_cbox_changed(GtkWidget * cbox, | |
564 gpointer data) | |
565 { | |
566 gint position = gtk_combo_box_get_active(GTK_COMBO_BOX(cbox)); | |
567 | |
568 cfg.titlestring_preset = position; | |
569 gtk_widget_set_sensitive(GTK_WIDGET(data), (position == 6)); | |
570 } | |
571 | |
572 static void | |
573 on_mainwin_font_button_font_set(GtkFontButton * button, | |
574 gpointer data) | |
575 { | |
576 g_free(cfg.mainwin_font); | |
577 cfg.mainwin_font = g_strdup(gtk_font_button_get_font_name(button)); | |
578 | |
2911 | 579 ui_skinned_textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font); |
2313 | 580 } |
581 | |
582 static void | |
583 on_use_bitmap_fonts_realize(GtkToggleButton * button, | |
584 gpointer data) | |
585 { | |
586 gtk_toggle_button_set_active(button, | |
587 cfg.mainwin_use_xfont != FALSE ? FALSE : TRUE); | |
588 } | |
589 | |
590 static void | |
591 on_use_bitmap_fonts_toggled(GtkToggleButton * button, | |
592 gpointer data) | |
593 { | |
594 gboolean useit = gtk_toggle_button_get_active(button); | |
595 cfg.mainwin_use_xfont = useit != FALSE ? FALSE : TRUE; | |
2911 | 596 ui_skinned_textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font); |
2313 | 597 playlistwin_set_sinfo_font(cfg.playlist_font); |
598 | |
599 if (cfg.playlist_shaded) { | |
600 playlistwin_update_list(playlist_get_active()); | |
3221
9583cd62231f
implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents:
3217
diff
changeset
|
601 ui_skinned_window_draw_all(playlistwin); |
2313 | 602 } |
603 } | |
604 | |
605 static void | |
606 on_mainwin_font_button_realize(GtkFontButton * button, | |
607 gpointer data) | |
608 { | |
609 gtk_font_button_set_font_name(button, cfg.mainwin_font); | |
610 } | |
611 | |
612 static void | |
613 on_playlist_font_button_font_set(GtkFontButton * button, | |
614 gpointer data) | |
615 { | |
616 g_free(cfg.playlist_font); | |
617 cfg.playlist_font = g_strdup(gtk_font_button_get_font_name(button)); | |
618 | |
3217 | 619 ui_skinned_playlist_set_font(cfg.playlist_font); |
2313 | 620 playlistwin_set_sinfo_font(cfg.playlist_font); /* propagate font setting to playlistwin_sinfo */ |
621 playlistwin_update_list(playlist_get_active()); | |
3221
9583cd62231f
implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents:
3217
diff
changeset
|
622 gtk_widget_queue_draw(playlistwin_list); |
2313 | 623 } |
624 | |
625 static void | |
626 on_playlist_font_button_realize(GtkFontButton * button, | |
627 gpointer data) | |
628 { | |
629 gtk_font_button_set_font_name(button, cfg.playlist_font); | |
630 } | |
631 | |
632 static void | |
4002
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
633 playlist_show_pl_separator_numbers_cb() |
2313 | 634 { |
635 playlistwin_update_list(playlist_get_active()); | |
3221
9583cd62231f
implement ui_skinned_window_expose
Tomasz Mon <desowin@gmail.com>
parents:
3217
diff
changeset
|
636 gtk_widget_queue_draw(playlistwin_list); |
2313 | 637 } |
638 | |
639 /* proxy */ | |
640 static void | |
4000
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
641 on_proxy_button_realize(GtkToggleButton *button, gchar *cfg) |
2313 | 642 { |
4000
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
643 g_return_if_fail(cfg != NULL); |
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
644 |
2313 | 645 ConfigDb *db; |
646 gboolean ret; | |
647 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
648 db = cfg_db_open(); |
2313 | 649 |
4000
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
650 if (cfg_db_get_bool(db, NULL, cfg, &ret) != FALSE) |
2313 | 651 gtk_toggle_button_set_active(button, ret); |
652 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
653 cfg_db_close(db); |
2313 | 654 } |
655 | |
656 static void | |
4000
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
657 on_proxy_button_toggled(GtkToggleButton *button, gchar *cfg) |
2313 | 658 { |
4000
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
659 g_return_if_fail(cfg != NULL); |
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
660 |
2313 | 661 ConfigDb *db; |
662 gboolean ret = gtk_toggle_button_get_active(button); | |
663 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
664 db = cfg_db_open(); |
4000
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
665 cfg_db_set_bool(db, NULL, cfg, ret); |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
666 cfg_db_close(db); |
2313 | 667 } |
668 | |
669 static void | |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
670 on_proxy_entry_changed(GtkEntry *entry, gchar *cfg) |
2313 | 671 { |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
672 g_return_if_fail(cfg != NULL); |
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
673 |
2313 | 674 ConfigDb *db; |
675 gchar *ret = g_strdup(gtk_entry_get_text(entry)); | |
676 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
677 db = cfg_db_open(); |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
678 cfg_db_set_string(db, NULL, cfg, ret); |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
679 cfg_db_close(db); |
2313 | 680 |
681 g_free(ret); | |
682 } | |
683 | |
684 static void | |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
685 on_proxy_entry_realize(GtkEntry *entry, gchar *cfg) |
2313 | 686 { |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
687 g_return_if_fail(cfg != NULL); |
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
688 |
2313 | 689 ConfigDb *db; |
690 gchar *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 |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
694 if (cfg_db_get_string(db, NULL, cfg, &ret) != FALSE) |
2313 | 695 gtk_entry_set_text(entry, 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 | |
3356 | 701 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
|
702 { |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
703 GtkTreeSelection *selection; |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
704 GtkTreeModel *model; |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
705 GtkTreeIter iter; |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
706 Plugin *plugin = NULL; |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
707 |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
708 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
|
709 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
|
710 return; |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
711 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
|
712 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
713 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
|
714 g_return_if_fail(plugin->configure != NULL); |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
715 |
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
716 plugin->configure(); |
3353
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
717 } |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
718 |
1cd5fb04e05b
double click on plugin row opens plugin config (if available)
Tomasz Mon <desowin@gmail.com>
parents:
3251
diff
changeset
|
719 static void |
3357 | 720 plugin_treeview_open_info(GtkTreeView *treeview) |
721 { | |
722 GtkTreeSelection *selection; | |
723 GtkTreeModel *model; | |
724 GtkTreeIter iter; | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
725 Plugin *plugin = NULL; |
3357 | 726 |
727 selection = gtk_tree_view_get_selection(treeview); | |
728 if (!gtk_tree_selection_get_selected(selection, &model, &iter)) | |
729 return; | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
730 gtk_tree_model_get(model, &iter, PLUGIN_VIEW_COL_PLUGIN_PTR, &plugin, -1); |
3357 | 731 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
732 g_return_if_fail(plugin != NULL); |
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
733 |
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
734 plugin->about(); |
3357 | 735 } |
736 | |
737 static void | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
738 plugin_treeview_enable_prefs(GtkTreeView * treeview, GtkButton * button) |
2313 | 739 { |
740 GtkTreeSelection *selection; | |
741 GtkTreeModel *model; | |
742 GtkTreeIter iter; | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
743 Plugin *plugin = NULL; |
2313 | 744 |
745 selection = gtk_tree_view_get_selection(treeview); | |
746 if (!gtk_tree_selection_get_selected(selection, &model, &iter)) | |
747 return; | |
748 | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
749 gtk_tree_model_get(model, &iter, PLUGIN_VIEW_COL_PLUGIN_PTR, &plugin, -1); |
2313 | 750 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
751 g_return_if_fail(plugin != NULL); |
2313 | 752 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
753 gtk_widget_set_sensitive(GTK_WIDGET(button), plugin->configure != NULL); |
2313 | 754 } |
755 | |
756 static void | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
757 plugin_treeview_enable_info(GtkTreeView * treeview, GtkButton * button) |
2313 | 758 { |
759 GtkTreeSelection *selection; | |
760 GtkTreeModel *model; | |
761 GtkTreeIter iter; | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
762 Plugin *plugin = NULL; |
2313 | 763 |
764 selection = gtk_tree_view_get_selection(treeview); | |
765 if (!gtk_tree_selection_get_selected(selection, &model, &iter)) | |
766 return; | |
767 | |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
768 gtk_tree_model_get(model, &iter, PLUGIN_VIEW_COL_PLUGIN_PTR, &plugin, -1); |
2313 | 769 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
770 g_return_if_fail(plugin != NULL); |
2313 | 771 |
3442
b0f4ab42dd3b
Rework configuration and about calls.
William Pitcock <nenolod@atheme.org>
parents:
3441
diff
changeset
|
772 gtk_widget_set_sensitive(GTK_WIDGET(button), plugin->about != NULL); |
2313 | 773 } |
774 | |
775 | |
776 static void | |
777 output_plugin_enable_info(GtkComboBox * cbox, GtkButton * button) | |
778 { | |
779 GList *plist; | |
780 | |
781 gint id = gtk_combo_box_get_active(cbox); | |
782 | |
783 plist = get_output_list(); | |
784 plist = g_list_nth(plist, id); | |
785 | |
786 gtk_widget_set_sensitive(GTK_WIDGET(button), | |
787 OUTPUT_PLUGIN(plist->data)->about != NULL); | |
788 } | |
789 | |
790 static void | |
791 output_plugin_enable_prefs(GtkComboBox * cbox, GtkButton * button) | |
792 { | |
793 GList *plist; | |
794 gint id = gtk_combo_box_get_active(cbox); | |
795 | |
796 plist = get_output_list(); | |
797 plist = g_list_nth(plist, id); | |
798 | |
799 gtk_widget_set_sensitive(GTK_WIDGET(button), | |
800 OUTPUT_PLUGIN(plist->data)->configure != NULL); | |
801 } | |
802 | |
803 static void | |
804 on_output_plugin_bufsize_realize(GtkSpinButton *button, | |
805 gpointer data) | |
806 { | |
807 gtk_spin_button_set_value(button, cfg.output_buffer_size); | |
808 } | |
809 | |
810 static void | |
811 on_output_plugin_bufsize_value_changed(GtkSpinButton *button, | |
812 gpointer data) | |
813 { | |
814 cfg.output_buffer_size = gtk_spin_button_get_value_as_int(button); | |
815 } | |
816 | |
817 static void | |
818 on_mouse_wheel_volume_realize(GtkSpinButton * button, | |
819 gpointer data) | |
820 { | |
821 gtk_spin_button_set_value(button, cfg.mouse_change); | |
822 } | |
823 | |
824 static void | |
825 on_mouse_wheel_volume_changed(GtkSpinButton * button, | |
826 gpointer data) | |
827 { | |
828 cfg.mouse_change = gtk_spin_button_get_value_as_int(button); | |
829 } | |
830 | |
831 static void | |
832 on_pause_between_songs_time_realize(GtkSpinButton * button, | |
833 gpointer data) | |
834 { | |
835 gtk_spin_button_set_value(button, cfg.pause_between_songs_time); | |
836 } | |
837 | |
838 static void | |
839 on_pause_between_songs_time_changed(GtkSpinButton * button, | |
840 gpointer data) | |
841 { | |
842 cfg.pause_between_songs_time = gtk_spin_button_get_value_as_int(button); | |
843 } | |
844 | |
845 static void | |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
846 on_enable_src_realize(GtkToggleButton * button, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
847 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
848 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
849 #ifdef USE_SRC |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
850 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
851 gboolean ret; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
852 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
853 db = cfg_db_open(); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
854 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
855 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
|
856 gtk_toggle_button_set_active(button, ret); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
857 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
858 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
859 #else |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
860 gtk_toggle_button_set_active(button, FALSE); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
861 gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
862 #endif |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
863 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
864 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
865 static void |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
866 on_enable_src_toggled(GtkToggleButton * button, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
867 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
868 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
869 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
870 gboolean ret = gtk_toggle_button_get_active(button); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
871 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
872 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
873 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
|
874 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
875 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
876 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
877 static void |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
878 on_src_rate_realize(GtkSpinButton * button, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
879 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
880 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
881 #ifdef USE_SRC |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
882 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
883 gint value; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
884 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
885 db = cfg_db_open(); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
886 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
887 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
|
888 gtk_spin_button_set_value(button, (gdouble)value); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
889 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
890 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
891 #else |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
892 gtk_widget_set_sensitive(GTK_WIDGET(button), FALSE); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
893 #endif |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
894 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
895 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
896 static void |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
897 on_src_rate_value_changed(GtkSpinButton * button, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
898 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
899 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
900 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
901 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
|
902 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
903 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
904 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
|
905 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
906 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
907 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
908 static void |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
909 on_src_converter_type_realize(GtkComboBox * box, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
910 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
911 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
912 #ifdef USE_SRC |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
913 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
914 gint value; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
915 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
916 db = cfg_db_open(); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
917 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
918 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
|
919 gtk_combo_box_set_active(box, value); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
920 else |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
921 gtk_combo_box_set_active(box, 0); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
922 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
923 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
924 #else |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
925 gtk_widget_set_sensitive(GTK_WIDGET(box), FALSE); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
926 #endif |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
927 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
928 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
929 static void |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
930 on_src_converter_type_changed(GtkComboBox * box, |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
931 gpointer data) |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
932 { |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
933 ConfigDb *db; |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
934 gint value = gtk_combo_box_get_active(box); |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
935 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
936 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
937 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
|
938 cfg_db_close(db); |
2538
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
939 } |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
940 |
719e0898ff3c
[svn] - Patch to use libsamplerate for high-quality interpolated upsampling,
nenolod
parents:
2468
diff
changeset
|
941 static void |
2313 | 942 on_mouse_wheel_scroll_pl_realize(GtkSpinButton * button, |
943 gpointer data) | |
944 { | |
945 gtk_spin_button_set_value(button, cfg.scroll_pl_by); | |
946 } | |
947 | |
948 static void | |
949 on_mouse_wheel_scroll_pl_changed(GtkSpinButton * button, | |
950 gpointer data) | |
951 { | |
952 cfg.scroll_pl_by = gtk_spin_button_get_value_as_int(button); | |
953 } | |
954 | |
955 static void | |
956 on_playlist_convert_underscore_realize(GtkToggleButton * button, | |
957 gpointer data) | |
958 { | |
959 gtk_toggle_button_set_active(button, cfg.convert_underscore); | |
960 } | |
961 | |
962 static void | |
963 on_playlist_convert_underscore_toggled(GtkToggleButton * button, | |
964 gpointer data) | |
965 { | |
966 cfg.convert_underscore = gtk_toggle_button_get_active(button); | |
967 } | |
968 | |
969 static void | |
3544
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
970 on_software_volume_control_toggled(GtkToggleButton * button, gpointer data) |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
971 { |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
972 cfg.software_volume_control = gtk_toggle_button_get_active(button); |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
973 } |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
974 |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
975 static void |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
976 on_software_volume_control_realize(GtkToggleButton * button, gpointer data) |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
977 { |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
978 gtk_toggle_button_set_active(button, cfg.software_volume_control); |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
979 } |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
980 |
e235357029ba
Add preferences option.
William Pitcock <nenolod@atheme.org>
parents:
3442
diff
changeset
|
981 static void |
2313 | 982 on_refresh_file_list_realize(GtkToggleButton * button, gpointer data) |
983 { | |
984 gtk_toggle_button_set_active(button, cfg.refresh_file_list); | |
985 } | |
986 | |
987 static void | |
988 on_refresh_file_list_toggled(GtkToggleButton * button, gpointer data) | |
989 { | |
990 cfg.refresh_file_list = gtk_toggle_button_get_active(button); | |
991 } | |
992 | |
993 static void | |
994 on_playlist_convert_twenty_realize(GtkToggleButton * button, gpointer data) | |
995 { | |
996 gtk_toggle_button_set_active(button, cfg.convert_twenty); | |
997 } | |
998 | |
999 static void | |
1000 on_playlist_convert_twenty_toggled(GtkToggleButton * button, gpointer data) | |
1001 { | |
1002 cfg.convert_twenty = gtk_toggle_button_get_active(button); | |
1003 } | |
1004 | |
1005 static void | |
1006 on_playlist_convert_slash_realize(GtkToggleButton * button, gpointer data) | |
1007 { | |
1008 gtk_toggle_button_set_active(button, cfg.convert_slash); | |
1009 } | |
1010 | |
1011 static void | |
1012 on_playlist_convert_slash_toggled(GtkToggleButton * button, gpointer data) | |
1013 { | |
1014 cfg.convert_slash = gtk_toggle_button_get_active(button); | |
1015 } | |
1016 | |
1017 static void | |
1018 on_use_pl_metadata_realize(GtkToggleButton * button, | |
1019 gpointer data) | |
1020 { | |
1021 gboolean state = cfg.use_pl_metadata; | |
1022 gtk_toggle_button_set_active(button, state); | |
1023 gtk_widget_set_sensitive(GTK_WIDGET(data), state); | |
1024 } | |
1025 | |
1026 static void | |
1027 on_use_pl_metadata_toggled(GtkToggleButton * button, | |
1028 gpointer data) | |
1029 { | |
1030 gboolean state = gtk_toggle_button_get_active(button); | |
1031 cfg.use_pl_metadata = state; | |
1032 gtk_widget_set_sensitive(GTK_WIDGET(data), state); | |
1033 } | |
1034 | |
1035 static void | |
1036 on_pause_between_songs_realize(GtkToggleButton * button, | |
1037 gpointer data) | |
1038 { | |
1039 gboolean state = cfg.pause_between_songs; | |
1040 gtk_toggle_button_set_active(button, state); | |
1041 gtk_widget_set_sensitive(GTK_WIDGET(data), state); | |
1042 } | |
1043 | |
1044 static void | |
1045 on_pause_between_songs_toggled(GtkToggleButton * button, | |
1046 gpointer data) | |
1047 { | |
1048 gboolean state = gtk_toggle_button_get_active(button); | |
1049 cfg.pause_between_songs = state; | |
1050 gtk_widget_set_sensitive(GTK_WIDGET(data), state); | |
1051 } | |
1052 | |
1053 static void | |
1054 on_pl_metadata_on_load_realize(GtkRadioButton * button, | |
1055 gpointer data) | |
1056 { | |
1057 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), | |
1058 cfg.get_info_on_load); | |
1059 } | |
1060 | |
1061 static void | |
1062 on_pl_metadata_on_display_realize(GtkRadioButton * button, | |
1063 gpointer data) | |
1064 { | |
1065 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), | |
1066 cfg.get_info_on_demand); | |
1067 } | |
1068 | |
1069 static void | |
1070 on_pl_metadata_on_load_toggled(GtkRadioButton * button, | |
1071 gpointer data) | |
1072 { | |
1073 cfg.get_info_on_load = | |
1074 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)); | |
1075 } | |
1076 | |
1077 static void | |
1078 on_pl_metadata_on_display_toggled(GtkRadioButton * button, | |
1079 gpointer data) | |
1080 { | |
1081 cfg.get_info_on_demand = | |
1082 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)); | |
1083 } | |
1084 | |
1085 static void | |
1086 on_eq_dir_preset_entry_realize(GtkEntry * entry, | |
1087 gpointer data) | |
1088 { | |
1089 gtk_entry_set_text(entry, cfg.eqpreset_default_file); | |
1090 } | |
1091 | |
1092 static void | |
1093 on_eq_dir_preset_entry_changed(GtkEntry * entry, | |
1094 gpointer data) | |
1095 { | |
1096 g_free(cfg.eqpreset_default_file); | |
1097 cfg.eqpreset_default_file = g_strdup(gtk_entry_get_text(entry)); | |
1098 } | |
1099 | |
1100 static void | |
1101 on_eq_file_preset_entry_realize(GtkEntry * entry, | |
1102 gpointer data) | |
1103 { | |
1104 gtk_entry_set_text(entry, cfg.eqpreset_extension); | |
1105 } | |
1106 | |
1107 static void | |
1108 on_eq_file_preset_entry_changed(GtkEntry * entry, gpointer data) | |
1109 { | |
1110 const gchar *text = gtk_entry_get_text(entry); | |
1111 | |
1112 while (*text == '.') | |
1113 text++; | |
1114 | |
1115 g_free(cfg.eqpreset_extension); | |
1116 cfg.eqpreset_extension = g_strdup(text); | |
1117 } | |
1118 | |
1119 | |
1120 static void | |
1121 on_skin_refresh_button_clicked(GtkButton * button, | |
1122 gpointer data) | |
1123 { | |
1124 const mode_t mode755 = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; | |
1125 | |
1126 del_directory(bmp_paths[BMP_PATH_SKIN_THUMB_DIR]); | |
1127 make_directory(bmp_paths[BMP_PATH_SKIN_THUMB_DIR], mode755); | |
1128 | |
3993 | 1129 skin_view_update(GTK_TREE_VIEW(skin_view), GTK_WIDGET(skin_refresh_button)); |
2313 | 1130 } |
1131 | |
1132 static gboolean | |
1133 on_skin_view_realize(GtkTreeView * treeview, | |
1134 gpointer data) | |
1135 { | |
1136 skin_view_realize(treeview); | |
1137 | |
1138 return TRUE; | |
1139 } | |
1140 | |
1141 static void | |
3993 | 1142 on_category_treeview_realize(GtkTreeView * treeview, |
2313 | 1143 GtkNotebook * notebook) |
1144 { | |
1145 GtkListStore *store; | |
1146 GtkCellRenderer *renderer; | |
1147 GtkTreeViewColumn *column; | |
1148 GtkTreeSelection *selection; | |
1149 GtkTreeIter iter; | |
1150 GdkPixbuf *img; | |
1151 CategoryQueueEntry *qlist; | |
1152 gint i; | |
1153 | |
1154 column = gtk_tree_view_column_new(); | |
1155 gtk_tree_view_column_set_title(column, _("Category")); | |
1156 gtk_tree_view_append_column(treeview, column); | |
1157 gtk_tree_view_column_set_spacing(column, 2); | |
1158 | |
1159 renderer = gtk_cell_renderer_pixbuf_new(); | |
1160 gtk_tree_view_column_pack_start(column, renderer, FALSE); | |
1161 gtk_tree_view_column_set_attributes(column, renderer, "pixbuf", 0, NULL); | |
1162 | |
1163 renderer = gtk_cell_renderer_text_new(); | |
1164 gtk_tree_view_column_pack_start(column, renderer, FALSE); | |
1165 gtk_tree_view_column_set_attributes(column, renderer, "text", 1, NULL); | |
1166 | |
1167 store = gtk_list_store_new(CATEGORY_VIEW_N_COLS, | |
1168 GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT); | |
1169 gtk_tree_view_set_model(treeview, GTK_TREE_MODEL(store)); | |
1170 | |
1171 for (i = 0; i < n_categories; i++) { | |
1172 img = gdk_pixbuf_new_from_file(categories[i].icon_path, NULL); | |
1173 gtk_list_store_append(store, &iter); | |
1174 gtk_list_store_set(store, &iter, | |
1175 CATEGORY_VIEW_COL_ICON, img, | |
1176 CATEGORY_VIEW_COL_NAME, | |
1177 gettext(categories[i].name), CATEGORY_VIEW_COL_ID, | |
1178 categories[i].id, -1); | |
1179 g_object_unref(img); | |
1180 } | |
1181 | |
1182 selection = gtk_tree_view_get_selection(treeview); | |
1183 | |
1184 g_signal_connect_swapped(selection, "changed", | |
1185 G_CALLBACK(change_category), notebook); | |
1186 | |
1187 /* mark the treeview widget as available to third party plugins */ | |
1188 category_treeview = GTK_WIDGET(treeview); | |
1189 | |
1190 /* prefswin_page_queue_destroy already pops the queue forward for us. */ | |
1191 for (qlist = category_queue; qlist != NULL; qlist = category_queue) | |
1192 { | |
1193 CategoryQueueEntry *ent = (CategoryQueueEntry *) qlist; | |
1194 | |
1195 prefswin_page_new(ent->container, ent->pg_name, ent->img_url); | |
1196 prefswin_page_queue_destroy(ent); | |
1197 } | |
1198 } | |
1199 | |
1200 static void | |
1201 on_skin_view_drag_data_received(GtkWidget * widget, | |
1202 GdkDragContext * context, | |
1203 gint x, gint y, | |
1204 GtkSelectionData * selection_data, | |
1205 guint info, guint time, | |
1206 gpointer user_data) | |
1207 { | |
1208 ConfigDb *db; | |
1209 gchar *path; | |
1210 | |
1211 if (!selection_data->data) { | |
1212 g_warning("DND data string is NULL"); | |
1213 return; | |
1214 } | |
1215 | |
1216 path = (gchar *) selection_data->data; | |
1217 | |
1218 /* FIXME: use a real URL validator/parser */ | |
1219 | |
1220 if (str_has_prefix_nocase(path, "file:///")) { | |
1221 path[strlen(path) - 2] = 0; /* Why the hell a CR&LF? */ | |
1222 path += 7; | |
1223 } | |
1224 else if (str_has_prefix_nocase(path, "file:")) { | |
1225 path += 5; | |
1226 } | |
1227 | |
1228 if (file_is_archive(path)) { | |
1229 bmp_active_skin_load(path); | |
1230 skin_install_skin(path); | |
3993 | 1231 skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(skin_refresh_button)); |
2313 | 1232 /* 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
|
1233 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1234 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
|
1235 cfg_db_close(db); |
2313 | 1236 } |
1237 | |
1238 } | |
1239 | |
1240 static void | |
1241 on_chardet_detector_cbox_changed(GtkComboBox * combobox, gpointer data) | |
1242 { | |
1243 ConfigDb *db; | |
1244 gint position = 0; | |
1245 | |
1246 position = gtk_combo_box_get_active(GTK_COMBO_BOX(combobox)); | |
1247 cfg.chardet_detector = (char *)chardet_detector_presets[position]; | |
1248 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1249 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1250 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
|
1251 cfg_db_close(db); |
2313 | 1252 if (data != NULL) |
1253 gtk_widget_set_sensitive(GTK_WIDGET(data), 1); | |
1254 } | |
1255 | |
1256 static void | |
1257 on_chardet_detector_cbox_realize(GtkComboBox *combobox, gpointer data) | |
1258 { | |
1259 ConfigDb *db; | |
1260 gchar *ret=NULL; | |
1261 guint i=0,index=0; | |
1262 | |
1263 for(i=0; i<n_chardet_detector_presets; i++) { | |
1264 gtk_combo_box_append_text(combobox, chardet_detector_presets[i]); | |
1265 } | |
1266 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1267 db = cfg_db_open(); |
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1268 if(cfg_db_get_string(db, NULL, "chardet_detector", &ret) != FALSE) { |
2313 | 1269 for(i=0; i<n_chardet_detector_presets; i++) { |
1270 if(!strcmp(chardet_detector_presets[i], ret)) { | |
1271 cfg.chardet_detector = (char *)chardet_detector_presets[i]; | |
1272 index = i; | |
1273 } | |
1274 } | |
1275 } | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1276 cfg_db_close(db); |
2313 | 1277 |
1278 #ifdef USE_CHARDET | |
1279 gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), index); | |
1280 | |
1281 if (data != NULL) | |
1282 gtk_widget_set_sensitive(GTK_WIDGET(data), TRUE); | |
1283 | |
1284 g_signal_connect(combobox, "changed", | |
1285 G_CALLBACK(on_chardet_detector_cbox_changed), NULL); | |
1286 #else | |
1287 gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), -1); | |
1288 gtk_widget_set_sensitive(GTK_WIDGET(combobox), 0); | |
1289 #endif | |
1290 if(ret) | |
1291 g_free(ret); | |
1292 } | |
1293 | |
1294 static void | |
1295 on_chardet_fallback_realize(GtkEntry *entry, gpointer data) | |
1296 { | |
1297 ConfigDb *db; | |
1298 gchar *ret = NULL; | |
1299 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1300 db = cfg_db_open(); |
2313 | 1301 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1302 if (cfg_db_get_string(db, NULL, "chardet_fallback", &ret) != FALSE) { |
2313 | 1303 if(cfg.chardet_fallback) |
1304 g_free(cfg.chardet_fallback); | |
1305 | |
1306 if(ret && strncasecmp(ret, "None", sizeof("None"))) { | |
1307 cfg.chardet_fallback = ret; | |
1308 } else { | |
1309 cfg.chardet_fallback = g_strdup(""); | |
1310 } | |
1311 gtk_entry_set_text(entry, cfg.chardet_fallback); | |
1312 } | |
1313 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1314 cfg_db_close(db); |
2313 | 1315 } |
1316 | |
1317 static void | |
1318 on_chardet_fallback_changed(GtkEntry *entry, gpointer data) | |
1319 { | |
1320 ConfigDb *db; | |
1321 gchar *ret = NULL; | |
1322 | |
1323 if(cfg.chardet_fallback) | |
1324 g_free(cfg.chardet_fallback); | |
1325 | |
1326 ret = g_strdup(gtk_entry_get_text(entry)); | |
1327 | |
1328 if(ret == NULL) | |
1329 cfg.chardet_fallback = g_strdup(""); | |
1330 else | |
1331 cfg.chardet_fallback = ret; | |
1332 | |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1333 db = cfg_db_open(); |
2313 | 1334 |
1335 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
|
1336 cfg_db_set_string(db, NULL, "chardet_fallback", "None"); |
2313 | 1337 else |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1338 cfg_db_set_string(db, NULL, "chardet_fallback", cfg.chardet_fallback); |
2313 | 1339 |
3686
259b7d3e0976
sed s/bmp_cfg_db/cfg_db/.
William Pitcock <nenolod@atheme.org>
parents:
3664
diff
changeset
|
1340 cfg_db_close(db); |
2313 | 1341 } |
1342 | |
1343 static void | |
1344 on_show_filepopup_for_tuple_realize(GtkToggleButton * button, gpointer data) | |
1345 { | |
1346 gtk_toggle_button_set_active(button, cfg.show_filepopup_for_tuple); | |
3993 | 1347 filepopupbutton = GTK_WIDGET(button); |
1348 | |
1349 gtk_widget_set_sensitive(filepopup_for_tuple_settings_button, cfg.show_filepopup_for_tuple); | |
2313 | 1350 } |
1351 | |
1352 static void | |
1353 on_show_filepopup_for_tuple_toggled(GtkToggleButton * button, gpointer data) | |
1354 { | |
1355 cfg.show_filepopup_for_tuple = gtk_toggle_button_get_active(button); | |
1356 | |
3993 | 1357 gtk_widget_set_sensitive(filepopup_for_tuple_settings_button, cfg.show_filepopup_for_tuple); |
2313 | 1358 } |
1359 | |
1360 static void | |
1361 on_recurse_for_cover_toggled(GtkToggleButton *button, gpointer data) | |
1362 { | |
1363 gtk_widget_set_sensitive(GTK_WIDGET(data), | |
1364 gtk_toggle_button_get_active(button)); | |
1365 } | |
1366 | |
1367 static void | |
1368 on_colorize_button_clicked(GtkButton *button, gpointer data) | |
1369 { | |
3992
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1370 if (colorize_settings) |
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1371 gtk_window_present(GTK_WINDOW(colorize_settings)); |
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1372 else |
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1373 create_colorize_settings(); |
2313 | 1374 } |
1375 | |
1376 static void | |
3856
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1377 reload_skin() |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1378 { |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1379 /* 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
|
1380 skin_reload_forced(); |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1381 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
|
1382 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
|
1383 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
|
1384 } |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1385 |
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1386 static void |
2313 | 1387 on_red_scale_value_changed(GtkHScale *scale, gpointer data) |
1388 { | |
3856
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1389 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
|
1390 reload_skin(); |
2313 | 1391 } |
1392 | |
1393 static void | |
1394 on_green_scale_value_changed(GtkHScale *scale, gpointer data) | |
1395 { | |
3856
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1396 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
|
1397 reload_skin(); |
2313 | 1398 } |
1399 | |
1400 static void | |
1401 on_blue_scale_value_changed(GtkHScale *scale, gpointer data) | |
1402 { | |
3856
de26ea4a42fc
fixed bugs in interface color changing (that was TOTALLY BROKEN and
mf0102 <0102@gmx.at>
parents:
3712
diff
changeset
|
1403 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
|
1404 reload_skin(); |
2313 | 1405 } |
1406 | |
1407 static void | |
1408 on_colorize_close_clicked(GtkButton *button, gpointer data) | |
1409 { | |
3992
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1410 gtk_widget_destroy(colorize_settings); |
50bf02b4f048
correct mf0102's commit a bit
Tomasz Mon <desowin@gmail.com>
parents:
3991
diff
changeset
|
1411 colorize_settings = NULL; |
2313 | 1412 } |
1413 | |
1414 static void | |
1415 on_filepopup_for_tuple_settings_clicked(GtkButton *button, gpointer data) | |
1416 { | |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1417 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
|
1418 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
|
1419 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
|
1420 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
|
1421 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
|
1422 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
|
1423 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
|
1424 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
|
1425 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1426 gtk_widget_show(filepopup_settings); |
2313 | 1427 } |
1428 | |
1429 static void | |
1430 on_filepopup_settings_ok_clicked(GtkButton *button, gpointer data) | |
1431 { | |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1432 g_free(cfg.cover_name_include); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1433 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
|
1434 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1435 g_free(cfg.cover_name_exclude); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1436 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
|
1437 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1438 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
|
1439 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
|
1440 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
|
1441 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
|
1442 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
|
1443 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1444 gtk_widget_hide(filepopup_settings); |
2313 | 1445 } |
1446 | |
1447 static void | |
1448 on_filepopup_settings_cancel_clicked(GtkButton *button, gpointer data) | |
1449 { | |
1450 gtk_widget_hide(filepopup_settings); | |
1451 } | |
1452 | |
1453 static void | |
4002
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1454 on_toggle_button_toggled(GtkToggleButton * button, gboolean *cfg) |
2313 | 1455 { |
4002
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1456 *cfg = gtk_toggle_button_get_active(button); |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1457 void (*callback) (void) = g_object_get_data(G_OBJECT(button), "callback"); |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1458 if (callback) callback(); |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1459 |
2313 | 1460 } |
1461 | |
1462 static void | |
4001
733820bc7744
some more duplicate code removal
Tomasz Mon <desowin@gmail.com>
parents:
4000
diff
changeset
|
1463 on_toggle_button_realize(GtkToggleButton * button, gboolean *cfg) |
2313 | 1464 { |
4001
733820bc7744
some more duplicate code removal
Tomasz Mon <desowin@gmail.com>
parents:
4000
diff
changeset
|
1465 gtk_toggle_button_set_active(button, *cfg); |
2313 | 1466 } |
1467 | |
1468 static void | |
4002
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1469 show_wm_decorations_cb() |
2313 | 1470 { |
1471 gtk_window_set_decorated(GTK_WINDOW(mainwin), cfg.show_wm_decorations); | |
1472 gtk_window_set_decorated(GTK_WINDOW(playlistwin), cfg.show_wm_decorations); | |
1473 gtk_window_set_decorated(GTK_WINDOW(equalizerwin), cfg.show_wm_decorations); | |
2623 | 1474 } |
1475 | |
1476 static void | |
1477 on_reload_plugins_clicked(GtkButton * button, gpointer data) | |
1478 { | |
1479 /* TBD: should every playlist entry have to be reprobed? | |
1480 * Pointers could come back stale if new plugins are added or | |
1481 * symbol sizes change. - nenolod | |
1482 */ | |
1483 | |
2682
c3cd6e47faf6
[svn] - make the evil 'reload plugins' button behave a bit better
giacomo
parents:
2635
diff
changeset
|
1484 bmp_config_save(); |
2623 | 1485 plugin_system_cleanup(); |
2682
c3cd6e47faf6
[svn] - make the evil 'reload plugins' button behave a bit better
giacomo
parents:
2635
diff
changeset
|
1486 bmp_config_free(); |
c3cd6e47faf6
[svn] - make the evil 'reload plugins' button behave a bit better
giacomo
parents:
2635
diff
changeset
|
1487 bmp_config_load(); |
2623 | 1488 plugin_system_init(); |
2313 | 1489 } |
1490 | |
1491 void | |
3989
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1492 create_colorize_settings(void) |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1493 { |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1494 GtkWidget *vbox; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1495 GtkWidget *label; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1496 GtkWidget *table; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1497 GtkWidget *hbuttonbox; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1498 GtkWidget *colorize_close; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1499 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1500 GtkWidget *green_label; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1501 GtkWidget *red_label; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1502 GtkWidget *blue_label; |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1503 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1504 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
|
1505 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
|
1506 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
|
1507 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
|
1508 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
|
1509 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1510 vbox = gtk_vbox_new(FALSE, 12); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1511 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
|
1512 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1513 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
|
1514 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
|
1515 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
|
1516 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
|
1517 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1518 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
|
1519 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
|
1520 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
|
1521 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
|
1522 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1523 blue_label = gtk_label_new(_("Blue")); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1524 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
|
1525 (GtkAttachOptions) (0), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1526 (GtkAttachOptions) (0), 0, 0); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1527 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
|
1528 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
|
1529 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1530 green_label = gtk_label_new(_("Green")); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1531 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
|
1532 (GtkAttachOptions) (0), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1533 (GtkAttachOptions) (0), 0, 0); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1534 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
|
1535 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
|
1536 |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1537 red_label = gtk_label_new(_("Red")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1538 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
|
1539 (GtkAttachOptions) (0), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1540 (GtkAttachOptions) (0), 0, 0); |
3989
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1541 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
|
1542 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
|
1543 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1544 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
|
1545 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
|
1546 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1547 (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
|
1548 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
|
1549 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
|
1550 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1551 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
|
1552 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
|
1553 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1554 (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
|
1555 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
|
1556 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
|
1557 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1558 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
|
1559 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
|
1560 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1561 (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
|
1562 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
|
1563 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
|
1564 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1565 hbuttonbox = gtk_hbutton_box_new(); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1566 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
|
1567 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
|
1568 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
|
1569 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1570 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
|
1571 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
|
1572 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
|
1573 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1574 g_signal_connect((gpointer) red_scale, "value_changed", |
3993 | 1575 G_CALLBACK(on_red_scale_value_changed), |
3989
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1576 NULL); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1577 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
|
1578 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
|
1579 NULL); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1580 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
|
1581 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
|
1582 NULL); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1583 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
|
1584 G_CALLBACK(on_colorize_close_clicked), |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1585 NULL); |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1586 |
3991
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
1587 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
|
1588 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
|
1589 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
|
1590 |
3989
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1591 gtk_widget_grab_default(colorize_close); |
3991
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
1592 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
|
1593 } |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1594 |
6faed0cdc276
colorize_popup is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3985
diff
changeset
|
1595 void |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1596 create_filepopup_settings(void) |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1597 { |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1598 GtkWidget *vbox; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1599 GtkWidget *table; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1600 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1601 GtkWidget *label_cover_retrieve; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1602 GtkWidget *label_cover_search; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1603 GtkWidget *label_exclude; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1604 GtkWidget *label_include; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1605 GtkWidget *label_search_depth; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1606 GtkWidget *label_misc; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1607 GtkWidget *label_delay; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1608 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1609 GtkObject *recurse_for_cover_depth_adj; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1610 GtkObject *delay_adj; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1611 GtkWidget *alignment; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1612 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1613 GtkWidget *hbox; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1614 GtkWidget *hbuttonbox; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1615 GtkWidget *btn_cancel; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1616 GtkWidget *btn_ok; |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1617 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1618 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
|
1619 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
|
1620 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
|
1621 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
|
1622 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
|
1623 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
|
1624 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
|
1625 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1626 vbox = gtk_vbox_new(FALSE, 12); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1627 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
|
1628 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1629 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
|
1630 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
|
1631 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
|
1632 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
|
1633 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1634 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
|
1635 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
|
1636 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
|
1637 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
|
1638 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
|
1639 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1640 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
|
1641 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
|
1642 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
|
1643 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
|
1644 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1645 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
|
1646 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
|
1647 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1648 (GtkAttachOptions) (0), 0, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1649 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
|
1650 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1651 label_exclude = gtk_label_new(_("Exclude:")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1652 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
|
1653 (GtkAttachOptions) (0), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1654 (GtkAttachOptions) (0), 0, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1655 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
|
1656 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
|
1657 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1658 label_include = gtk_label_new(_("Include:")); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1659 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
|
1660 (GtkAttachOptions) (0), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1661 (GtkAttachOptions) (0), 0, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1662 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
|
1663 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
|
1664 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1665 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
|
1666 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
|
1667 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1668 (GtkAttachOptions) (0), 0, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1669 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
|
1670 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1671 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
|
1672 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
|
1673 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
|
1674 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1675 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
|
1676 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
|
1677 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1678 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
|
1679 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
|
1680 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
|
1681 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1682 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
|
1683 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
|
1684 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1685 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
|
1686 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
|
1687 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
|
1688 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1689 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
|
1690 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
|
1691 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
|
1692 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
|
1693 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1694 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
|
1695 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
|
1696 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
|
1697 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1698 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
|
1699 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
|
1700 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1701 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
|
1702 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
|
1703 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
|
1704 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
|
1705 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1706 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
|
1707 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
|
1708 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
|
1709 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1710 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
|
1711 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
|
1712 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1713 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
|
1714 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
|
1715 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
|
1716 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1717 hbox = gtk_hbox_new(FALSE, 0); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1718 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
|
1719 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1720 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
|
1721 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
|
1722 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
|
1723 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
|
1724 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1725 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
|
1726 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
|
1727 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
|
1728 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
|
1729 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1730 hbuttonbox = gtk_hbutton_box_new(); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1731 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
|
1732 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
|
1733 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
|
1734 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1735 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
|
1736 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
|
1737 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1738 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
|
1739 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
|
1740 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
|
1741 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1742 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
|
1743 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
|
1744 NULL); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1745 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
|
1746 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
|
1747 NULL); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1748 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
|
1749 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
|
1750 NULL); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1751 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
|
1752 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
|
1753 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
|
1754 |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1755 gtk_widget_grab_default(btn_ok); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1756 gtk_widget_show_all(vbox); |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1757 } |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1758 |
4002
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1759 /* it's at early stage */ |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1760 static void |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1761 create_widgets(GtkBox *box, preferences_widgets* widgets, gint amt) |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1762 { |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1763 int x; |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1764 GtkWidget *alignment = NULL, *widget = NULL; |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1765 |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1766 for (x = 0; x < amt; ++x) { |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1767 alignment = gtk_alignment_new (0.5, 0.5, 1, 1); |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1768 gtk_box_pack_start(box, alignment, TRUE, TRUE, 0); |
4003 | 1769 |
1770 | |
1771 switch(widgets[x].type) { | |
1772 case WIDGET_CHK_BTN: | |
1773 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0); | |
1774 widget = gtk_check_button_new_with_mnemonic(widgets[x].label); | |
1775 g_object_set_data(G_OBJECT(widget), "callback", widgets[x].callback); | |
1776 g_signal_connect(G_OBJECT(widget), "toggled", | |
1777 G_CALLBACK(on_toggle_button_toggled), | |
1778 widgets[x].cfg); | |
1779 g_signal_connect(G_OBJECT(widget), "realize", | |
1780 G_CALLBACK(on_toggle_button_realize), | |
1781 widgets[x].cfg); | |
1782 break; | |
1783 case WIDGET_LABEL: | |
1784 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 12, 6, 0, 0); | |
1785 widget = gtk_label_new_with_mnemonic(widgets[x].label); | |
1786 gtk_label_set_use_markup(GTK_LABEL(widget), TRUE); | |
1787 gtk_misc_set_alignment(GTK_MISC(widget), 0, 0.5); | |
1788 break; | |
1789 default: | |
1790 g_object_unref(alignment); | |
1791 widget = NULL; | |
1792 continue; | |
4002
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1793 } |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1794 |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1795 if (widget) |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1796 gtk_container_add(GTK_CONTAINER(alignment), widget); |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1797 if (widgets[x].tooltip) |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1798 gtk_tooltips_set_tip(tooltips, widget, widgets[x].tooltip, NULL); |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1799 } |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1800 |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1801 } |
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
1802 |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
1803 void |
2313 | 1804 create_prefs_window(void) |
1805 { | |
2467 | 1806 gchar *aud_version_string; |
2313 | 1807 |
1808 GtkWidget *titlestring_tag_menu, *menu_item; | |
1809 guint i; | |
3993 | 1810 |
1811 GtkWidget *vbox; | |
1812 GtkWidget *hbox1; | |
1813 GtkWidget *scrolledwindow6; | |
1814 GtkWidget *plugin_page_vbox; | |
1815 GtkWidget *plugin_notebook; | |
1816 GtkWidget *plugin_input_vbox; | |
1817 GtkWidget *alignment43; | |
1818 GtkWidget *input_plugin_list_label; | |
1819 GtkWidget *scrolledwindow3; | |
1820 GtkWidget *input_plugin_view; | |
1821 GtkWidget *input_plugin_button_box; | |
1822 GtkWidget *input_plugin_prefs; | |
1823 GtkWidget *input_plugin_info; | |
1824 GtkWidget *plugin_input_label; | |
1825 GtkWidget *plugin_general_vbox; | |
1826 GtkWidget *alignment45; | |
1827 GtkWidget *label11; | |
1828 GtkWidget *scrolledwindow5; | |
1829 GtkWidget *general_plugin_view; | |
1830 GtkWidget *general_plugin_button_box; | |
1831 GtkWidget *general_plugin_prefs; | |
1832 GtkWidget *general_plugin_info; | |
1833 GtkWidget *plugin_general_label; | |
1834 GtkWidget *vbox21; | |
1835 GtkWidget *alignment46; | |
1836 GtkWidget *label53; | |
1837 GtkWidget *scrolledwindow7; | |
1838 GtkWidget *vis_plugin_view; | |
1839 GtkWidget *hbuttonbox6; | |
1840 GtkWidget *vis_plugin_prefs; | |
1841 GtkWidget *vis_plugin_info; | |
1842 GtkWidget *vis_label; | |
1843 GtkWidget *vbox25; | |
1844 GtkWidget *alignment58; | |
1845 GtkWidget *label64; | |
1846 GtkWidget *scrolledwindow9; | |
1847 GtkWidget *effect_plugin_view; | |
1848 GtkWidget *hbuttonbox9; | |
1849 GtkWidget *effect_plugin_prefs; | |
1850 GtkWidget *effect_plugin_info; | |
1851 GtkWidget *effects_label; | |
1852 GtkWidget *plugin_label; | |
1853 GtkWidget *appearance_page_vbox; | |
1854 GtkWidget *vbox37; | |
1855 GtkWidget *vbox38; | |
1856 GtkWidget *hbox12; | |
1857 GtkWidget *alignment94; | |
1858 GtkWidget *hbox13; | |
1859 GtkWidget *label103; | |
1860 GtkWidget *colorspace_button; | |
1861 GtkWidget *image11; | |
1862 GtkWidget *image12; | |
1863 GtkWidget *alignment95; | |
1864 GtkWidget *skin_view_scrolled_window; | |
1865 GtkWidget *vbox39; | |
1866 GtkWidget *alignment96; | |
1867 GtkWidget *label104; | |
1868 GtkWidget *table14; | |
1869 GtkWidget *alignment97; | |
1870 GtkWidget *label105; | |
1871 GtkWidget *alignment98; | |
1872 GtkWidget *label106; | |
1873 GtkWidget *fontbutton1; | |
1874 GtkWidget *fontbutton2; | |
1875 GtkWidget *alignment99; | |
1876 GtkWidget *checkbutton11; | |
1877 GtkWidget *vbox40; | |
1878 GtkWidget *appearance_label; | |
1879 GtkWidget *mouse_page_vbox; | |
1880 GtkWidget *vbox20; | |
1881 GtkWidget *alignment36; | |
1882 GtkWidget *label51; | |
1883 GtkWidget *alignment34; | |
1884 GtkWidget *table4; | |
1885 GtkObject *mouse_wheel_volume_adj; | |
1886 GtkWidget *mouse_wheel_volume; | |
1887 GtkWidget *label35; | |
1888 GtkObject *mouse_wheel_scroll_pl_adj; | |
1889 GtkWidget *mouse_wheel_scroll_pl; | |
1890 GtkWidget *label34; | |
1891 GtkWidget *label33; | |
1892 GtkWidget *label32; | |
1893 GtkWidget *mouse_label; | |
1894 GtkWidget *playlist_page_vbox; | |
1895 GtkWidget *vbox5; | |
1896 GtkWidget *alignment14; | |
1897 GtkWidget *label38; | |
1898 GtkWidget *alignment12; | |
1899 GtkWidget *playlist_convert_underscore; | |
1900 GtkWidget *alignment13; | |
1901 GtkWidget *playlist_convert_twenty; | |
1902 GtkWidget *alignment88; | |
1903 GtkWidget *playlist_convert_slash; | |
1904 GtkWidget *alignment15; | |
1905 GtkWidget *label39; | |
1906 GtkWidget *alignment16; | |
1907 GtkWidget *playlist_use_metadata; | |
1908 GtkWidget *alignment18; | |
1909 GtkWidget *playlist_use_metadata_box; | |
1910 GtkWidget *playlist_metadata_on_load; | |
1911 GSList *playlist_metadata_on_load_group = NULL; | |
1912 GtkWidget *playlist_metadata_on_display; | |
1913 GtkWidget *table10; | |
1914 GtkWidget *label73; | |
1915 GtkWidget *combobox1; | |
1916 GtkWidget *entry1; | |
1917 GtkWidget *label74; | |
1918 GtkWidget *alignment19; | |
1919 GtkWidget *label40; | |
1920 GtkWidget *alignment20; | |
1921 GtkWidget *refresh_file_list; | |
1922 GtkWidget *alignment55; | |
1923 GtkWidget *label60; | |
1924 GtkWidget *alignment56; | |
1925 GtkWidget *table6; | |
1926 GtkWidget *titlestring_help_button; | |
1927 GtkWidget *image1; | |
1928 GtkWidget *titlestring_cbox; | |
1929 GtkWidget *label62; | |
1930 GtkWidget *label61; | |
1931 GtkWidget *alignment85; | |
1932 GtkWidget *label84; | |
1933 GtkWidget *alignment86; | |
1934 GtkWidget *hbox9; | |
1935 GtkWidget *vbox34; | |
1936 GtkWidget *checkbutton10; | |
1937 GtkWidget *image8; | |
1938 GtkWidget *playlist_label; | |
1939 GtkWidget *equalizer_page_vbox; | |
1940 GtkWidget *alignment28; | |
1941 GtkWidget *vbox22; | |
1942 GtkWidget *alignment30; | |
1943 GtkWidget *equalizer_page_label; | |
1944 GtkWidget *vbox23; | |
1945 GtkWidget *alignment33; | |
1946 GtkWidget *table5; | |
1947 GtkWidget *label58; | |
1948 GtkWidget *label57; | |
1949 GtkWidget *eq_file_preset_entry; | |
1950 GtkWidget *eq_dir_preset_entry; | |
1951 GtkWidget *equalizer_label; | |
1952 GtkWidget *connectivity_page_vbox; | |
1953 GtkWidget *vbox29; | |
1954 GtkWidget *alignment63; | |
1955 GtkWidget *connectivity_page_label; | |
1956 GtkWidget *alignment68; | |
1957 GtkWidget *vbox30; | |
1958 GtkWidget *alignment65; | |
1959 GtkWidget *proxy_use; | |
1960 GtkWidget *table8; | |
1961 GtkWidget *proxy_port; | |
1962 GtkWidget *proxy_host; | |
1963 GtkWidget *label69; | |
1964 GtkWidget *label68; | |
1965 GtkWidget *alignment67; | |
1966 GtkWidget *proxy_auth; | |
1967 GtkWidget *table9; | |
1968 GtkWidget *proxy_pass; | |
1969 GtkWidget *proxy_user; | |
1970 GtkWidget *label71; | |
1971 GtkWidget *label70; | |
1972 GtkWidget *alignment72; | |
1973 GtkWidget *hbox6; | |
1974 GtkWidget *image4; | |
1975 GtkWidget *label75; | |
1976 GtkWidget *label95; | |
1977 GtkWidget *empty_notebook_page; | |
1978 GtkWidget *label96; | |
1979 GtkWidget *audio_scrolled_window; | |
1980 GtkWidget *audio_page_viewport; | |
1981 GtkWidget *audio_page_vbox; | |
1982 GtkWidget *alignment74; | |
1983 GtkWidget *label77; | |
1984 GtkWidget *alignment73; | |
1985 GtkWidget *vbox33; | |
1986 GtkWidget *table11; | |
1987 GtkWidget *image7; | |
1988 GtkWidget *label79; | |
1989 GtkWidget *label82; | |
1990 GtkObject *output_plugin_bufsize_adj; | |
1991 GtkWidget *output_plugin_bufsize; | |
1992 GtkWidget *output_plugin_cbox; | |
1993 GtkWidget *label78; | |
1994 GtkWidget *alignment82; | |
1995 GtkWidget *output_plugin_button_box; | |
1996 GtkWidget *output_plugin_prefs; | |
1997 GtkWidget *alignment76; | |
1998 GtkWidget *hbox7; | |
1999 GtkWidget *image5; | |
2000 GtkWidget *label80; | |
2001 GtkWidget *output_plugin_info; | |
2002 GtkWidget *alignment77; | |
2003 GtkWidget *hbox8; | |
2004 GtkWidget *image6; | |
2005 GtkWidget *label81; | |
2006 GtkWidget *alignment80; | |
2007 GtkWidget *pause_between_songs; | |
2008 GtkWidget *alignment22; | |
2009 GtkWidget *pause_between_songs_box; | |
2010 GtkWidget *label41; | |
2011 GtkObject *pause_between_songs_time_adj; | |
2012 GtkWidget *pause_between_songs_time; | |
2013 GtkWidget *label42; | |
2014 GtkWidget *alignment90; | |
2015 GtkWidget *label93; | |
2016 GtkWidget *alignment92; | |
2017 GtkWidget *enable_src; | |
2018 GtkWidget *alignment91; | |
2019 GtkWidget *vbox36; | |
2020 GtkWidget *table13; | |
2021 GtkWidget *src_converter_type; | |
2022 GtkWidget *label94; | |
2023 GtkWidget *label92; | |
2024 GtkWidget *image9; | |
2025 GtkObject *src_rate_adj; | |
2026 GtkWidget *src_rate; | |
2027 GtkWidget *label91; | |
2028 GtkWidget *alignment4; | |
2029 GtkWidget *label2; | |
2030 GtkWidget *alignment7; | |
2031 GtkWidget *software_volume_control; | |
2032 GtkWidget *hseparator1; | |
2033 GtkWidget *hbox4; | |
2034 GtkWidget *audversionlabel; | |
2035 GtkWidget *prefswin_button_box; | |
2036 GtkWidget *reload_plugins; | |
2037 GtkWidget *alignment93; | |
2038 GtkWidget *hbox11; | |
2039 GtkWidget *image10; | |
2040 GtkWidget *label102; | |
2041 GtkWidget *close; | |
2042 GtkAccelGroup *accel_group; | |
2043 | |
2044 tooltips = gtk_tooltips_new (); | |
2045 | |
2046 accel_group = gtk_accel_group_new (); | |
2047 | |
2048 prefswin = gtk_window_new (GTK_WINDOW_TOPLEVEL); | |
2049 gtk_container_set_border_width (GTK_CONTAINER (prefswin), 12); | |
2050 gtk_window_set_title (GTK_WINDOW (prefswin), _("Audacious Preferences")); | |
2051 gtk_window_set_position (GTK_WINDOW (prefswin), GTK_WIN_POS_CENTER); | |
2052 gtk_window_set_default_size (GTK_WINDOW (prefswin), 680, 400); | |
2053 | |
2054 vbox = gtk_vbox_new (FALSE, 0); | |
2055 gtk_container_add (GTK_CONTAINER (prefswin), vbox); | |
2056 | |
2057 hbox1 = gtk_hbox_new (FALSE, 8); | |
2058 gtk_box_pack_start (GTK_BOX (vbox), hbox1, TRUE, TRUE, 0); | |
2059 | |
2060 scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL); | |
2061 gtk_box_pack_start (GTK_BOX (hbox1), scrolledwindow6, TRUE, TRUE, 0); | |
2062 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
2063 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_SHADOW_IN); | |
2064 | |
2065 category_treeview = gtk_tree_view_new (); | |
2066 gtk_container_add (GTK_CONTAINER (scrolledwindow6), category_treeview); | |
2067 gtk_widget_set_size_request (category_treeview, 172, -1); | |
2068 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (category_treeview), FALSE); | |
2069 | |
2070 category_notebook = gtk_notebook_new (); | |
2071 gtk_box_pack_start (GTK_BOX (hbox1), category_notebook, TRUE, TRUE, 0); | |
2072 GTK_WIDGET_UNSET_FLAGS (category_notebook, GTK_CAN_FOCUS); | |
2073 gtk_notebook_set_show_tabs (GTK_NOTEBOOK (category_notebook), FALSE); | |
2074 gtk_notebook_set_show_border (GTK_NOTEBOOK (category_notebook), FALSE); | |
2075 gtk_notebook_set_scrollable (GTK_NOTEBOOK (category_notebook), TRUE); | |
2076 | |
2077 plugin_page_vbox = gtk_vbox_new (FALSE, 0); | |
2078 gtk_container_add (GTK_CONTAINER (category_notebook), plugin_page_vbox); | |
2079 | |
2080 plugin_notebook = gtk_notebook_new (); | |
2081 gtk_box_pack_start (GTK_BOX (plugin_page_vbox), plugin_notebook, TRUE, TRUE, 0); | |
2082 gtk_notebook_set_show_border (GTK_NOTEBOOK (plugin_notebook), FALSE); | |
2083 | |
2084 plugin_input_vbox = gtk_vbox_new (FALSE, 0); | |
2085 gtk_container_add (GTK_CONTAINER (plugin_notebook), plugin_input_vbox); | |
2086 gtk_container_set_border_width (GTK_CONTAINER (plugin_input_vbox), 12); | |
2087 | |
2088 alignment43 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2089 gtk_box_pack_start (GTK_BOX (plugin_input_vbox), alignment43, FALSE, FALSE, 4); | |
2090 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment43), 0, 6, 0, 0); | |
2091 | |
2092 input_plugin_list_label = gtk_label_new_with_mnemonic (_("_Decoder list:")); | |
2093 gtk_container_add (GTK_CONTAINER (alignment43), input_plugin_list_label); | |
2094 gtk_label_set_use_markup (GTK_LABEL (input_plugin_list_label), TRUE); | |
2095 gtk_misc_set_alignment (GTK_MISC (input_plugin_list_label), 0, 0.5); | |
2096 | |
2097 scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); | |
2098 gtk_box_pack_start (GTK_BOX (plugin_input_vbox), scrolledwindow3, TRUE, TRUE, 0); | |
2099 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
2100 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_SHADOW_IN); | |
2101 | |
2102 input_plugin_view = gtk_tree_view_new (); | |
2103 gtk_container_add (GTK_CONTAINER (scrolledwindow3), input_plugin_view); | |
2104 gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (input_plugin_view), TRUE); | |
2105 gtk_tree_view_set_reorderable (GTK_TREE_VIEW (input_plugin_view), TRUE); | |
2106 | |
2107 input_plugin_button_box = gtk_hbutton_box_new (); | |
2108 gtk_box_pack_start (GTK_BOX (plugin_input_vbox), input_plugin_button_box, FALSE, FALSE, 8); | |
2109 gtk_button_box_set_layout (GTK_BUTTON_BOX (input_plugin_button_box), GTK_BUTTONBOX_START); | |
2110 gtk_box_set_spacing (GTK_BOX (input_plugin_button_box), 8); | |
2111 | |
2112 input_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); | |
2113 gtk_container_add (GTK_CONTAINER (input_plugin_button_box), input_plugin_prefs); | |
2114 gtk_widget_set_sensitive (input_plugin_prefs, FALSE); | |
2115 GTK_WIDGET_SET_FLAGS (input_plugin_prefs, GTK_CAN_DEFAULT); | |
2116 | |
2117 input_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); | |
2118 gtk_container_add (GTK_CONTAINER (input_plugin_button_box), input_plugin_info); | |
2119 gtk_widget_set_sensitive (input_plugin_info, FALSE); | |
2120 GTK_WIDGET_SET_FLAGS (input_plugin_info, GTK_CAN_DEFAULT); | |
2121 | |
2122 plugin_input_label = gtk_label_new (_("<span size=\"medium\"><b>Decoders</b></span>")); | |
2123 gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 0), plugin_input_label); | |
2124 gtk_label_set_use_markup (GTK_LABEL (plugin_input_label), TRUE); | |
2125 gtk_misc_set_alignment (GTK_MISC (plugin_input_label), 0, 0); | |
2126 | |
2127 plugin_general_vbox = gtk_vbox_new (FALSE, 0); | |
2128 gtk_container_add (GTK_CONTAINER (plugin_notebook), plugin_general_vbox); | |
2129 gtk_container_set_border_width (GTK_CONTAINER (plugin_general_vbox), 12); | |
2130 | |
2131 alignment45 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2132 gtk_box_pack_start (GTK_BOX (plugin_general_vbox), alignment45, FALSE, FALSE, 4); | |
2133 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment45), 0, 6, 0, 0); | |
2134 | |
2135 label11 = gtk_label_new_with_mnemonic (_("_General plugin list:")); | |
2136 gtk_container_add (GTK_CONTAINER (alignment45), label11); | |
2137 gtk_label_set_use_markup (GTK_LABEL (label11), TRUE); | |
2138 gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5); | |
2139 | |
2140 scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); | |
2141 gtk_box_pack_start (GTK_BOX (plugin_general_vbox), scrolledwindow5, TRUE, TRUE, 0); | |
2142 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
2143 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_SHADOW_IN); | |
2144 | |
2145 general_plugin_view = gtk_tree_view_new (); | |
2146 gtk_container_add (GTK_CONTAINER (scrolledwindow5), general_plugin_view); | |
2147 gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (general_plugin_view), TRUE); | |
2148 gtk_tree_view_set_reorderable (GTK_TREE_VIEW (general_plugin_view), TRUE); | |
2149 | |
2150 general_plugin_button_box = gtk_hbutton_box_new (); | |
2151 gtk_box_pack_start (GTK_BOX (plugin_general_vbox), general_plugin_button_box, FALSE, FALSE, 8); | |
2152 gtk_button_box_set_layout (GTK_BUTTON_BOX (general_plugin_button_box), GTK_BUTTONBOX_START); | |
2153 gtk_box_set_spacing (GTK_BOX (general_plugin_button_box), 8); | |
2154 | |
2155 general_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); | |
2156 gtk_container_add (GTK_CONTAINER (general_plugin_button_box), general_plugin_prefs); | |
2157 gtk_widget_set_sensitive (general_plugin_prefs, FALSE); | |
2158 GTK_WIDGET_SET_FLAGS (general_plugin_prefs, GTK_CAN_DEFAULT); | |
2159 | |
2160 general_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); | |
2161 gtk_container_add (GTK_CONTAINER (general_plugin_button_box), general_plugin_info); | |
2162 gtk_widget_set_sensitive (general_plugin_info, FALSE); | |
2163 GTK_WIDGET_SET_FLAGS (general_plugin_info, GTK_CAN_DEFAULT); | |
2164 | |
2165 plugin_general_label = gtk_label_new (_("<span size=\"medium\"><b>General</b></span>")); | |
2166 gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 1), plugin_general_label); | |
2167 gtk_label_set_use_markup (GTK_LABEL (plugin_general_label), TRUE); | |
2168 | |
2169 vbox21 = gtk_vbox_new (FALSE, 0); | |
2170 gtk_container_add (GTK_CONTAINER (plugin_notebook), vbox21); | |
2171 gtk_container_set_border_width (GTK_CONTAINER (vbox21), 12); | |
2172 | |
2173 alignment46 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2174 gtk_box_pack_start (GTK_BOX (vbox21), alignment46, FALSE, FALSE, 4); | |
2175 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment46), 0, 6, 0, 0); | |
2176 | |
2177 label53 = gtk_label_new_with_mnemonic (_("_Visualization plugin list:")); | |
2178 gtk_container_add (GTK_CONTAINER (alignment46), label53); | |
2179 gtk_label_set_use_markup (GTK_LABEL (label53), TRUE); | |
2180 gtk_misc_set_alignment (GTK_MISC (label53), 0, 0.5); | |
2181 | |
2182 scrolledwindow7 = gtk_scrolled_window_new (NULL, NULL); | |
2183 gtk_box_pack_start (GTK_BOX (vbox21), scrolledwindow7, TRUE, TRUE, 0); | |
2184 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow7), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
2185 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow7), GTK_SHADOW_IN); | |
2186 | |
2187 vis_plugin_view = gtk_tree_view_new (); | |
2188 gtk_container_add (GTK_CONTAINER (scrolledwindow7), vis_plugin_view); | |
2189 gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (vis_plugin_view), TRUE); | |
2190 gtk_tree_view_set_reorderable (GTK_TREE_VIEW (vis_plugin_view), TRUE); | |
2191 | |
2192 hbuttonbox6 = gtk_hbutton_box_new (); | |
2193 gtk_box_pack_start (GTK_BOX (vbox21), hbuttonbox6, FALSE, FALSE, 8); | |
2194 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox6), GTK_BUTTONBOX_START); | |
2195 gtk_box_set_spacing (GTK_BOX (hbuttonbox6), 8); | |
2196 | |
2197 vis_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); | |
2198 gtk_container_add (GTK_CONTAINER (hbuttonbox6), vis_plugin_prefs); | |
2199 gtk_widget_set_sensitive (vis_plugin_prefs, FALSE); | |
2200 GTK_WIDGET_SET_FLAGS (vis_plugin_prefs, GTK_CAN_DEFAULT); | |
2201 | |
2202 vis_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); | |
2203 gtk_container_add (GTK_CONTAINER (hbuttonbox6), vis_plugin_info); | |
2204 gtk_widget_set_sensitive (vis_plugin_info, FALSE); | |
2205 GTK_WIDGET_SET_FLAGS (vis_plugin_info, GTK_CAN_DEFAULT); | |
2206 | |
2207 vis_label = gtk_label_new (_("<b>Visualization</b>")); | |
2208 gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 2), vis_label); | |
2209 gtk_label_set_use_markup (GTK_LABEL (vis_label), TRUE); | |
2210 | |
2211 vbox25 = gtk_vbox_new (FALSE, 0); | |
2212 gtk_container_add (GTK_CONTAINER (plugin_notebook), vbox25); | |
2213 gtk_container_set_border_width (GTK_CONTAINER (vbox25), 12); | |
2214 | |
2215 alignment58 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2216 gtk_box_pack_start (GTK_BOX (vbox25), alignment58, FALSE, FALSE, 4); | |
2217 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment58), 0, 6, 0, 0); | |
2218 | |
2219 label64 = gtk_label_new_with_mnemonic (_("_Effect plugin list:")); | |
2220 gtk_container_add (GTK_CONTAINER (alignment58), label64); | |
2221 gtk_label_set_use_markup (GTK_LABEL (label64), TRUE); | |
2222 gtk_misc_set_alignment (GTK_MISC (label64), 0, 0.5); | |
2223 | |
2224 scrolledwindow9 = gtk_scrolled_window_new (NULL, NULL); | |
2225 gtk_box_pack_start (GTK_BOX (vbox25), scrolledwindow9, TRUE, TRUE, 0); | |
2226 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
2227 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_SHADOW_IN); | |
2228 | |
2229 effect_plugin_view = gtk_tree_view_new (); | |
2230 gtk_container_add (GTK_CONTAINER (scrolledwindow9), effect_plugin_view); | |
2231 gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (effect_plugin_view), TRUE); | |
2232 gtk_tree_view_set_reorderable (GTK_TREE_VIEW (effect_plugin_view), TRUE); | |
2233 | |
2234 hbuttonbox9 = gtk_hbutton_box_new (); | |
2235 gtk_box_pack_start (GTK_BOX (vbox25), hbuttonbox9, FALSE, FALSE, 8); | |
2236 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox9), GTK_BUTTONBOX_START); | |
2237 gtk_box_set_spacing (GTK_BOX (hbuttonbox9), 8); | |
2238 | |
2239 effect_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); | |
2240 gtk_container_add (GTK_CONTAINER (hbuttonbox9), effect_plugin_prefs); | |
2241 gtk_widget_set_sensitive (effect_plugin_prefs, FALSE); | |
2242 GTK_WIDGET_SET_FLAGS (effect_plugin_prefs, GTK_CAN_DEFAULT); | |
2243 | |
2244 effect_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); | |
2245 gtk_container_add (GTK_CONTAINER (hbuttonbox9), effect_plugin_info); | |
2246 gtk_widget_set_sensitive (effect_plugin_info, FALSE); | |
2247 GTK_WIDGET_SET_FLAGS (effect_plugin_info, GTK_CAN_DEFAULT); | |
2248 | |
2249 effects_label = gtk_label_new (_("<b>Effects</b>")); | |
2250 gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 3), effects_label); | |
2251 gtk_label_set_use_markup (GTK_LABEL (effects_label), TRUE); | |
2252 | |
2253 plugin_label = gtk_label_new (_("Plugins")); | |
2254 gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 0), plugin_label); | |
2255 | |
2256 appearance_page_vbox = gtk_vbox_new (FALSE, 0); | |
2257 gtk_container_add (GTK_CONTAINER (category_notebook), appearance_page_vbox); | |
2258 | |
2259 vbox37 = gtk_vbox_new (FALSE, 0); | |
2260 gtk_box_pack_start (GTK_BOX (appearance_page_vbox), vbox37, TRUE, TRUE, 0); | |
2261 | |
2262 vbox38 = gtk_vbox_new (FALSE, 0); | |
2263 gtk_box_pack_start (GTK_BOX (vbox37), vbox38, FALSE, TRUE, 0); | |
2264 | |
2265 hbox12 = gtk_hbox_new (FALSE, 0); | |
2266 gtk_box_pack_start (GTK_BOX (vbox38), hbox12, TRUE, TRUE, 0); | |
2267 | |
2268 alignment94 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2269 gtk_box_pack_start (GTK_BOX (hbox12), alignment94, TRUE, TRUE, 0); | |
2270 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment94), 0, 4, 0, 0); | |
2271 | |
2272 hbox13 = gtk_hbox_new (FALSE, 0); | |
2273 gtk_container_add (GTK_CONTAINER (alignment94), hbox13); | |
2274 | |
2275 label103 = gtk_label_new_with_mnemonic (_("<b>_Skin</b>")); | |
2276 gtk_box_pack_start (GTK_BOX (hbox13), label103, TRUE, TRUE, 0); | |
2277 gtk_label_set_use_markup (GTK_LABEL (label103), TRUE); | |
2278 gtk_misc_set_alignment (GTK_MISC (label103), 0, 0); | |
2279 | |
2280 colorspace_button = gtk_button_new (); | |
2281 gtk_box_pack_start (GTK_BOX (hbox13), colorspace_button, FALSE, FALSE, 0); | |
2282 | |
2283 image11 = gtk_image_new_from_stock ("gtk-properties", GTK_ICON_SIZE_BUTTON); | |
2284 gtk_container_add (GTK_CONTAINER (colorspace_button), image11); | |
2285 | |
2286 skin_refresh_button = gtk_button_new (); | |
2287 gtk_box_pack_start (GTK_BOX (hbox13), skin_refresh_button, FALSE, FALSE, 0); | |
2288 GTK_WIDGET_UNSET_FLAGS (skin_refresh_button, GTK_CAN_FOCUS); | |
2289 gtk_tooltips_set_tip (tooltips, skin_refresh_button, _("Refresh skin list"), NULL); | |
2290 gtk_button_set_relief (GTK_BUTTON (skin_refresh_button), GTK_RELIEF_HALF); | |
2291 gtk_button_set_focus_on_click (GTK_BUTTON (skin_refresh_button), FALSE); | |
2292 | |
2293 image12 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON); | |
2294 gtk_container_add (GTK_CONTAINER (skin_refresh_button), image12); | |
2295 | |
2296 alignment95 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2297 gtk_box_pack_start (GTK_BOX (vbox38), alignment95, TRUE, TRUE, 0); | |
2298 gtk_widget_set_size_request (alignment95, -1, 172); | |
2299 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment95), 0, 0, 12, 0); | |
2300 | |
2301 skin_view_scrolled_window = gtk_scrolled_window_new (NULL, NULL); | |
2302 gtk_container_add (GTK_CONTAINER (alignment95), skin_view_scrolled_window); | |
2303 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (skin_view_scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); | |
2304 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (skin_view_scrolled_window), GTK_SHADOW_IN); | |
2305 | |
2306 skin_view = gtk_tree_view_new (); | |
2307 gtk_container_add (GTK_CONTAINER (skin_view_scrolled_window), skin_view); | |
2308 gtk_widget_set_size_request (skin_view, -1, 100); | |
2309 | |
2310 vbox39 = gtk_vbox_new (FALSE, 0); | |
2311 gtk_box_pack_start (GTK_BOX (vbox37), vbox39, FALSE, TRUE, 0); | |
2312 | |
2313 alignment96 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2314 gtk_box_pack_start (GTK_BOX (vbox39), alignment96, TRUE, TRUE, 0); | |
2315 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment96), 12, 6, 0, 0); | |
2316 | |
2317 label104 = gtk_label_new_with_mnemonic (_("<b>_Fonts</b>")); | |
2318 gtk_container_add (GTK_CONTAINER (alignment96), label104); | |
2319 gtk_label_set_use_markup (GTK_LABEL (label104), TRUE); | |
2320 gtk_misc_set_alignment (GTK_MISC (label104), 0, 0.5); | |
2321 | |
2322 table14 = gtk_table_new (2, 2, FALSE); | |
2323 gtk_box_pack_start (GTK_BOX (vbox39), table14, TRUE, TRUE, 0); | |
2324 gtk_table_set_row_spacings (GTK_TABLE (table14), 8); | |
2325 gtk_table_set_col_spacings (GTK_TABLE (table14), 2); | |
2326 | |
2327 alignment97 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2328 gtk_table_attach (GTK_TABLE (table14), alignment97, 0, 1, 0, 1, | |
2329 (GtkAttachOptions) (0), | |
2330 (GtkAttachOptions) (0), 0, 0); | |
2331 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment97), 0, 0, 12, 6); | |
2332 | |
2333 label105 = gtk_label_new_with_mnemonic (_("_Player:")); | |
2334 gtk_container_add (GTK_CONTAINER (alignment97), label105); | |
2335 gtk_label_set_use_markup (GTK_LABEL (label105), TRUE); | |
2336 gtk_misc_set_alignment (GTK_MISC (label105), 1, 0.5); | |
2337 | |
2338 alignment98 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2339 gtk_table_attach (GTK_TABLE (table14), alignment98, 0, 1, 1, 2, | |
2340 (GtkAttachOptions) (0), | |
2341 (GtkAttachOptions) (0), 0, 0); | |
2342 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment98), 0, 0, 12, 6); | |
2343 | |
2344 label106 = gtk_label_new_with_mnemonic (_("_Playlist:")); | |
2345 gtk_container_add (GTK_CONTAINER (alignment98), label106); | |
2346 gtk_label_set_use_markup (GTK_LABEL (label106), TRUE); | |
2347 gtk_label_set_justify (GTK_LABEL (label106), GTK_JUSTIFY_RIGHT); | |
2348 gtk_misc_set_alignment (GTK_MISC (label106), 1, 0.5); | |
2349 | |
2350 fontbutton1 = gtk_font_button_new (); | |
2351 gtk_table_attach (GTK_TABLE (table14), fontbutton1, 1, 2, 0, 1, | |
2352 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2353 (GtkAttachOptions) (0), 0, 0); | |
2354 gtk_font_button_set_title (GTK_FONT_BUTTON (fontbutton1), _("Select main player window font:")); | |
2355 gtk_font_button_set_use_font (GTK_FONT_BUTTON (fontbutton1), TRUE); | |
2356 gtk_font_button_set_use_size (GTK_FONT_BUTTON (fontbutton1), TRUE); | |
2357 | |
2358 fontbutton2 = gtk_font_button_new (); | |
2359 gtk_table_attach (GTK_TABLE (table14), fontbutton2, 1, 2, 1, 2, | |
2360 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2361 (GtkAttachOptions) (0), 0, 0); | |
2362 gtk_font_button_set_title (GTK_FONT_BUTTON (fontbutton2), _("Select playlist font:")); | |
2363 gtk_font_button_set_use_font (GTK_FONT_BUTTON (fontbutton2), TRUE); | |
2364 gtk_font_button_set_use_size (GTK_FONT_BUTTON (fontbutton2), TRUE); | |
2365 | |
2366 alignment99 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2367 gtk_box_pack_start (GTK_BOX (vbox39), alignment99, TRUE, TRUE, 0); | |
2368 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment99), 4, 0, 12, 0); | |
2369 | |
2370 checkbutton11 = gtk_check_button_new_with_mnemonic (_("Use Bitmap fonts if available")); | |
2371 gtk_container_add (GTK_CONTAINER (alignment99), checkbutton11); | |
2372 gtk_tooltips_set_tip (tooltips, checkbutton11, _("Use bitmap fonts if they are available. Bitmap fonts do not support Unicode strings."), NULL); | |
2373 | |
2374 vbox40 = gtk_vbox_new (FALSE, 0); | |
2375 gtk_box_pack_start (GTK_BOX (vbox37), vbox40, FALSE, TRUE, 0); | |
2376 | |
4003 | 2377 create_widgets(GTK_BOX(vbox40), apperance_misc_widgets, G_N_ELEMENTS(apperance_misc_widgets)); |
3993 | 2378 |
2379 appearance_label = gtk_label_new (_("Appearance")); | |
2380 gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 1), appearance_label); | |
2381 | |
2382 mouse_page_vbox = gtk_vbox_new (FALSE, 0); | |
2383 gtk_container_add (GTK_CONTAINER (category_notebook), mouse_page_vbox); | |
2384 | |
2385 vbox20 = gtk_vbox_new (FALSE, 0); | |
2386 gtk_box_pack_start (GTK_BOX (mouse_page_vbox), vbox20, TRUE, TRUE, 0); | |
2387 | |
2388 alignment36 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2389 gtk_box_pack_start (GTK_BOX (vbox20), alignment36, FALSE, FALSE, 0); | |
2390 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment36), 0, 12, 0, 0); | |
2391 | |
2392 label51 = gtk_label_new (_("<b>Mouse wheel</b>")); | |
2393 gtk_container_add (GTK_CONTAINER (alignment36), label51); | |
2394 gtk_label_set_use_markup (GTK_LABEL (label51), TRUE); | |
2395 gtk_misc_set_alignment (GTK_MISC (label51), 0, 0); | |
2396 | |
2397 alignment34 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2398 gtk_box_pack_start (GTK_BOX (vbox20), alignment34, FALSE, FALSE, 0); | |
2399 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment34), 0, 0, 12, 0); | |
2400 | |
2401 table4 = gtk_table_new (2, 3, FALSE); | |
2402 gtk_container_add (GTK_CONTAINER (alignment34), table4); | |
2403 gtk_table_set_row_spacings (GTK_TABLE (table4), 6); | |
2404 | |
2405 mouse_wheel_volume_adj = gtk_adjustment_new (5, 0, 100, 1, 10, 10); | |
2406 mouse_wheel_volume = gtk_spin_button_new (GTK_ADJUSTMENT (mouse_wheel_volume_adj), 1, 0); | |
2407 gtk_table_attach (GTK_TABLE (table4), mouse_wheel_volume, 1, 2, 0, 1, | |
2408 (GtkAttachOptions) (0), | |
2409 (GtkAttachOptions) (0), 4, 0); | |
2410 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (mouse_wheel_volume), TRUE); | |
2411 | |
2412 label35 = gtk_label_new (_("lines")); | |
2413 gtk_table_attach (GTK_TABLE (table4), label35, 2, 3, 1, 2, | |
2414 (GtkAttachOptions) (0), | |
2415 (GtkAttachOptions) (0), 0, 0); | |
2416 gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5); | |
2417 gtk_misc_set_padding (GTK_MISC (label35), 4, 0); | |
2418 | |
2419 mouse_wheel_scroll_pl_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10); | |
2420 mouse_wheel_scroll_pl = gtk_spin_button_new (GTK_ADJUSTMENT (mouse_wheel_scroll_pl_adj), 1, 0); | |
2421 gtk_table_attach (GTK_TABLE (table4), mouse_wheel_scroll_pl, 1, 2, 1, 2, | |
2422 (GtkAttachOptions) (0), | |
2423 (GtkAttachOptions) (0), 4, 0); | |
2424 | |
2425 label34 = gtk_label_new (_("Scrolls playlist by")); | |
2426 gtk_table_attach (GTK_TABLE (table4), label34, 0, 1, 1, 2, | |
2427 (GtkAttachOptions) (0), | |
2428 (GtkAttachOptions) (0), 0, 0); | |
2429 gtk_misc_set_alignment (GTK_MISC (label34), 0, 0.5); | |
2430 gtk_misc_set_padding (GTK_MISC (label34), 4, 0); | |
2431 | |
2432 label33 = gtk_label_new (_("percent")); | |
2433 gtk_table_attach (GTK_TABLE (table4), label33, 2, 3, 0, 1, | |
2434 (GtkAttachOptions) (0), | |
2435 (GtkAttachOptions) (0), 0, 0); | |
2436 gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5); | |
2437 gtk_misc_set_padding (GTK_MISC (label33), 4, 0); | |
2438 | |
2439 label32 = gtk_label_new (_("Changes volume by")); | |
2440 gtk_table_attach (GTK_TABLE (table4), label32, 0, 1, 0, 1, | |
2441 (GtkAttachOptions) (0), | |
2442 (GtkAttachOptions) (0), 0, 0); | |
2443 gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5); | |
2444 gtk_misc_set_padding (GTK_MISC (label32), 4, 0); | |
2445 | |
2446 mouse_label = gtk_label_new (_("Mouse")); | |
2447 gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 2), mouse_label); | |
2448 | |
2449 playlist_page_vbox = gtk_vbox_new (FALSE, 0); | |
2450 gtk_container_add (GTK_CONTAINER (category_notebook), playlist_page_vbox); | |
2451 | |
2452 vbox5 = gtk_vbox_new (FALSE, 0); | |
2453 gtk_box_pack_start (GTK_BOX (playlist_page_vbox), vbox5, TRUE, TRUE, 0); | |
2454 | |
2455 alignment14 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2456 gtk_box_pack_start (GTK_BOX (vbox5), alignment14, FALSE, FALSE, 0); | |
2457 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment14), 0, 12, 0, 0); | |
2458 | |
2459 label38 = gtk_label_new (_("<b>Filename</b>")); | |
2460 gtk_container_add (GTK_CONTAINER (alignment14), label38); | |
2461 gtk_label_set_use_markup (GTK_LABEL (label38), TRUE); | |
2462 gtk_misc_set_alignment (GTK_MISC (label38), 0, 0.5); | |
2463 | |
2464 alignment12 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2465 gtk_box_pack_start (GTK_BOX (vbox5), alignment12, FALSE, FALSE, 0); | |
2466 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment12), 0, 0, 12, 0); | |
2467 | |
2468 playlist_convert_underscore = gtk_check_button_new_with_mnemonic (_("Convert underscores to blanks")); | |
2469 gtk_container_add (GTK_CONTAINER (alignment12), playlist_convert_underscore); | |
2470 | |
2471 alignment13 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2472 gtk_box_pack_start (GTK_BOX (vbox5), alignment13, FALSE, FALSE, 0); | |
2473 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment13), 0, 0, 12, 0); | |
2474 | |
2475 playlist_convert_twenty = gtk_check_button_new_with_mnemonic (_("Convert %20 to blanks")); | |
2476 gtk_container_add (GTK_CONTAINER (alignment13), playlist_convert_twenty); | |
2477 | |
2478 alignment88 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2479 gtk_box_pack_start (GTK_BOX (vbox5), alignment88, FALSE, FALSE, 0); | |
2480 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment88), 0, 0, 12, 0); | |
2481 | |
2482 playlist_convert_slash = gtk_check_button_new_with_mnemonic (_("Convert backslash '\\' to forward slash '/'")); | |
2483 gtk_container_add (GTK_CONTAINER (alignment88), playlist_convert_slash); | |
2484 | |
2485 alignment15 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2486 gtk_box_pack_start (GTK_BOX (vbox5), alignment15, FALSE, FALSE, 0); | |
2487 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment15), 12, 12, 0, 0); | |
2488 | |
2489 label39 = gtk_label_new (_("<b>Metadata</b>")); | |
2490 gtk_container_add (GTK_CONTAINER (alignment15), label39); | |
2491 gtk_label_set_use_markup (GTK_LABEL (label39), TRUE); | |
2492 gtk_misc_set_alignment (GTK_MISC (label39), 0, 0.5); | |
2493 | |
2494 alignment16 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2495 gtk_box_pack_start (GTK_BOX (vbox5), alignment16, FALSE, FALSE, 0); | |
2496 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment16), 0, 0, 12, 0); | |
2497 | |
2498 playlist_use_metadata = gtk_check_button_new_with_mnemonic (_("Load metadata from playlists and files")); | |
2499 gtk_container_add (GTK_CONTAINER (alignment16), playlist_use_metadata); | |
2500 gtk_tooltips_set_tip (tooltips, playlist_use_metadata, _("Load metadata (tag information) from music files."), NULL); | |
2501 | |
2502 alignment18 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2503 gtk_box_pack_start (GTK_BOX (vbox5), alignment18, FALSE, FALSE, 0); | |
2504 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment18), 0, 0, 24, 0); | |
2505 | |
2506 playlist_use_metadata_box = gtk_vbox_new (FALSE, 0); | |
2507 gtk_container_add (GTK_CONTAINER (alignment18), playlist_use_metadata_box); | |
2508 | |
2509 playlist_metadata_on_load = gtk_radio_button_new_with_mnemonic (NULL, _("On load")); | |
2510 gtk_box_pack_start (GTK_BOX (playlist_use_metadata_box), playlist_metadata_on_load, FALSE, FALSE, 0); | |
2511 gtk_tooltips_set_tip (tooltips, playlist_metadata_on_load, _("Load metadata when adding the file to the playlist or opening it"), NULL); | |
2512 gtk_radio_button_set_group (GTK_RADIO_BUTTON (playlist_metadata_on_load), playlist_metadata_on_load_group); | |
2513 playlist_metadata_on_load_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (playlist_metadata_on_load)); | |
2514 | |
2515 playlist_metadata_on_display = gtk_radio_button_new_with_mnemonic (NULL, _("On display")); | |
2516 gtk_box_pack_start (GTK_BOX (playlist_use_metadata_box), playlist_metadata_on_display, FALSE, FALSE, 0); | |
2517 gtk_tooltips_set_tip (tooltips, playlist_metadata_on_display, _("Load metadata on demand when displaying the file in the playlist. You may need to set \"Detect file formats on demand\" in Audio page for full benefit."), NULL); | |
2518 gtk_radio_button_set_group (GTK_RADIO_BUTTON (playlist_metadata_on_display), playlist_metadata_on_load_group); | |
2519 playlist_metadata_on_load_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (playlist_metadata_on_display)); | |
2520 | |
2521 table10 = gtk_table_new (2, 2, FALSE); | |
2522 gtk_box_pack_start (GTK_BOX (playlist_use_metadata_box), table10, TRUE, TRUE, 0); | |
2523 | |
2524 label73 = gtk_label_new (_("Auto character encoding detector for:")); | |
2525 gtk_table_attach (GTK_TABLE (table10), label73, 0, 1, 0, 1, | |
2526 (GtkAttachOptions) (0), | |
2527 (GtkAttachOptions) (0), 0, 0); | |
2528 gtk_label_set_justify (GTK_LABEL (label73), GTK_JUSTIFY_RIGHT); | |
2529 gtk_misc_set_alignment (GTK_MISC (label73), 1, 0.5); | |
2530 | |
2531 combobox1 = gtk_combo_box_new_text (); | |
2532 gtk_table_attach (GTK_TABLE (table10), combobox1, 1, 2, 0, 1, | |
2533 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2534 (GtkAttachOptions) (0), 0, 0); | |
2535 | |
2536 entry1 = gtk_entry_new (); | |
2537 gtk_table_attach (GTK_TABLE (table10), entry1, 1, 2, 1, 2, | |
2538 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2539 (GtkAttachOptions) (0), 0, 0); | |
2540 gtk_tooltips_set_tip (tooltips, entry1, _("List of character encodings used for fall back conversion of metadata. If automatic character encoding detector failed or has been disabled, encodings in this list would be treated as candidates of the encoding of metadata, and fall back conversion from these encodings to UTF-8 would be attempted."), NULL); | |
2541 | |
2542 label74 = gtk_label_new (_("Fallback character encodings:")); | |
2543 gtk_table_attach (GTK_TABLE (table10), label74, 0, 1, 1, 2, | |
2544 (GtkAttachOptions) (0), | |
2545 (GtkAttachOptions) (0), 0, 0); | |
2546 gtk_label_set_justify (GTK_LABEL (label74), GTK_JUSTIFY_RIGHT); | |
2547 gtk_misc_set_alignment (GTK_MISC (label74), 1, 0.5); | |
2548 | |
2549 alignment19 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2550 gtk_box_pack_start (GTK_BOX (vbox5), alignment19, FALSE, FALSE, 0); | |
2551 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment19), 12, 12, 0, 0); | |
2552 | |
2553 label40 = gtk_label_new (_("<b>File Dialog</b>")); | |
2554 gtk_container_add (GTK_CONTAINER (alignment19), label40); | |
2555 gtk_label_set_use_markup (GTK_LABEL (label40), TRUE); | |
2556 gtk_misc_set_alignment (GTK_MISC (label40), 0, 0.5); | |
2557 | |
2558 alignment20 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2559 gtk_box_pack_start (GTK_BOX (vbox5), alignment20, FALSE, FALSE, 0); | |
2560 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment20), 0, 0, 12, 0); | |
2561 | |
2562 refresh_file_list = gtk_check_button_new_with_mnemonic (_("Always refresh directory when opening file dialog")); | |
2563 gtk_container_add (GTK_CONTAINER (alignment20), refresh_file_list); | |
2564 gtk_tooltips_set_tip (tooltips, refresh_file_list, _("Always refresh the file dialog (this will slow opening the dialog on large directories, and Gnome VFS should handle automatically)."), NULL); | |
2565 | |
2566 alignment55 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2567 gtk_box_pack_start (GTK_BOX (vbox5), alignment55, FALSE, FALSE, 0); | |
2568 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment55), 12, 12, 0, 0); | |
2569 | |
2570 label60 = gtk_label_new (_("<b>Song Display</b>")); | |
2571 gtk_container_add (GTK_CONTAINER (alignment55), label60); | |
2572 gtk_label_set_use_markup (GTK_LABEL (label60), TRUE); | |
2573 gtk_misc_set_alignment (GTK_MISC (label60), 0, 0.5); | |
2574 | |
2575 alignment56 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2576 gtk_box_pack_start (GTK_BOX (vbox5), alignment56, FALSE, FALSE, 0); | |
2577 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment56), 0, 0, 12, 0); | |
2578 | |
2579 table6 = gtk_table_new (2, 3, FALSE); | |
2580 gtk_container_add (GTK_CONTAINER (alignment56), table6); | |
2581 gtk_table_set_row_spacings (GTK_TABLE (table6), 4); | |
2582 gtk_table_set_col_spacings (GTK_TABLE (table6), 12); | |
2583 | |
2584 titlestring_help_button = gtk_button_new (); | |
2585 gtk_table_attach (GTK_TABLE (table6), titlestring_help_button, 2, 3, 1, 2, | |
2586 (GtkAttachOptions) (0), | |
2587 (GtkAttachOptions) (0), 0, 0); | |
2588 GTK_WIDGET_UNSET_FLAGS (titlestring_help_button, GTK_CAN_FOCUS); | |
2589 gtk_tooltips_set_tip (tooltips, titlestring_help_button, _("Show information about titlestring format"), NULL); | |
2590 gtk_button_set_relief (GTK_BUTTON (titlestring_help_button), GTK_RELIEF_HALF); | |
2591 gtk_button_set_focus_on_click (GTK_BUTTON (titlestring_help_button), FALSE); | |
2592 | |
2593 image1 = gtk_image_new_from_stock ("gtk-index", GTK_ICON_SIZE_BUTTON); | |
2594 gtk_container_add (GTK_CONTAINER (titlestring_help_button), image1); | |
2595 | |
2596 titlestring_cbox = gtk_combo_box_new_text (); | |
2597 gtk_table_attach (GTK_TABLE (table6), titlestring_cbox, 1, 3, 0, 1, | |
2598 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2599 (GtkAttachOptions) (0), 0, 0); | |
2600 gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("TITLE")); | |
2601 gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST - TITLE")); | |
2602 gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST - ALBUM - TITLE")); | |
2603 gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST - ALBUM - TRACK. TITLE")); | |
2604 gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST [ ALBUM ] - TRACK. TITLE")); | |
2605 gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ALBUM - TITLE")); | |
2606 gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("Custom")); | |
2607 | |
2608 titlestring_entry = gtk_entry_new (); | |
2609 gtk_table_attach (GTK_TABLE (table6), titlestring_entry, 1, 2, 1, 2, | |
2610 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2611 (GtkAttachOptions) (0), 0, 0); | |
2612 | |
2613 label62 = gtk_label_new (_("Custom string:")); | |
2614 gtk_table_attach (GTK_TABLE (table6), label62, 0, 1, 1, 2, | |
2615 (GtkAttachOptions) (0), | |
2616 (GtkAttachOptions) (0), 0, 0); | |
2617 gtk_label_set_justify (GTK_LABEL (label62), GTK_JUSTIFY_RIGHT); | |
2618 gtk_misc_set_alignment (GTK_MISC (label62), 1, 0.5); | |
2619 | |
2620 label61 = gtk_label_new (_("Title format:")); | |
2621 gtk_table_attach (GTK_TABLE (table6), label61, 0, 1, 0, 1, | |
2622 (GtkAttachOptions) (0), | |
2623 (GtkAttachOptions) (0), 0, 0); | |
2624 gtk_label_set_justify (GTK_LABEL (label61), GTK_JUSTIFY_RIGHT); | |
2625 gtk_misc_set_alignment (GTK_MISC (label61), 1, 0.5); | |
2626 | |
2627 alignment85 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2628 gtk_box_pack_start (GTK_BOX (vbox5), alignment85, FALSE, FALSE, 0); | |
2629 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment85), 12, 12, 0, 0); | |
2630 | |
2631 label84 = gtk_label_new (_("<b>Popup Information</b>")); | |
2632 gtk_container_add (GTK_CONTAINER (alignment85), label84); | |
2633 gtk_label_set_use_markup (GTK_LABEL (label84), TRUE); | |
2634 gtk_misc_set_alignment (GTK_MISC (label84), 0, 0.5); | |
2635 | |
2636 alignment86 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2637 gtk_box_pack_start (GTK_BOX (vbox5), alignment86, FALSE, FALSE, 0); | |
2638 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment86), 0, 0, 12, 0); | |
2639 | |
2640 hbox9 = gtk_hbox_new (FALSE, 12); | |
2641 gtk_container_add (GTK_CONTAINER (alignment86), hbox9); | |
2642 | |
2643 vbox34 = gtk_vbox_new (FALSE, 0); | |
2644 gtk_box_pack_start (GTK_BOX (hbox9), vbox34, TRUE, TRUE, 0); | |
2645 | |
2646 checkbutton10 = gtk_check_button_new_with_mnemonic (_("Show popup information for playlist entries")); | |
2647 gtk_box_pack_start (GTK_BOX (vbox34), checkbutton10, TRUE, FALSE, 0); | |
2648 gtk_tooltips_set_tip (tooltips, checkbutton10, _("Toggles popup information window for the pointed entry in the playlist. The window shows title of song, name of album, genre, year of publish, track number, track length, and artwork."), NULL); | |
2649 | |
2650 filepopup_for_tuple_settings_button = gtk_button_new (); | |
2651 gtk_box_pack_start (GTK_BOX (hbox9), filepopup_for_tuple_settings_button, FALSE, FALSE, 0); | |
2652 GTK_WIDGET_UNSET_FLAGS (filepopup_for_tuple_settings_button, GTK_CAN_FOCUS); | |
2653 gtk_tooltips_set_tip (tooltips, filepopup_for_tuple_settings_button, _("Edit settings for popup information"), NULL); | |
2654 gtk_button_set_relief (GTK_BUTTON (filepopup_for_tuple_settings_button), GTK_RELIEF_HALF); | |
2655 | |
2656 image8 = gtk_image_new_from_stock ("gtk-properties", GTK_ICON_SIZE_BUTTON); | |
2657 gtk_container_add (GTK_CONTAINER (filepopup_for_tuple_settings_button), image8); | |
2658 | |
2659 playlist_label = gtk_label_new (_("Playlist")); | |
2660 gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 3), playlist_label); | |
2661 | |
2662 equalizer_page_vbox = gtk_vbox_new (FALSE, 0); | |
2663 gtk_container_add (GTK_CONTAINER (category_notebook), equalizer_page_vbox); | |
2664 | |
2665 alignment28 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2666 gtk_box_pack_start (GTK_BOX (equalizer_page_vbox), alignment28, TRUE, TRUE, 0); | |
2667 | |
2668 vbox22 = gtk_vbox_new (FALSE, 0); | |
2669 gtk_container_add (GTK_CONTAINER (alignment28), vbox22); | |
2670 | |
2671 alignment30 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2672 gtk_box_pack_start (GTK_BOX (vbox22), alignment30, FALSE, FALSE, 0); | |
2673 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment30), 0, 12, 0, 0); | |
2674 | |
2675 equalizer_page_label = gtk_label_new (_("<b>Presets</b>")); | |
2676 gtk_container_add (GTK_CONTAINER (alignment30), equalizer_page_label); | |
2677 gtk_label_set_use_markup (GTK_LABEL (equalizer_page_label), TRUE); | |
2678 gtk_misc_set_alignment (GTK_MISC (equalizer_page_label), 0, 0.5); | |
2679 | |
2680 vbox23 = gtk_vbox_new (FALSE, 0); | |
2681 gtk_box_pack_start (GTK_BOX (vbox22), vbox23, TRUE, TRUE, 0); | |
2682 | |
2683 alignment33 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2684 gtk_box_pack_start (GTK_BOX (vbox23), alignment33, FALSE, FALSE, 0); | |
2685 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment33), 0, 12, 0, 0); | |
2686 | |
2687 table5 = gtk_table_new (2, 2, FALSE); | |
2688 gtk_container_add (GTK_CONTAINER (alignment33), table5); | |
2689 gtk_table_set_row_spacings (GTK_TABLE (table5), 6); | |
2690 gtk_table_set_col_spacings (GTK_TABLE (table5), 6); | |
2691 | |
2692 label58 = gtk_label_new (_("File preset extension:")); | |
2693 gtk_table_attach (GTK_TABLE (table5), label58, 0, 1, 1, 2, | |
2694 (GtkAttachOptions) (0), | |
2695 (GtkAttachOptions) (0), 0, 0); | |
2696 gtk_misc_set_alignment (GTK_MISC (label58), 0, 0.5); | |
2697 | |
2698 label57 = gtk_label_new (_("Directory preset file:")); | |
2699 gtk_table_attach (GTK_TABLE (table5), label57, 0, 1, 0, 1, | |
2700 (GtkAttachOptions) (0), | |
2701 (GtkAttachOptions) (0), 0, 0); | |
2702 gtk_misc_set_alignment (GTK_MISC (label57), 0, 0.5); | |
2703 | |
2704 eq_file_preset_entry = gtk_entry_new (); | |
2705 gtk_table_attach (GTK_TABLE (table5), eq_file_preset_entry, 1, 2, 1, 2, | |
2706 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2707 (GtkAttachOptions) (0), 0, 0); | |
2708 | |
2709 eq_dir_preset_entry = gtk_entry_new (); | |
2710 gtk_table_attach (GTK_TABLE (table5), eq_dir_preset_entry, 1, 2, 0, 1, | |
2711 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2712 (GtkAttachOptions) (0), 0, 0); | |
2713 | |
2714 equalizer_label = gtk_label_new (_("Equalizer")); | |
2715 gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 4), equalizer_label); | |
2716 | |
2717 connectivity_page_vbox = gtk_vbox_new (FALSE, 0); | |
2718 gtk_container_add (GTK_CONTAINER (category_notebook), connectivity_page_vbox); | |
2719 | |
2720 vbox29 = gtk_vbox_new (FALSE, 0); | |
2721 gtk_box_pack_start (GTK_BOX (connectivity_page_vbox), vbox29, TRUE, TRUE, 0); | |
2722 | |
2723 alignment63 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2724 gtk_box_pack_start (GTK_BOX (vbox29), alignment63, FALSE, FALSE, 0); | |
2725 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment63), 0, 12, 0, 0); | |
2726 | |
2727 connectivity_page_label = gtk_label_new (_("<b>Proxy Configuration</b>")); | |
2728 gtk_container_add (GTK_CONTAINER (alignment63), connectivity_page_label); | |
2729 gtk_label_set_use_markup (GTK_LABEL (connectivity_page_label), TRUE); | |
2730 gtk_misc_set_alignment (GTK_MISC (connectivity_page_label), 0, 0.5); | |
2731 | |
2732 alignment68 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2733 gtk_box_pack_start (GTK_BOX (vbox29), alignment68, TRUE, TRUE, 0); | |
2734 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment68), 0, 0, 12, 0); | |
2735 | |
2736 vbox30 = gtk_vbox_new (FALSE, 0); | |
2737 gtk_container_add (GTK_CONTAINER (alignment68), vbox30); | |
2738 | |
2739 alignment65 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2740 gtk_box_pack_start (GTK_BOX (vbox30), alignment65, FALSE, FALSE, 0); | |
2741 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment65), 0, 12, 0, 0); | |
2742 | |
2743 proxy_use = gtk_check_button_new_with_mnemonic (_("Enable proxy usage")); | |
2744 gtk_container_add (GTK_CONTAINER (alignment65), proxy_use); | |
2745 | |
2746 table8 = gtk_table_new (2, 2, FALSE); | |
2747 gtk_box_pack_start (GTK_BOX (vbox30), table8, FALSE, FALSE, 0); | |
2748 gtk_table_set_row_spacings (GTK_TABLE (table8), 6); | |
2749 gtk_table_set_col_spacings (GTK_TABLE (table8), 6); | |
2750 | |
2751 proxy_port = gtk_entry_new (); | |
2752 gtk_table_attach (GTK_TABLE (table8), proxy_port, 1, 2, 1, 2, | |
2753 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2754 (GtkAttachOptions) (0), 0, 0); | |
2755 | |
2756 proxy_host = gtk_entry_new (); | |
2757 gtk_table_attach (GTK_TABLE (table8), proxy_host, 1, 2, 0, 1, | |
2758 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2759 (GtkAttachOptions) (0), 0, 0); | |
2760 | |
2761 label69 = gtk_label_new (_("Proxy port:")); | |
2762 gtk_table_attach (GTK_TABLE (table8), label69, 0, 1, 1, 2, | |
2763 (GtkAttachOptions) (0), | |
2764 (GtkAttachOptions) (0), 0, 0); | |
2765 gtk_misc_set_alignment (GTK_MISC (label69), 0, 0.5); | |
2766 | |
2767 label68 = gtk_label_new (_("Proxy hostname:")); | |
2768 gtk_table_attach (GTK_TABLE (table8), label68, 0, 1, 0, 1, | |
2769 (GtkAttachOptions) (0), | |
2770 (GtkAttachOptions) (0), 0, 0); | |
2771 gtk_misc_set_alignment (GTK_MISC (label68), 0, 0); | |
2772 | |
2773 alignment67 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2774 gtk_box_pack_start (GTK_BOX (vbox30), alignment67, FALSE, FALSE, 0); | |
2775 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment67), 12, 12, 0, 0); | |
2776 | |
2777 proxy_auth = gtk_check_button_new_with_mnemonic (_("Use authentication with proxy")); | |
2778 gtk_container_add (GTK_CONTAINER (alignment67), proxy_auth); | |
2779 | |
2780 table9 = gtk_table_new (2, 2, FALSE); | |
2781 gtk_box_pack_start (GTK_BOX (vbox30), table9, FALSE, FALSE, 0); | |
2782 gtk_table_set_row_spacings (GTK_TABLE (table9), 6); | |
2783 gtk_table_set_col_spacings (GTK_TABLE (table9), 6); | |
2784 | |
2785 proxy_pass = gtk_entry_new (); | |
2786 gtk_table_attach (GTK_TABLE (table9), proxy_pass, 1, 2, 1, 2, | |
2787 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2788 (GtkAttachOptions) (0), 0, 0); | |
2789 gtk_entry_set_visibility (GTK_ENTRY (proxy_pass), FALSE); | |
2790 | |
2791 proxy_user = gtk_entry_new (); | |
2792 gtk_table_attach (GTK_TABLE (table9), proxy_user, 1, 2, 0, 1, | |
2793 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2794 (GtkAttachOptions) (0), 0, 0); | |
2795 | |
2796 label71 = gtk_label_new (_("Proxy password:")); | |
2797 gtk_table_attach (GTK_TABLE (table9), label71, 0, 1, 1, 2, | |
2798 (GtkAttachOptions) (0), | |
2799 (GtkAttachOptions) (0), 0, 0); | |
2800 gtk_misc_set_alignment (GTK_MISC (label71), 0, 0.5); | |
2801 | |
2802 label70 = gtk_label_new (_("Proxy username:")); | |
2803 gtk_table_attach (GTK_TABLE (table9), label70, 0, 1, 0, 1, | |
2804 (GtkAttachOptions) (0), | |
2805 (GtkAttachOptions) (0), 0, 0); | |
2806 gtk_misc_set_alignment (GTK_MISC (label70), 0, 0); | |
2807 | |
2808 alignment72 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2809 gtk_box_pack_start (GTK_BOX (vbox30), alignment72, FALSE, FALSE, 0); | |
2810 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment72), 6, 0, 0, 0); | |
2811 | |
2812 hbox6 = gtk_hbox_new (FALSE, 0); | |
2813 gtk_container_add (GTK_CONTAINER (alignment72), hbox6); | |
2814 | |
2815 image4 = gtk_image_new_from_stock ("gtk-dialog-warning", GTK_ICON_SIZE_BUTTON); | |
2816 gtk_box_pack_start (GTK_BOX (hbox6), image4, FALSE, FALSE, 0); | |
2817 gtk_misc_set_padding (GTK_MISC (image4), 3, 0); | |
2818 | |
2819 label75 = gtk_label_new (_("<span size=\"small\">Changing these settings will require a restart of Audacious.</span>")); | |
2820 gtk_box_pack_start (GTK_BOX (hbox6), label75, FALSE, FALSE, 0); | |
2821 gtk_label_set_use_markup (GTK_LABEL (label75), TRUE); | |
2822 | |
2823 label95 = gtk_label_new (""); | |
2824 gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 5), label95); | |
2825 | |
2826 empty_notebook_page = gtk_vbox_new (FALSE, 0); | |
2827 gtk_container_add (GTK_CONTAINER (category_notebook), empty_notebook_page); | |
2828 | |
2829 label96 = gtk_label_new (""); | |
2830 gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 6), label96); | |
2831 | |
2832 audio_scrolled_window = gtk_scrolled_window_new (NULL, NULL); | |
2833 gtk_container_add (GTK_CONTAINER (empty_notebook_page), audio_scrolled_window); | |
2834 gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (category_notebook), audio_scrolled_window, | |
2835 TRUE, TRUE, GTK_PACK_START); | |
2836 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (audio_scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); | |
2837 | |
2838 audio_page_viewport = gtk_viewport_new (NULL, NULL); | |
2839 gtk_container_add (GTK_CONTAINER (audio_scrolled_window), audio_page_viewport); | |
2840 gtk_widget_set_events (audio_page_viewport, GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); | |
2841 gtk_viewport_set_shadow_type (GTK_VIEWPORT (audio_page_viewport), GTK_SHADOW_NONE); | |
2842 | |
2843 audio_page_vbox = gtk_vbox_new (FALSE, 0); | |
2844 gtk_container_add (GTK_CONTAINER (audio_page_viewport), audio_page_vbox); | |
2845 | |
2846 alignment74 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2847 gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment74, FALSE, FALSE, 0); | |
2848 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment74), 0, 12, 0, 0); | |
2849 | |
2850 label77 = gtk_label_new (_("<b>Audio System</b>")); | |
2851 gtk_container_add (GTK_CONTAINER (alignment74), label77); | |
2852 gtk_label_set_use_markup (GTK_LABEL (label77), TRUE); | |
2853 gtk_misc_set_alignment (GTK_MISC (label77), 0, 0.5); | |
2854 | |
2855 alignment73 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2856 gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment73, FALSE, FALSE, 0); | |
2857 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment73), 0, 6, 12, 0); | |
2858 | |
2859 vbox33 = gtk_vbox_new (FALSE, 0); | |
2860 gtk_container_add (GTK_CONTAINER (alignment73), vbox33); | |
2861 | |
2862 table11 = gtk_table_new (3, 2, FALSE); | |
2863 gtk_box_pack_start (GTK_BOX (vbox33), table11, FALSE, FALSE, 0); | |
2864 gtk_table_set_row_spacings (GTK_TABLE (table11), 6); | |
2865 gtk_table_set_col_spacings (GTK_TABLE (table11), 6); | |
2866 | |
2867 image7 = gtk_image_new_from_stock ("gtk-info", GTK_ICON_SIZE_BUTTON); | |
2868 gtk_table_attach (GTK_TABLE (table11), image7, 0, 1, 2, 3, | |
2869 (GtkAttachOptions) (0), | |
2870 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); | |
2871 gtk_misc_set_alignment (GTK_MISC (image7), 1, 0); | |
2872 | |
2873 label79 = gtk_label_new (_("Buffer size:")); | |
2874 gtk_table_attach (GTK_TABLE (table11), label79, 0, 1, 1, 2, | |
2875 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2876 (GtkAttachOptions) (0), 0, 0); | |
2877 gtk_misc_set_alignment (GTK_MISC (label79), 1, 0.5); | |
2878 | |
2879 label82 = gtk_label_new (_("<span size=\"small\">This is the amount of time to prebuffer audio streams by, in milliseconds.\nIncrease this value if you are experiencing audio skipping.\nPlease note however, that high values will result in Audacious performing poorly.</span>")); | |
2880 gtk_table_attach (GTK_TABLE (table11), label82, 1, 2, 2, 3, | |
2881 (GtkAttachOptions) (0), | |
2882 (GtkAttachOptions) (0), 0, 0); | |
2883 gtk_label_set_use_markup (GTK_LABEL (label82), TRUE); | |
2884 gtk_label_set_line_wrap (GTK_LABEL (label82), TRUE); | |
2885 gtk_misc_set_alignment (GTK_MISC (label82), 0, 0.5); | |
2886 | |
2887 output_plugin_bufsize_adj = gtk_adjustment_new (0, 0, 600000, 100, 1000, 1000); | |
2888 output_plugin_bufsize = gtk_spin_button_new (GTK_ADJUSTMENT (output_plugin_bufsize_adj), 1, 0); | |
2889 gtk_table_attach (GTK_TABLE (table11), output_plugin_bufsize, 1, 2, 1, 2, | |
2890 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2891 (GtkAttachOptions) (0), 0, 0); | |
2892 | |
2893 output_plugin_cbox = gtk_combo_box_new_text (); | |
2894 gtk_table_attach (GTK_TABLE (table11), output_plugin_cbox, 1, 2, 0, 1, | |
2895 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
2896 (GtkAttachOptions) (0), 0, 0); | |
2897 | |
2898 label78 = gtk_label_new (_("Current output plugin:")); | |
2899 gtk_table_attach (GTK_TABLE (table11), label78, 0, 1, 0, 1, | |
2900 (GtkAttachOptions) (0), | |
2901 (GtkAttachOptions) (0), 0, 0); | |
2902 gtk_misc_set_alignment (GTK_MISC (label78), 0, 0.5); | |
2903 | |
2904 alignment82 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2905 gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment82, FALSE, FALSE, 0); | |
2906 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment82), 0, 0, 12, 0); | |
2907 | |
2908 output_plugin_button_box = gtk_hbutton_box_new (); | |
2909 gtk_container_add (GTK_CONTAINER (alignment82), output_plugin_button_box); | |
2910 gtk_button_box_set_layout (GTK_BUTTON_BOX (output_plugin_button_box), GTK_BUTTONBOX_START); | |
2911 gtk_box_set_spacing (GTK_BOX (output_plugin_button_box), 8); | |
2912 | |
2913 output_plugin_prefs = gtk_button_new (); | |
2914 gtk_container_add (GTK_CONTAINER (output_plugin_button_box), output_plugin_prefs); | |
2915 gtk_widget_set_sensitive (output_plugin_prefs, FALSE); | |
2916 GTK_WIDGET_SET_FLAGS (output_plugin_prefs, GTK_CAN_DEFAULT); | |
2917 | |
2918 alignment76 = gtk_alignment_new (0.5, 0.5, 0, 0); | |
2919 gtk_container_add (GTK_CONTAINER (output_plugin_prefs), alignment76); | |
2920 | |
2921 hbox7 = gtk_hbox_new (FALSE, 2); | |
2922 gtk_container_add (GTK_CONTAINER (alignment76), hbox7); | |
2923 | |
2924 image5 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_BUTTON); | |
2925 gtk_box_pack_start (GTK_BOX (hbox7), image5, FALSE, FALSE, 0); | |
2926 | |
2927 label80 = gtk_label_new_with_mnemonic (_("Output Plugin Preferences")); | |
2928 gtk_box_pack_start (GTK_BOX (hbox7), label80, FALSE, FALSE, 0); | |
2929 | |
2930 output_plugin_info = gtk_button_new (); | |
2931 gtk_container_add (GTK_CONTAINER (output_plugin_button_box), output_plugin_info); | |
2932 gtk_widget_set_sensitive (output_plugin_info, FALSE); | |
2933 GTK_WIDGET_SET_FLAGS (output_plugin_info, GTK_CAN_DEFAULT); | |
2934 | |
2935 alignment77 = gtk_alignment_new (0.5, 0.5, 0, 0); | |
2936 gtk_container_add (GTK_CONTAINER (output_plugin_info), alignment77); | |
2937 | |
2938 hbox8 = gtk_hbox_new (FALSE, 2); | |
2939 gtk_container_add (GTK_CONTAINER (alignment77), hbox8); | |
2940 | |
2941 image6 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_BUTTON); | |
2942 gtk_box_pack_start (GTK_BOX (hbox8), image6, FALSE, FALSE, 0); | |
2943 | |
2944 label81 = gtk_label_new_with_mnemonic (_("Output Plugin Information")); | |
2945 gtk_box_pack_start (GTK_BOX (hbox8), label81, FALSE, FALSE, 0); | |
2946 | |
4003 | 2947 create_widgets(GTK_BOX(audio_page_vbox), audio_page_widgets, G_N_ELEMENTS(audio_page_widgets)); |
3993 | 2948 |
2949 alignment80 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2950 gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment80, FALSE, FALSE, 0); | |
2951 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment80), 0, 0, 12, 0); | |
2952 | |
2953 pause_between_songs = gtk_check_button_new_with_mnemonic (_("Pause between songs")); | |
2954 gtk_container_add (GTK_CONTAINER (alignment80), pause_between_songs); | |
2955 | |
2956 alignment22 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2957 gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment22, FALSE, FALSE, 0); | |
2958 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment22), 0, 0, 45, 0); | |
2959 | |
2960 pause_between_songs_box = gtk_hbox_new (FALSE, 0); | |
2961 gtk_container_add (GTK_CONTAINER (alignment22), pause_between_songs_box); | |
2962 | |
2963 label41 = gtk_label_new (_("Pause for")); | |
2964 gtk_box_pack_start (GTK_BOX (pause_between_songs_box), label41, FALSE, FALSE, 0); | |
2965 gtk_misc_set_padding (GTK_MISC (label41), 4, 0); | |
2966 | |
2967 pause_between_songs_time_adj = gtk_adjustment_new (2, 0, 100, 1, 10, 10); | |
2968 pause_between_songs_time = gtk_spin_button_new (GTK_ADJUSTMENT (pause_between_songs_time_adj), 1, 0); | |
2969 gtk_box_pack_start (GTK_BOX (pause_between_songs_box), pause_between_songs_time, FALSE, FALSE, 0); | |
2970 | |
2971 label42 = gtk_label_new (_("seconds")); | |
2972 gtk_box_pack_start (GTK_BOX (pause_between_songs_box), label42, FALSE, FALSE, 0); | |
2973 gtk_misc_set_padding (GTK_MISC (label42), 4, 0); | |
2974 | |
2975 alignment90 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2976 gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment90, FALSE, FALSE, 0); | |
2977 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment90), 12, 12, 0, 0); | |
2978 | |
2979 label93 = gtk_label_new (_("<b>Sampling Rate Converter</b>")); | |
2980 gtk_container_add (GTK_CONTAINER (alignment90), label93); | |
2981 gtk_label_set_use_markup (GTK_LABEL (label93), TRUE); | |
2982 gtk_misc_set_alignment (GTK_MISC (label93), 0, 0.5); | |
2983 | |
2984 alignment92 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2985 gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment92, FALSE, FALSE, 0); | |
2986 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment92), 0, 0, 12, 0); | |
2987 | |
2988 enable_src = gtk_check_button_new_with_mnemonic (_("Enable Sampling Rate Converter")); | |
2989 gtk_container_add (GTK_CONTAINER (alignment92), enable_src); | |
2990 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (enable_src), TRUE); | |
2991 | |
2992 alignment91 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
2993 gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment91, FALSE, FALSE, 0); | |
2994 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment91), 0, 6, 12, 0); | |
2995 | |
2996 vbox36 = gtk_vbox_new (FALSE, 0); | |
2997 gtk_container_add (GTK_CONTAINER (alignment91), vbox36); | |
2998 | |
2999 table13 = gtk_table_new (3, 2, FALSE); | |
3000 gtk_box_pack_start (GTK_BOX (vbox36), table13, FALSE, FALSE, 0); | |
3001 gtk_table_set_row_spacings (GTK_TABLE (table13), 6); | |
3002 gtk_table_set_col_spacings (GTK_TABLE (table13), 6); | |
3003 | |
3004 src_converter_type = gtk_combo_box_new_text (); | |
3005 gtk_table_attach (GTK_TABLE (table13), src_converter_type, 1, 2, 1, 2, | |
3006 (GtkAttachOptions) (0), | |
3007 (GtkAttachOptions) (0), 0, 0); | |
3008 gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Best Sinc Interpolation")); | |
3009 gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Medium Sinc Interpolation")); | |
3010 gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Fastest Sinc Interpolation")); | |
3011 gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("ZOH Interpolation")); | |
3012 gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Linear Interpolation")); | |
3013 | |
3014 label94 = gtk_label_new (_("Interpolation Engine:")); | |
3015 gtk_table_attach (GTK_TABLE (table13), label94, 0, 1, 1, 2, | |
3016 (GtkAttachOptions) (0), | |
3017 (GtkAttachOptions) (0), 0, 0); | |
3018 gtk_misc_set_alignment (GTK_MISC (label94), 0, 0.5); | |
3019 | |
3020 label92 = gtk_label_new (_("<span size=\"small\">All streams will be converted to this sampling rate.\nThis should be the max supported sampling rate of\nthe sound card or output plugin.</span>")); | |
3021 gtk_table_attach (GTK_TABLE (table13), label92, 1, 2, 2, 3, | |
3022 (GtkAttachOptions) (0), | |
3023 (GtkAttachOptions) (0), 0, 0); | |
3024 gtk_label_set_use_markup (GTK_LABEL (label92), TRUE); | |
3025 gtk_label_set_line_wrap (GTK_LABEL (label92), TRUE); | |
3026 gtk_misc_set_alignment (GTK_MISC (label92), 0, 0.5); | |
3027 | |
3028 image9 = gtk_image_new_from_stock ("gtk-info", GTK_ICON_SIZE_BUTTON); | |
3029 gtk_table_attach (GTK_TABLE (table13), image9, 0, 1, 2, 3, | |
3030 (GtkAttachOptions) (0), | |
3031 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); | |
3032 gtk_misc_set_alignment (GTK_MISC (image9), 1, 0); | |
3033 | |
3034 src_rate_adj = gtk_adjustment_new (96000, 1000, 768000, 1000, 1000, 1000); | |
3035 src_rate = gtk_spin_button_new (GTK_ADJUSTMENT (src_rate_adj), 1, 0); | |
3036 gtk_table_attach (GTK_TABLE (table13), src_rate, 1, 2, 0, 1, | |
3037 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), | |
3038 (GtkAttachOptions) (0), 0, 0); | |
3039 | |
3040 label91 = gtk_label_new (_("Sampling Rate [Hz]:")); | |
3041 gtk_table_attach (GTK_TABLE (table13), label91, 0, 1, 0, 1, | |
3042 (GtkAttachOptions) (0), | |
3043 (GtkAttachOptions) (0), 0, 0); | |
3044 gtk_misc_set_alignment (GTK_MISC (label91), 0, 0.5); | |
3045 | |
3046 alignment4 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
3047 gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment4, FALSE, FALSE, 0); | |
3048 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment4), 12, 12, 0, 0); | |
3049 | |
3050 label2 = gtk_label_new (_("<b>Volume Control</b>")); | |
3051 gtk_container_add (GTK_CONTAINER (alignment4), label2); | |
3052 gtk_label_set_use_markup (GTK_LABEL (label2), TRUE); | |
3053 gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5); | |
3054 | |
3055 alignment7 = gtk_alignment_new (0.5, 0.5, 1, 1); | |
3056 gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment7, FALSE, FALSE, 0); | |
3057 gtk_alignment_set_padding (GTK_ALIGNMENT (alignment7), 0, 0, 12, 0); | |
3058 | |
3059 software_volume_control = gtk_check_button_new_with_mnemonic (_("Use software volume control")); | |
3060 gtk_container_add (GTK_CONTAINER (alignment7), software_volume_control); | |
3061 gtk_tooltips_set_tip (tooltips, software_volume_control, _("Use software volume control. This may be useful for situations where your audio system does not support controlling the playback volume."), NULL); | |
3062 | |
3063 empty_notebook_page = gtk_vbox_new (FALSE, 0); | |
3064 gtk_container_add (GTK_CONTAINER (category_notebook), empty_notebook_page); | |
3065 | |
3066 hseparator1 = gtk_hseparator_new (); | |
3067 gtk_box_pack_start (GTK_BOX (vbox), hseparator1, FALSE, FALSE, 6); | |
3068 | |
3069 hbox4 = gtk_hbox_new (FALSE, 0); | |
3070 gtk_box_pack_start (GTK_BOX (vbox), hbox4, FALSE, FALSE, 0); | |
3071 | |
3072 audversionlabel = gtk_label_new (""); | |
3073 gtk_box_pack_start (GTK_BOX (hbox4), audversionlabel, FALSE, FALSE, 0); | |
3074 gtk_label_set_use_markup (GTK_LABEL (audversionlabel), TRUE); | |
3075 | |
3076 prefswin_button_box = gtk_hbutton_box_new (); | |
3077 gtk_box_pack_start (GTK_BOX (hbox4), prefswin_button_box, TRUE, TRUE, 0); | |
3078 gtk_button_box_set_layout (GTK_BUTTON_BOX (prefswin_button_box), GTK_BUTTONBOX_END); | |
3079 gtk_box_set_spacing (GTK_BOX (prefswin_button_box), 6); | |
3080 | |
3081 reload_plugins = gtk_button_new (); | |
3082 gtk_container_add (GTK_CONTAINER (prefswin_button_box), reload_plugins); | |
3083 GTK_WIDGET_SET_FLAGS (reload_plugins, GTK_CAN_DEFAULT); | |
3084 | |
3085 alignment93 = gtk_alignment_new (0.5, 0.5, 0, 0); | |
3086 gtk_container_add (GTK_CONTAINER (reload_plugins), alignment93); | |
3087 | |
3088 hbox11 = gtk_hbox_new (FALSE, 2); | |
3089 gtk_container_add (GTK_CONTAINER (alignment93), hbox11); | |
3090 | |
3091 image10 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON); | |
3092 gtk_box_pack_start (GTK_BOX (hbox11), image10, FALSE, FALSE, 0); | |
3093 | |
3094 label102 = gtk_label_new_with_mnemonic (_("Reload Plugins")); | |
3095 gtk_box_pack_start (GTK_BOX (hbox11), label102, FALSE, FALSE, 0); | |
3096 | |
3097 close = gtk_button_new_from_stock ("gtk-close"); | |
3098 gtk_container_add (GTK_CONTAINER (prefswin_button_box), close); | |
3099 GTK_WIDGET_SET_FLAGS (close, GTK_CAN_DEFAULT); | |
3100 gtk_widget_add_accelerator (close, "clicked", accel_group, | |
3101 GDK_Escape, (GdkModifierType) 0, | |
3102 GTK_ACCEL_VISIBLE); | |
3103 | |
3104 | |
3105 gtk_label_set_mnemonic_widget (GTK_LABEL (input_plugin_list_label), category_notebook); | |
3106 gtk_label_set_mnemonic_widget (GTK_LABEL (label11), category_notebook); | |
3107 gtk_label_set_mnemonic_widget (GTK_LABEL (label53), category_notebook); | |
3108 gtk_label_set_mnemonic_widget (GTK_LABEL (label64), category_notebook); | |
3109 gtk_label_set_mnemonic_widget (GTK_LABEL (label103), category_notebook); | |
3110 gtk_label_set_mnemonic_widget (GTK_LABEL (label104), category_notebook); | |
3111 gtk_label_set_mnemonic_widget (GTK_LABEL (label105), fontbutton1); | |
3112 gtk_label_set_mnemonic_widget (GTK_LABEL (label106), fontbutton2); | |
3113 | |
3114 gtk_window_add_accel_group (GTK_WINDOW (prefswin), accel_group); | |
3115 | |
3116 /* connect signals */ | |
3117 g_signal_connect(G_OBJECT(prefswin), "delete_event", | |
3118 G_CALLBACK(gtk_widget_hide_on_delete), | |
3119 NULL); | |
3120 g_signal_connect_after(G_OBJECT(input_plugin_view), "realize", | |
3121 G_CALLBACK(on_input_plugin_view_realize), | |
3122 NULL); | |
3123 g_signal_connect_after(G_OBJECT(general_plugin_view), "realize", | |
3124 G_CALLBACK(on_general_plugin_view_realize), | |
3125 NULL); | |
3126 g_signal_connect_after(G_OBJECT(vis_plugin_view), "realize", | |
3127 G_CALLBACK(on_vis_plugin_view_realize), | |
3128 NULL); | |
3129 g_signal_connect_after(G_OBJECT(effect_plugin_view), "realize", | |
3130 G_CALLBACK(on_effect_plugin_view_realize), | |
3131 NULL); | |
3132 g_signal_connect(G_OBJECT(colorspace_button), "clicked", | |
3133 G_CALLBACK(on_colorize_button_clicked), | |
3134 NULL); | |
3135 g_signal_connect_swapped(G_OBJECT(skin_refresh_button), "clicked", | |
3136 G_CALLBACK(on_skin_refresh_button_clicked), | |
3137 prefswin); | |
3138 g_signal_connect_after(G_OBJECT(skin_view), "realize", | |
3139 G_CALLBACK(on_skin_view_realize), | |
3140 NULL); | |
3141 g_signal_connect_after(G_OBJECT(fontbutton1), "realize", | |
3142 G_CALLBACK(on_mainwin_font_button_realize), | |
3143 NULL); | |
3144 g_signal_connect(G_OBJECT(fontbutton1), "font_set", | |
3145 G_CALLBACK(on_mainwin_font_button_font_set), | |
3146 NULL); | |
3147 g_signal_connect_after(G_OBJECT(fontbutton2), "realize", | |
3148 G_CALLBACK(on_playlist_font_button_realize), | |
3149 NULL); | |
3150 g_signal_connect(G_OBJECT(fontbutton2), "font_set", | |
3151 G_CALLBACK(on_playlist_font_button_font_set), | |
3152 NULL); | |
3153 g_signal_connect(G_OBJECT(checkbutton11), "toggled", | |
3154 G_CALLBACK(on_use_bitmap_fonts_toggled), | |
3155 NULL); | |
3156 g_signal_connect_after(G_OBJECT(checkbutton11), "realize", | |
3157 G_CALLBACK(on_use_bitmap_fonts_realize), | |
3158 NULL); | |
4002
d203c51d94bb
you might like it or not, beginning of making preferences more friendly
Tomasz Mon <desowin@gmail.com>
parents:
4001
diff
changeset
|
3159 |
3993 | 3160 g_signal_connect(G_OBJECT(mouse_wheel_volume), "value_changed", |
3161 G_CALLBACK(on_mouse_wheel_volume_changed), | |
3162 NULL); | |
3163 g_signal_connect_after(G_OBJECT(mouse_wheel_volume), "realize", | |
3164 G_CALLBACK(on_mouse_wheel_volume_realize), | |
3165 NULL); | |
3166 g_signal_connect(G_OBJECT(mouse_wheel_scroll_pl), "value_changed", | |
3167 G_CALLBACK(on_mouse_wheel_scroll_pl_changed), | |
3168 NULL); | |
3169 g_signal_connect_after(G_OBJECT(mouse_wheel_scroll_pl), "realize", | |
3170 G_CALLBACK(on_mouse_wheel_scroll_pl_realize), | |
3171 NULL); | |
3172 g_signal_connect(G_OBJECT(playlist_convert_underscore), "toggled", | |
3173 G_CALLBACK(on_playlist_convert_underscore_toggled), | |
3174 NULL); | |
3175 g_signal_connect_after(G_OBJECT(playlist_convert_underscore), "realize", | |
3176 G_CALLBACK(on_playlist_convert_underscore_realize), | |
3177 NULL); | |
3178 g_signal_connect(G_OBJECT(playlist_convert_twenty), "toggled", | |
3179 G_CALLBACK(on_playlist_convert_twenty_toggled), | |
3180 NULL); | |
3181 g_signal_connect_after(G_OBJECT(playlist_convert_twenty), "realize", | |
3182 G_CALLBACK(on_playlist_convert_twenty_realize), | |
3183 NULL); | |
3184 g_signal_connect(G_OBJECT(playlist_convert_slash), "toggled", | |
3185 G_CALLBACK(on_playlist_convert_slash_toggled), | |
3186 NULL); | |
3187 g_signal_connect_after(G_OBJECT(playlist_convert_slash), "realize", | |
3188 G_CALLBACK(on_playlist_convert_slash_realize), | |
3189 NULL); | |
3190 g_signal_connect(G_OBJECT(playlist_metadata_on_load), "toggled", | |
3191 G_CALLBACK(on_pl_metadata_on_load_toggled), | |
3192 NULL); | |
3193 g_signal_connect_after(G_OBJECT(playlist_metadata_on_load), "realize", | |
3194 G_CALLBACK(on_pl_metadata_on_load_realize), | |
3195 NULL); | |
3196 g_signal_connect(G_OBJECT(playlist_metadata_on_display), "toggled", | |
3197 G_CALLBACK(on_pl_metadata_on_display_toggled), | |
3198 NULL); | |
3199 g_signal_connect_after(G_OBJECT(playlist_metadata_on_display), "realize", | |
3200 G_CALLBACK(on_pl_metadata_on_display_realize), | |
3201 NULL); | |
3202 g_signal_connect_after(G_OBJECT(combobox1), "realize", | |
3203 G_CALLBACK(on_chardet_detector_cbox_realize), | |
3204 NULL); | |
3205 g_signal_connect(G_OBJECT(entry1), "changed", | |
3206 G_CALLBACK(on_chardet_fallback_changed), | |
3207 NULL); | |
3208 g_signal_connect_after(G_OBJECT(entry1), "realize", | |
3209 G_CALLBACK(on_chardet_fallback_realize), | |
3210 NULL); | |
3211 g_signal_connect(G_OBJECT(refresh_file_list), "toggled", | |
3212 G_CALLBACK(on_refresh_file_list_toggled), | |
3213 NULL); | |
3214 g_signal_connect_after(G_OBJECT(refresh_file_list), "realize", | |
3215 G_CALLBACK(on_refresh_file_list_realize), | |
3216 NULL); | |
3217 g_signal_connect(G_OBJECT(titlestring_entry), "changed", | |
3218 G_CALLBACK(on_titlestring_entry_changed), | |
3219 NULL); | |
3220 g_signal_connect_after(G_OBJECT(titlestring_entry), "realize", | |
3221 G_CALLBACK(on_titlestring_entry_realize), | |
3222 NULL); | |
3223 g_signal_connect(G_OBJECT(checkbutton10), "toggled", | |
3224 G_CALLBACK(on_show_filepopup_for_tuple_toggled), | |
3225 NULL); | |
3226 g_signal_connect_after(G_OBJECT(checkbutton10), "realize", | |
3227 G_CALLBACK(on_show_filepopup_for_tuple_realize), | |
3228 NULL); | |
3229 g_signal_connect(G_OBJECT(filepopup_for_tuple_settings_button), "clicked", | |
3230 G_CALLBACK(on_filepopup_for_tuple_settings_clicked), | |
3231 NULL); | |
3232 g_signal_connect(G_OBJECT(eq_file_preset_entry), "changed", | |
3233 G_CALLBACK(on_eq_file_preset_entry_changed), | |
3234 NULL); | |
3235 g_signal_connect(G_OBJECT(eq_file_preset_entry), "realize", | |
3236 G_CALLBACK(on_eq_file_preset_entry_realize), | |
3237 NULL); | |
3238 g_signal_connect(G_OBJECT(eq_dir_preset_entry), "changed", | |
3239 G_CALLBACK(on_eq_dir_preset_entry_changed), | |
3240 NULL); | |
3241 g_signal_connect(G_OBJECT(eq_dir_preset_entry), "realize", | |
3242 G_CALLBACK(on_eq_dir_preset_entry_realize), | |
3243 NULL); | |
3244 g_signal_connect(G_OBJECT(proxy_use), "toggled", | |
4000
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
3245 G_CALLBACK(on_proxy_button_toggled), |
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
3246 "use_proxy"); |
3993 | 3247 g_signal_connect(G_OBJECT(proxy_use), "realize", |
4000
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
3248 G_CALLBACK(on_proxy_button_realize), |
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
3249 "use_proxy"); |
3993 | 3250 g_signal_connect(G_OBJECT(proxy_port), "changed", |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3251 G_CALLBACK(on_proxy_entry_changed), |
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3252 "proxy_port"); |
3993 | 3253 g_signal_connect(G_OBJECT(proxy_port), "realize", |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3254 G_CALLBACK(on_proxy_entry_realize), |
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3255 "proxy_port"); |
3993 | 3256 g_signal_connect(G_OBJECT(proxy_host), "changed", |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3257 G_CALLBACK(on_proxy_entry_changed), |
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3258 "proxy_host"); |
3993 | 3259 g_signal_connect(G_OBJECT(proxy_host), "realize", |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3260 G_CALLBACK(on_proxy_entry_realize), |
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3261 "proxy_host"); |
3993 | 3262 g_signal_connect(G_OBJECT(proxy_auth), "toggled", |
4000
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
3263 G_CALLBACK(on_proxy_button_toggled), |
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
3264 "proxy_use_auth"); |
3993 | 3265 g_signal_connect(G_OBJECT(proxy_auth), "realize", |
4000
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
3266 G_CALLBACK(on_proxy_button_realize), |
a0bb67450552
more code duplication removal
Tomasz Mon <desowin@gmail.com>
parents:
3999
diff
changeset
|
3267 "proxy_use_auth"); |
3993 | 3268 g_signal_connect(G_OBJECT(proxy_pass), "changed", |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3269 G_CALLBACK(on_proxy_entry_changed), |
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3270 "proxy_pass"); |
3993 | 3271 g_signal_connect(G_OBJECT(proxy_pass), "realize", |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3272 G_CALLBACK(on_proxy_entry_realize), |
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3273 "proxy_pass"); |
3993 | 3274 g_signal_connect(G_OBJECT(proxy_user), "changed", |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3275 G_CALLBACK(on_proxy_entry_changed), |
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3276 "proxy_user"); |
3993 | 3277 g_signal_connect(G_OBJECT(proxy_user), "realize", |
3999
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3278 G_CALLBACK(on_proxy_entry_realize), |
fa3d61ea0a6e
remove some duplicated code
Tomasz Mon <desowin@gmail.com>
parents:
3995
diff
changeset
|
3279 "proxy_user"); |
3993 | 3280 g_signal_connect(G_OBJECT(output_plugin_bufsize), "value_changed", |
3281 G_CALLBACK(on_output_plugin_bufsize_value_changed), | |
3282 NULL); | |
3283 g_signal_connect_after(G_OBJECT(output_plugin_bufsize), "realize", | |
3284 G_CALLBACK(on_output_plugin_bufsize_realize), | |
3285 NULL); | |
3286 g_signal_connect_after(G_OBJECT(output_plugin_cbox), "realize", | |
3287 G_CALLBACK(on_output_plugin_cbox_realize), | |
3288 NULL); | |
3289 g_signal_connect(G_OBJECT(pause_between_songs_time), "value_changed", | |
3290 G_CALLBACK(on_pause_between_songs_time_changed), | |
3291 NULL); | |
3292 g_signal_connect_after(G_OBJECT(pause_between_songs_time), "realize", | |
3293 G_CALLBACK(on_pause_between_songs_time_realize), | |
3294 NULL); | |
3295 g_signal_connect(G_OBJECT(enable_src), "toggled", | |
3296 G_CALLBACK(on_enable_src_toggled), | |
3297 NULL); | |
3298 g_signal_connect(G_OBJECT(enable_src), "realize", | |
3299 G_CALLBACK(on_enable_src_realize), | |
3300 NULL); | |
3301 g_signal_connect(G_OBJECT(src_converter_type), "changed", | |
3302 G_CALLBACK(on_src_converter_type_changed), | |
3303 NULL); | |
3304 g_signal_connect_after(G_OBJECT(src_converter_type), "realize", | |
3305 G_CALLBACK(on_src_converter_type_realize), | |
3306 NULL); | |
3307 g_signal_connect(G_OBJECT(src_rate), "value_changed", | |
3308 G_CALLBACK(on_src_rate_value_changed), | |
3309 NULL); | |
3310 g_signal_connect(G_OBJECT(src_rate), "realize", | |
3311 G_CALLBACK(on_src_rate_realize), | |
3312 NULL); | |
3313 g_signal_connect(G_OBJECT(software_volume_control), "toggled", | |
3314 G_CALLBACK(on_software_volume_control_toggled), | |
3315 NULL); | |
3316 g_signal_connect(G_OBJECT(software_volume_control), "realize", | |
3317 G_CALLBACK(on_software_volume_control_realize), | |
3318 NULL); | |
3319 g_signal_connect(G_OBJECT(reload_plugins), "clicked", | |
3320 G_CALLBACK(on_reload_plugins_clicked), | |
3321 NULL); | |
3322 g_signal_connect_swapped(G_OBJECT(close), "clicked", | |
3323 G_CALLBACK(gtk_widget_hide), | |
3324 GTK_OBJECT (prefswin)); | |
2313 | 3325 |
3326 /* create category view */ | |
3993 | 3327 g_signal_connect_after(G_OBJECT(category_treeview), "realize", |
3328 G_CALLBACK(on_category_treeview_realize), | |
3329 category_notebook); | |
2313 | 3330 |
3331 /* plugin->input page */ | |
3993 | 3332 g_object_set_data(G_OBJECT(input_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_INPUT)); |
3333 g_signal_connect(G_OBJECT(input_plugin_view), "row-activated", | |
3356 | 3334 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
|
3335 NULL); |
3993 | 3336 g_signal_connect(G_OBJECT(input_plugin_view), "cursor-changed", |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
3337 G_CALLBACK(plugin_treeview_enable_prefs), |
3993 | 3338 input_plugin_prefs); |
3339 | |
3340 g_signal_connect_swapped(G_OBJECT(input_plugin_prefs), "clicked", | |
3356 | 3341 G_CALLBACK(plugin_treeview_open_prefs), |
3993 | 3342 input_plugin_view); |
3343 | |
3344 g_signal_connect(G_OBJECT(input_plugin_view), "cursor-changed", | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
3345 G_CALLBACK(plugin_treeview_enable_info), |
3993 | 3346 input_plugin_info); |
3347 g_signal_connect_swapped(G_OBJECT(input_plugin_info), "clicked", | |
3357 | 3348 G_CALLBACK(plugin_treeview_open_info), |
3993 | 3349 input_plugin_view); |
2313 | 3350 |
3351 /* plugin->output page */ | |
3352 | |
3993 | 3353 g_signal_connect(G_OBJECT(output_plugin_cbox), "changed", |
2313 | 3354 G_CALLBACK(output_plugin_enable_prefs), |
3993 | 3355 output_plugin_prefs); |
3356 g_signal_connect_swapped(G_OBJECT(output_plugin_prefs), "clicked", | |
2313 | 3357 G_CALLBACK(output_plugin_open_prefs), |
3993 | 3358 output_plugin_cbox); |
3359 | |
3360 g_signal_connect(G_OBJECT(output_plugin_cbox), "changed", | |
2313 | 3361 G_CALLBACK(output_plugin_enable_info), |
3993 | 3362 output_plugin_info); |
3363 g_signal_connect_swapped(G_OBJECT(output_plugin_info), "clicked", | |
2313 | 3364 G_CALLBACK(output_plugin_open_info), |
3993 | 3365 output_plugin_cbox); |
2313 | 3366 |
3367 /* plugin->general page */ | |
3368 | |
3993 | 3369 g_object_set_data(G_OBJECT(general_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_GENERAL)); |
3370 g_signal_connect(G_OBJECT(general_plugin_view), "row-activated", | |
3356 | 3371 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
|
3372 NULL); |
2313 | 3373 |
3993 | 3374 g_signal_connect(G_OBJECT(general_plugin_view), "cursor-changed", |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
3375 G_CALLBACK(plugin_treeview_enable_prefs), |
3993 | 3376 general_plugin_prefs); |
3377 | |
3378 g_signal_connect_swapped(G_OBJECT(general_plugin_prefs), "clicked", | |
3356 | 3379 G_CALLBACK(plugin_treeview_open_prefs), |
3993 | 3380 general_plugin_view); |
3381 | |
3382 g_signal_connect(G_OBJECT(general_plugin_view), "cursor-changed", | |
3355
31ecb89e871c
introduce plugin_treeview_enable_prefs and plugin_treeview_enable_info
Tomasz Mon <desowin@gmail.com>
parents:
3353
diff
changeset
|
3383 G_CALLBACK(plugin_treeview_enable_info), |
3993 | 3384 general_plugin_info); |
3385 g_signal_connect_swapped(G_OBJECT(general_plugin_info), "clicked", | |
3357 | 3386 G_CALLBACK(plugin_treeview_open_info), |
3993 | 3387 general_plugin_view); |
2313 | 3388 |
3389 | |
3390 /* plugin->vis page */ | |
3391 | |
3993 | 3392 g_object_set_data(G_OBJECT(vis_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_VIS)); |
3393 g_signal_connect(G_OBJECT(vis_plugin_view), "row-activated", | |
3356 | 3394 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
|
3395 NULL); |
3993 | 3396 g_signal_connect_swapped(G_OBJECT(vis_plugin_prefs), "clicked", |
3356 | 3397 G_CALLBACK(plugin_treeview_open_prefs), |
3993 | 3398 vis_plugin_view); |
3399 g_signal_connect(G_OBJECT(vis_plugin_view), "cursor-changed", | |
3400 G_CALLBACK(plugin_treeview_enable_prefs), vis_plugin_prefs); | |
3401 | |
3402 g_signal_connect(G_OBJECT(vis_plugin_view), "cursor-changed", | |
3403 G_CALLBACK(plugin_treeview_enable_info), vis_plugin_info); | |
3404 g_signal_connect_swapped(G_OBJECT(vis_plugin_info), "clicked", | |
3357 | 3405 G_CALLBACK(plugin_treeview_open_info), |
3993 | 3406 vis_plugin_view); |
2313 | 3407 |
3408 | |
3409 /* plugin->effects page */ | |
3410 | |
3993 | 3411 g_object_set_data(G_OBJECT(effect_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_EFFECT)); |
3412 g_signal_connect(G_OBJECT(effect_plugin_view), "row-activated", | |
3356 | 3413 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
|
3414 NULL); |
3993 | 3415 g_signal_connect_swapped(G_OBJECT(effect_plugin_prefs), "clicked", |
3356 | 3416 G_CALLBACK(plugin_treeview_open_prefs), |
3993 | 3417 effect_plugin_view); |
3418 g_signal_connect(G_OBJECT(effect_plugin_view), "cursor-changed", | |
3419 G_CALLBACK(plugin_treeview_enable_prefs), effect_plugin_prefs); | |
3420 | |
3421 g_signal_connect(G_OBJECT(effect_plugin_view), "cursor-changed", | |
3422 G_CALLBACK(plugin_treeview_enable_info), effect_plugin_info); | |
3423 g_signal_connect_swapped(G_OBJECT(effect_plugin_info), "clicked", | |
3357 | 3424 G_CALLBACK(plugin_treeview_open_info), |
3993 | 3425 effect_plugin_view); |
2313 | 3426 |
3427 /* playlist page */ | |
3428 | |
3993 | 3429 g_signal_connect_after(G_OBJECT(pause_between_songs), "realize", |
2313 | 3430 G_CALLBACK(on_pause_between_songs_realize), |
3993 | 3431 pause_between_songs_box); |
3432 g_signal_connect(G_OBJECT(pause_between_songs), "toggled", | |
2313 | 3433 G_CALLBACK(on_pause_between_songs_toggled), |
3993 | 3434 pause_between_songs_box); |
3435 | |
3436 g_signal_connect_after(G_OBJECT(playlist_use_metadata), "realize", | |
2313 | 3437 G_CALLBACK(on_use_pl_metadata_realize), |
3993 | 3438 playlist_use_metadata_box); |
3439 g_signal_connect(G_OBJECT(playlist_use_metadata), "toggled", | |
2313 | 3440 G_CALLBACK(on_use_pl_metadata_toggled), |
3993 | 3441 playlist_use_metadata_box); |
3442 | |
3443 g_signal_connect(skin_view, "drag-data-received", | |
2313 | 3444 G_CALLBACK(on_skin_view_drag_data_received), |
3445 NULL); | |
3993 | 3446 bmp_drag_dest_set(skin_view); |
2313 | 3447 |
3448 g_signal_connect(mainwin, "drag-data-received", | |
3449 G_CALLBACK(mainwin_drag_data_received), | |
3993 | 3450 skin_view); |
3451 | |
3452 g_signal_connect(skin_refresh_button, "clicked", | |
2313 | 3453 G_CALLBACK(on_skin_refresh_button_clicked), |
3454 NULL); | |
3455 | |
3456 g_signal_connect(mainwin, "drag-data-received", | |
2975 | 3457 G_CALLBACK(mainwin_drag_data_received), |
3993 | 3458 fontbutton2); |
3459 | |
3460 g_signal_connect(titlestring_cbox, "realize", | |
2313 | 3461 G_CALLBACK(on_titlestring_cbox_realize), |
3993 | 3462 titlestring_entry); |
3463 g_signal_connect(titlestring_cbox, "changed", | |
2313 | 3464 G_CALLBACK(on_titlestring_cbox_changed), |
3993 | 3465 titlestring_entry); |
2313 | 3466 |
3467 /* FIXME: move this into a function */ | |
3468 /* create tag menu */ | |
3469 titlestring_tag_menu = gtk_menu_new(); | |
3470 for(i = 0; i < n_title_field_tags; i++) { | |
3991
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
3471 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
|
3472 gtk_menu_shell_append(GTK_MENU_SHELL(titlestring_tag_menu), menu_item); |
2313 | 3473 g_signal_connect(menu_item, "activate", |
3474 G_CALLBACK(titlestring_tag_menu_callback), | |
3475 GINT_TO_POINTER(i)); | |
3476 }; | |
3477 gtk_widget_show_all(titlestring_tag_menu); | |
3993 | 3478 |
3479 g_signal_connect(titlestring_cbox, "changed", | |
2313 | 3480 G_CALLBACK(on_titlestring_cbox_changed), |
3993 | 3481 titlestring_help_button); |
3482 g_signal_connect(titlestring_help_button, "clicked", | |
2313 | 3483 G_CALLBACK(on_titlestring_help_button_clicked), |
3484 titlestring_tag_menu); | |
3485 | |
3486 /* audacious version label */ | |
2467 | 3487 |
2468
5206f4ef02f7
[svn] - the svn_stamp is no longer an svn revision, but a serial number
nenolod
parents:
2467
diff
changeset
|
3488 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
|
3489 "Audacious " PACKAGE_VERSION , |
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
3490 svn_stamp , |
d6ac99c2be1d
destroy colorize settings upon closing
mf0102 <0102@gmx.at>
parents:
3990
diff
changeset
|
3491 g_get_user_name() , g_get_host_name() ); |
2313 | 3492 |
3993 | 3493 gtk_label_set_markup( GTK_LABEL(audversionlabel) , aud_version_string ); |
2467 | 3494 g_free(aud_version_string); |
3993 | 3495 gtk_widget_show_all(vbox); |
2313 | 3496 |
3990
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
3497 /* Create window for filepopup settings */ |
14c2d0729563
filepopup_settings is no longer in prefswin.glade
Tomasz Mon <desowin@gmail.com>
parents:
3989
diff
changeset
|
3498 create_filepopup_settings(); |
2313 | 3499 } |
3500 | |
3501 void | |
3502 show_prefs_window(void) | |
3503 { | |
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
|
3504 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
|
3505 |
2635 | 3506 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
|
3507 |
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
|
3508 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
|
3509 { |
3993 | 3510 skin_view_update(GTK_TREE_VIEW(skin_view), GTK_WIDGET(skin_refresh_button)); |
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
|
3511 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
|
3512 } |
2313 | 3513 } |
3514 | |
3917 | 3515 void |
3516 hide_prefs_window(void) | |
3517 { | |
3518 g_return_if_fail(prefswin); | |
3519 gtk_widget_hide(GTK_WIDGET(prefswin)); | |
3520 } | |
3521 | |
2313 | 3522 static void |
3523 prefswin_page_queue_new(GtkWidget *container, gchar *name, gchar *imgurl) | |
3524 { | |
3525 CategoryQueueEntry *ent = g_malloc0(sizeof(CategoryQueueEntry)); | |
3526 | |
3527 ent->container = container; | |
3528 ent->pg_name = name; | |
3529 ent->img_url = imgurl; | |
3530 | |
3531 if (category_queue) | |
3532 ent->next = category_queue; | |
3533 | |
3534 category_queue = ent; | |
3535 } | |
3536 | |
3537 static void | |
3538 prefswin_page_queue_destroy(CategoryQueueEntry *ent) | |
3539 { | |
3540 category_queue = ent->next; | |
3541 g_free(ent); | |
3542 } | |
3543 | |
3544 /* | |
3545 * Public APIs for adding new pages to the prefs window. | |
3546 * | |
3547 * Basically, the concept here is that third party components can register themselves in the root | |
3548 * preferences window. | |
3549 * | |
3550 * From a usability standpoint this makes the application look more "united", instead of cluttered | |
3551 * and malorganised. Hopefully this option will be used further in the future. | |
3552 * | |
3553 * - nenolod | |
3554 */ | |
3555 gint | |
3556 prefswin_page_new(GtkWidget *container, gchar *name, gchar *imgurl) | |
3557 { | |
3558 GtkTreeModel *model; | |
3559 GtkTreeIter iter; | |
3560 GdkPixbuf *img = NULL; | |
3561 GtkTreeView *treeview = GTK_TREE_VIEW(category_treeview); | |
3562 gint id; | |
3563 | |
3564 if (treeview == NULL || category_notebook == NULL) | |
3565 { | |
3566 prefswin_page_queue_new(container, name, imgurl); | |
3567 return -1; | |
3568 } | |
3569 | |
3570 model = gtk_tree_view_get_model(treeview); | |
3571 | |
3572 if (model == NULL) | |
3573 { | |
3574 prefswin_page_queue_new(container, name, imgurl); | |
3575 return -1; | |
3576 } | |
3577 | |
3578 /* Make sure the widgets are visible. */ | |
3579 gtk_widget_show(container); | |
3580 id = gtk_notebook_append_page(GTK_NOTEBOOK(category_notebook), container, NULL); | |
3581 | |
3582 if (id == -1) | |
3583 return -1; | |
3584 | |
3585 if (imgurl != NULL) | |
3586 img = gdk_pixbuf_new_from_file(imgurl, NULL); | |
3587 | |
3588 gtk_list_store_append(GTK_LIST_STORE(model), &iter); | |
3589 gtk_list_store_set(GTK_LIST_STORE(model), &iter, | |
3590 CATEGORY_VIEW_COL_ICON, img, | |
3591 CATEGORY_VIEW_COL_NAME, | |
3592 name, CATEGORY_VIEW_COL_ID, id, -1); | |
3593 | |
3594 if (img != NULL) | |
3595 g_object_unref(img); | |
3596 | |
3597 return id; | |
3598 } | |
3599 | |
3600 void | |
3601 prefswin_page_destroy(GtkWidget *container) | |
3602 { | |
3603 GtkTreeModel *model; | |
3604 GtkTreeIter iter; | |
3605 GtkTreeView *treeview = GTK_TREE_VIEW(category_treeview); | |
3606 gboolean ret; | |
3607 gint id; | |
3608 gint index = -1; | |
3609 | |
3610 if (category_notebook == NULL || treeview == NULL || container == NULL) | |
3611 return; | |
3612 | |
3613 id = gtk_notebook_page_num(GTK_NOTEBOOK(category_notebook), container); | |
3614 | |
3615 if (id == -1) | |
3616 return; | |
3617 | |
3618 gtk_notebook_remove_page(GTK_NOTEBOOK(category_notebook), id); | |
3619 | |
3620 model = gtk_tree_view_get_model(treeview); | |
3621 | |
3622 if (model == NULL) | |
3623 return; | |
3624 | |
3625 ret = gtk_tree_model_get_iter_first(model, &iter); | |
3626 | |
3627 while (ret == TRUE) | |
3628 { | |
3629 gtk_tree_model_get(model, &iter, CATEGORY_VIEW_COL_ID, &index, -1); | |
3630 | |
3631 if (index == id) | |
3632 { | |
3633 gtk_list_store_remove(GTK_LIST_STORE(model), &iter); | |
3634 ret = gtk_tree_model_get_iter_first(model, &iter); | |
3635 } | |
3636 | |
3637 if (index > id) | |
3638 { | |
3639 index--; | |
3640 gtk_list_store_set(GTK_LIST_STORE(model), &iter, CATEGORY_VIEW_COL_ID, index, -1); | |
3641 } | |
3642 | |
3643 ret = gtk_tree_model_iter_next(model, &iter); | |
3644 } | |
3645 } |