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