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