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