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