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