# HG changeset patch # User Tomasz Mon # Date 1195920551 -3600 # Node ID 8d8699eb659dce606f4cb1c95826779e7a12634b # Parent 50bf02b4f04878fcd141efad6114a2c9700ec93f say goodbye to libglade diff -r 50bf02b4f048 -r 8d8699eb659d configure.ac --- a/configure.ac Sat Nov 24 14:48:01 2007 +0100 +++ b/configure.ac Sat Nov 24 17:09:11 2007 +0100 @@ -106,13 +106,6 @@ [AC_MSG_ERROR([Cannot find libmowgli: try http://www.atheme-project.org/projects/mowgli.shtml])] ) -dnl Check for libglade - -PKG_CHECK_MODULES(LIBGLADE, [libglade-2.0 >= 2.3.1], - [], - [AC_MSG_ERROR([Cannot find libglade])] -) - # Check if socklen_t is defined AC_CACHE_CHECK(for socklen_t, beep_cv_type_socklen_t, diff -r 50bf02b4f048 -r 8d8699eb659d src/audacious/Makefile --- a/src/audacious/Makefile Sat Nov 24 14:48:01 2007 +0100 +++ b/src/audacious/Makefile Sat Nov 24 17:09:11 2007 +0100 @@ -16,7 +16,6 @@ flow.c \ formatter.c \ general.c \ - glade.c \ hints.c \ hook.c \ iir.c \ @@ -119,8 +118,7 @@ vfs_buffered_file.h \ xconvert.h -DATA = glade/prefswin.glade \ - images/about-logo.png \ +DATA = images/about-logo.png \ images/appearance.png \ images/audacious_eq.xpm \ images/audacious_player.xpm \ @@ -167,7 +165,6 @@ CPPFLAGS += -DHAVE_CONFIG_H \ ${MOWGLI_CFLAGS} \ ${GTK_CFLAGS} \ - ${LIBGLADE_CFLAGS} \ ${BEEP_DEFINES} \ ${ARCH_DEFINES} \ ${DBUS_CFLAGS} \ @@ -186,7 +183,6 @@ ${DBUS_LIBS} \ ${MOWGLI_LIBS} \ ${LIBMCS_LIBS} \ - ${LIBGLADE_LIBS} \ ${REGEX_LIBS} LDFLAGS += ${PROG_IMPLIB_LDFLAGS} diff -r 50bf02b4f048 -r 8d8699eb659d src/audacious/glade.c --- a/src/audacious/glade.c Sat Nov 24 14:48:01 2007 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ -/* Audacious - Cross-platform multimedia player - * Copyright (C) 2005-2007 Audacious development team - * - * Based on BMP: - * Copyright (C) 2003-2004 BMP development team. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; under version 3 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * The Audacious team does not consider modular code linking to - * Audacious or using our public API to be a derived work. - */ - -#ifndef HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include -#include -#include - -#include - -#include "glade.h" - - -GladeXML * -glade_xml_new_or_die(const gchar * name, - const gchar * path, - const gchar * root, - const gchar * domain) -{ - const gchar *markup = - N_("Unable to create %s.\n" - "\n" - "Could not open glade file (%s). Please check your " - "installation.\n"); - - GladeXML *xml = glade_xml_new(path, root, domain); - - if (!xml) { - GtkWidget *dialog = - gtk_message_dialog_new_with_markup(NULL, - GTK_DIALOG_MODAL, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_CLOSE, - _(markup), - name, path); - gtk_dialog_run(GTK_DIALOG(dialog)); - gtk_widget_destroy(dialog); - - exit(EXIT_FAILURE); - } - - return xml; -} - -GtkWidget * -glade_xml_get_widget_warn(GladeXML * xml, const gchar * name) -{ - GtkWidget *widget = glade_xml_get_widget(xml, name); - - if (!widget) { - g_warning("Widget not found (%s)", name); - return NULL; - } - - return widget; -} - - -static GCallback -self_symbol_lookup(const gchar * symbol_name) -{ - static GModule *module = NULL; - gpointer symbol = NULL; - - if (!module) - module = g_module_open(NULL, 0); - - g_module_symbol(module, symbol_name, &symbol); - return (GCallback) symbol; -} - -static GHashTable * -func_map_to_hash(FuncMap * map) -{ - GHashTable *hash; - FuncMap *current; - - g_return_val_if_fail(map != NULL, NULL); - - hash = g_hash_table_new(g_str_hash, g_str_equal); - - for (current = map; current->name; current++) - g_hash_table_insert(hash, current->name, (gpointer) current->function); - - return hash; -} - -static void -map_connect_func(const gchar * handler_name, - GObject * object, - const gchar * signal_name, - const gchar * signal_data, - GObject * connect_object, - gboolean after, - gpointer data) -{ - GHashTable *hash = data; - GCallback callback; - - g_return_if_fail(object != NULL); - g_return_if_fail(handler_name != NULL); - g_return_if_fail(signal_name != NULL); - - if (!(callback = self_symbol_lookup(handler_name))) - callback = (GCallback) g_hash_table_lookup(hash, handler_name); - - if (!callback) { - g_message("Signal handler (%s) not found", handler_name); - return; - } - - if (connect_object) { - g_signal_connect_object(object, signal_name, callback, - connect_object, - (after ? G_CONNECT_AFTER : 0) | - G_CONNECT_SWAPPED); - } - else { - if (after) - g_signal_connect_after(object, signal_name, callback, NULL); - else - g_signal_connect(object, signal_name, callback, NULL); - } -} - -void -glade_xml_signal_autoconnect_map(GladeXML * xml, - FuncMap * map) -{ - GHashTable *hash; - - g_return_if_fail(xml != NULL); - g_return_if_fail(map != NULL); - - hash = func_map_to_hash(map); - glade_xml_signal_autoconnect_full(xml, map_connect_func, hash); - g_hash_table_destroy(hash); -} diff -r 50bf02b4f048 -r 8d8699eb659d src/audacious/glade.h --- a/src/audacious/glade.h Sat Nov 24 14:48:01 2007 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -/* Audacious - Cross-platform multimedia player - * Copyright (C) 2005-2007 Audacious development team - * - * Based on BMP: - * Copyright (C) 2003-2004 BMP development team. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; under version 3 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * The Audacious team does not consider modular code linking to - * Audacious or using our public API to be a derived work. - */ - -#ifndef BMP_GLADE_H -#define BMP_GLADE_H - -#include -#include -#include - - -typedef struct _FuncMap FuncMap; - -struct _FuncMap { - gchar *name; - GCallback function; -}; - - -#define FUNC_MAP_BEGIN(map) static FuncMap map[] = { -#define FUNC_MAP_ENTRY(function) { #function, (GCallback) function }, -#define FUNC_MAP_END { NULL, NULL } }; - - -GladeXML *glade_xml_new_or_die(const gchar * name, const gchar * path, - const gchar * root, const gchar * domain); - -GtkWidget *glade_xml_get_widget_warn(GladeXML * xml, const gchar * name); - -void glade_xml_signal_autoconnect_map(GladeXML * xml, FuncMap * map); - -#endif diff -r 50bf02b4f048 -r 8d8699eb659d src/audacious/glade/prefswin.glade --- a/src/audacious/glade/prefswin.glade Sat Nov 24 14:48:01 2007 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4804 +0,0 @@ - - - - - - - 12 - Audacious Preferences - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER - False - 680 - 400 - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - False - - - - - True - False - 0 - - - - True - False - 8 - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - 172 - True - True - False - False - False - True - False - False - False - - - - - 0 - True - True - - - - - - True - False - False - GTK_POS_TOP - True - False - - - - True - False - 0 - - - - True - True - True - False - GTK_POS_TOP - False - False - - - - 12 - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 0 - 0 - - - - True - _Decoder list: - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 4 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - True - False - False - False - - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_START - 8 - - - - True - False - True - True - gtk-preferences - True - GTK_RELIEF_NORMAL - True - - - - - - True - False - True - True - gtk-dialog-info - True - GTK_RELIEF_NORMAL - True - - - - - 8 - False - False - - - - - False - True - - - - - - True - <span size="medium"><b>Decoders</b></span> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - 12 - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 0 - 0 - - - - True - _General plugin list: - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 4 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - True - False - False - False - - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_START - 8 - - - - True - False - True - True - gtk-preferences - True - GTK_RELIEF_NORMAL - True - - - - - - True - False - True - True - gtk-dialog-info - True - GTK_RELIEF_NORMAL - True - - - - - 8 - False - False - - - - - False - True - - - - - - True - <span size="medium"><b>General</b></span> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - 12 - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 0 - 0 - - - - True - _Visualization plugin list: - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 4 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - True - False - False - False - - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_START - 8 - - - - True - False - True - True - gtk-preferences - True - GTK_RELIEF_NORMAL - True - - - - - - True - False - True - True - gtk-dialog-info - True - GTK_RELIEF_NORMAL - True - - - - - 8 - False - False - - - - - False - True - - - - - - True - <b>Visualization</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - 12 - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 0 - 0 - - - - True - _Effect plugin list: - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 4 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - True - False - False - False - - - - - - 0 - True - True - - - - - - True - GTK_BUTTONBOX_START - 8 - - - - True - False - True - True - gtk-preferences - True - GTK_RELIEF_NORMAL - True - - - - - - True - False - True - True - gtk-dialog-info - True - GTK_RELIEF_NORMAL - True - - - - - 8 - False - False - - - - - False - True - - - - - - True - <b>Effects</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - 0 - True - True - - - - - False - True - - - - - - True - Plugins - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - False - 0 - - - - True - False - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 4 - 0 - 0 - - - - True - False - 0 - - - - True - <b>_Skin</b> - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - True - True - - - - - - True - True - GTK_RELIEF_NORMAL - True - - - - - True - gtk-properties - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - - True - Refresh skin list - GTK_RELIEF_HALF - False - - - - - True - gtk-refresh - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - 172 - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - GTK_POLICY_NEVER - GTK_POLICY_ALWAYS - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - 100 - True - True - True - False - False - True - False - False - False - - - - - - - - 0 - True - True - - - - - 0 - False - True - - - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 6 - 0 - 0 - - - - True - <b>_Fonts</b> - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - True - True - - - - - - True - 2 - 2 - False - 8 - 2 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 6 - - - - True - _Player: - True - True - GTK_JUSTIFY_LEFT - False - False - 1 - 0.5 - 0 - 0 - fontbutton1 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - 1 - 0 - 1 - - - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 6 - - - - True - _Playlist: - True - True - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - fontbutton2 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - 1 - 1 - 2 - - - - - - - - True - True - Select main player window font: - True - True - True - True - True - - - - - 1 - 2 - 0 - 1 - - - - - - - True - True - Select playlist font: - True - True - True - True - True - - - - - 1 - 2 - 1 - 2 - - - - - - 0 - True - True - - - - - - True - 0.5 - 0.5 - 1 - 1 - 4 - 0 - 12 - 0 - - - - True - Use bitmap fonts if they are available. Bitmap fonts do not support Unicode strings. - True - Use Bitmap fonts if available - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - True - True - - - - - 0 - False - True - - - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 6 - 0 - 0 - - - - True - <b>_Miscellaneous</b> - True - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - True - True - - - - - - True - 0.5 - 0.5 - 1 - 1 - 2 - 0 - 12 - 0 - - - - True - True - Show track numbers in playlist - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - True - True - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Show separators in playlist - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - True - True - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Use custom cursors - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - True - True - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - This enables the window manager to show decorations for windows. - True - Show window manager decoration - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - True - True - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - 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). - True - Use XMMS-style file selector instead of the default selector - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - True - True - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - 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. - True - Use two-way text scroller - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - True - True - - - - - 0 - False - True - - - - - 0 - True - True - - - - - False - True - - - - - - True - Appearance - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - <b>Mouse wheel</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - 2 - 3 - False - 6 - 0 - - - - True - True - 1 - 0 - True - GTK_UPDATE_ALWAYS - False - False - 5 0 100 1 10 10 - - - - - 1 - 2 - 0 - 1 - 4 - - - - - - - - True - lines - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 2 - 3 - 1 - 2 - - - - - - - - True - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 1 0 100 1 10 10 - - - - - 1 - 2 - 1 - 2 - 4 - - - - - - - - True - Scrolls playlist by - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - percent - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 2 - 3 - 0 - 1 - - - - - - - - True - Changes volume by - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - - - 0 - False - False - - - - - 0 - True - True - - - - - False - True - - - - - - True - Mouse - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - <b>Filename</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Convert underscores to blanks - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Convert %20 to blanks - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Convert backslash '\' to forward slash '/' - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Metadata</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - Load metadata (tag information) from music files. - True - Load metadata from playlists and files - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 24 - 0 - - - - True - False - 0 - - - - True - Load metadata when adding the file to the playlist or opening it - True - On load - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - 0 - False - False - - - - - - True - 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 - On display - True - GTK_RELIEF_NORMAL - True - False - False - True - playlist_metadata_on_load - - - - - 0 - False - False - - - - - - True - 2 - 2 - False - 0 - 0 - - - - True - Auto character encoding detector for: - False - False - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - - True - - False - True - - - - 1 - 2 - 0 - 1 - - - - - - - True - 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. - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 1 - 2 - - - - - - - True - Fallback character encodings: - False - False - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - 0 - True - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>File Dialog</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - Always refresh the file dialog (this will slow opening the dialog on large directories, and Gnome VFS should handle automatically). - True - Always refresh directory when opening file dialog - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Song Display</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - 2 - 3 - False - 4 - 12 - - - - True - Show information about titlestring format - GTK_RELIEF_HALF - False - - - - True - gtk-index - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 2 - 3 - 1 - 2 - - - - - - - - True - TITLE -ARTIST - TITLE -ARTIST - ALBUM - TITLE -ARTIST - ALBUM - TRACK. TITLE -ARTIST [ ALBUM ] - TRACK. TITLE -ALBUM - TITLE -Custom - False - True - - - 1 - 3 - 0 - 1 - - - - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 1 - 2 - - - - - - - True - Custom string: - False - False - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - Title format: - False - False - GTK_JUSTIFY_RIGHT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Popup Information</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - False - 12 - - - - True - False - 0 - - - - True - 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. - True - Show popup information for playlist entries - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - 0 - True - False - - - - - 0 - True - True - - - - - - True - Edit settings for popup information - GTK_RELIEF_HALF - True - - - - - True - gtk-properties - 4 - 0.5 - 0.5 - 0 - 0 - - - - - 0 - False - False - - - - - - - 0 - False - False - - - - - 0 - True - True - - - - - False - True - - - - - - True - Playlist - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 0 - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - <b>Presets</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - 2 - 2 - False - 6 - 6 - - - - True - File preset extension: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - Directory preset file: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 1 - 2 - - - - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 0 - 1 - - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 0 - 0 - - - - Available _Presets: - True - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - category_notebook - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_NONE - GTK_CORNER_TOP_LEFT - - - - False - True - True - False - False - True - False - False - False - - - - - - 0 - True - True - - - - - - True - False - 0 - - - - False - GTK_BUTTONBOX_END - 6 - - - - True - True - True - gtk-add - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - True - gtk-remove - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - True - True - - - - - 6 - False - False - - - - - 0 - True - True - - - - - - - 0 - True - True - - - - - False - True - - - - - - True - Equalizer - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - <b>Proxy Configuration</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - True - Enable proxy usage - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 2 - 2 - False - 6 - 6 - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 1 - 2 - - - - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 0 - 1 - - - - - - - True - Proxy port: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - Proxy hostname: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - True - Use authentication with proxy - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 2 - 2 - False - 6 - 6 - - - - True - True - True - False - 0 - - True - * - False - - - - - 1 - 2 - 1 - 2 - - - - - - - True - True - True - True - 0 - - True - * - False - - - - - 1 - 2 - 0 - 1 - - - - - - - True - Proxy password: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - Proxy username: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 6 - 0 - 0 - 0 - - - - True - False - 0 - - - - True - gtk-dialog-warning - 4 - 0.5 - 0.5 - 3 - 0 - - - 0 - False - False - - - - - - True - <span size="small">Changing these settings will require a restart of Audacious.</span> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - 0 - False - False - - - - - - - 0 - True - True - - - - - 0 - True - True - - - - - False - True - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - True - GTK_POLICY_NEVER - GTK_POLICY_ALWAYS - GTK_SHADOW_NONE - GTK_CORNER_TOP_LEFT - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - GTK_SHADOW_NONE - - - - True - False - 0 - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 12 - 0 - 0 - - - - True - <b>Audio System</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 12 - 0 - - - - True - False - 0 - - - - True - 3 - 2 - False - 6 - 6 - - - - True - gtk-info - 4 - 1 - 0 - 0 - 0 - - - 0 - 1 - 2 - 3 - - - - - - - True - Buffer size: - False - False - GTK_JUSTIFY_LEFT - False - False - 1 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - True - <span size="small">This is the amount of time to prebuffer audio streams by, in milliseconds. -Increase this value if you are experiencing audio skipping. -Please note however, that high values will result in Audacious performing poorly.</span> - False - True - GTK_JUSTIFY_LEFT - True - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 1 - 2 - 2 - 3 - - - - - - - - True - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 0 0 600000 100 1000 1000 - - - - - 1 - 2 - 1 - 2 - - - - - - - True - - False - True - - - - 1 - 2 - 0 - 1 - - - - - - - True - Current output plugin: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - 0 - False - False - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - GTK_BUTTONBOX_START - 8 - - - - True - False - True - True - GTK_RELIEF_NORMAL - True - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-preferences - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - Output Plugin Preferences - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - - - True - False - True - True - GTK_RELIEF_NORMAL - True - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-about - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - Output Plugin Information - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Format Detection</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - When checked, Audacious will detect file formats on demand. This can result in a messier playlist, but delivers a major speed benefit. - True - Detect file formats on demand, instead of immediately. - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - When checked, Audacious will detect file formats based by extension. Only files with extensions of supported formats will be loaded. - True - Detect file formats by extension. - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Playback</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - When Audacious starts, automatically begin playing from the point where we stopped before. - True - Continue playback on startup - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - When finished playing a song, don't automatically advance to the next. - True - Don't advance in the playlist - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Pause between songs - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 45 - 0 - - - - True - False - 0 - - - - True - Pause for - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 2 0 100 1 10 10 - - - - - 0 - False - False - - - - - - True - seconds - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 4 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Sampling Rate Converter</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - True - Enable Sampling Rate Converter - True - GTK_RELIEF_NORMAL - True - True - False - True - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 6 - 12 - 0 - - - - True - False - 0 - - - - True - 3 - 2 - False - 6 - 6 - - - - True - Best Sinc Interpolation -Medium Sinc Interpolation -Fastest Sinc Interpolation -ZOH Interpolation -Linear Interpolation - False - True - - - - - 1 - 2 - 1 - 2 - - - - - - - - True - Interpolation Engine: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 1 - 2 - - - - - - - - True - <span size="small">All streams will be converted to this sampling rate. -This should be the max supported sampling rate of -the sound card or output plugin.</span> - False - True - GTK_JUSTIFY_LEFT - True - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 1 - 2 - 2 - 3 - - - - - - - - True - gtk-info - 4 - 1 - 0 - 0 - 0 - - - 0 - 1 - 2 - 3 - - - - - - - True - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 96000 1000 768000 1000 1000 1000 - - - - - 1 - 2 - 0 - 1 - - - - - - - True - Sampling Rate [Hz]: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 1 - 0 - 1 - - - - - - - 0 - False - False - - - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 12 - 12 - 0 - 0 - - - - True - <b>Volume Control</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - 0 - False - False - - - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - Use software volume control. This may be useful for situations where your audio system does not support controlling the playback volume. - True - Use software volume control - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - - - - 0 - False - False - - - - - - - - - True - True - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - True - - - 6 - False - False - - - - - - True - False - 0 - - - - True - - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - GTK_BUTTONBOX_END - 6 - - - - True - True - GTK_RELIEF_NORMAL - True - - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-refresh - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - Reload Plugins - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - - - - True - True - True - gtk-close - True - GTK_RELIEF_NORMAL - True - - - - - - - 0 - True - True - - - - - 0 - False - False - - - - - - - diff -r 50bf02b4f048 -r 8d8699eb659d src/audacious/ui_preferences.c --- a/src/audacious/ui_preferences.c Sat Nov 24 14:48:01 2007 +0100 +++ b/src/audacious/ui_preferences.c Sat Nov 24 17:09:11 2007 +0100 @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include @@ -37,8 +36,7 @@ #include #include #include - -#include "glade.h" +#include #include "plugin.h" #include "pluginenum.h" @@ -122,6 +120,12 @@ GtkWidget *filepopup_settings_showprogressbar; GtkWidget *filepopup_settings_delay; +/* prefswin widgets */ +GtkWidget *titlestring_entry; +GtkWidget *skin_view; +GtkWidget *skin_refresh_button; +GtkWidget *filepopup_for_tuple_settings_button; + static Category categories[] = { {DATA_DIR "/images/appearance.png", N_("Appearance"), 1}, {DATA_DIR "/images/audio.png", N_("Audio"), 6}, @@ -176,12 +180,6 @@ static void create_colorize_settings(void); static void prefswin_page_queue_destroy(CategoryQueueEntry *ent); -static GladeXML * -prefswin_get_xml(void) -{ - return GLADE_XML(g_object_get_data(G_OBJECT(prefswin), "glade-xml")); -} - static void change_category(GtkNotebook * notebook, GtkTreeSelection * selection) @@ -200,14 +198,9 @@ void prefswin_set_category(gint index) { - GladeXML *xml; - GtkWidget *notebook; - g_return_if_fail(index >= 0 && index < n_categories); - xml = prefswin_get_xml(); - notebook = glade_xml_get_widget(xml, "category_view"); - gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), index); + gtk_notebook_set_current_page(GTK_NOTEBOOK(category_treeview), index); } static void @@ -448,24 +441,19 @@ gpointer data) { const gchar *separator = " - "; - GladeXML *xml; - GtkWidget *entry; gint item = GPOINTER_TO_INT(data); gint pos; - - xml = prefswin_get_xml(); - entry = glade_xml_get_widget(xml, "titlestring_entry"); - - pos = gtk_editable_get_position(GTK_EDITABLE(entry)); + + pos = gtk_editable_get_position(GTK_EDITABLE(titlestring_entry)); /* insert separator as needed */ - if (g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry)), -1) > 0) - editable_insert_text(GTK_EDITABLE(entry), separator, &pos); - - editable_insert_text(GTK_EDITABLE(entry), _(title_field_tags[item].tag), + if (g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(titlestring_entry)), -1) > 0) + editable_insert_text(GTK_EDITABLE(titlestring_entry), separator, &pos); + + editable_insert_text(GTK_EDITABLE(titlestring_entry), _(title_field_tags[item].tag), &pos); - gtk_editable_set_position(GTK_EDITABLE(entry), pos); + gtk_editable_set_position(GTK_EDITABLE(titlestring_entry), pos); } static void @@ -1284,58 +1272,29 @@ } -/* FIXME: implement these */ - -static void -on_eq_preset_view_realize(GtkTreeView * treeview, - gpointer data) -{} - -static void -on_eq_preset_add_clicked(GtkButton * button, - gpointer data) -{} - -static void -on_eq_preset_remove_clicked(GtkButton * button, - gpointer data) -{} - static void on_skin_refresh_button_clicked(GtkButton * button, gpointer data) { - GladeXML *xml; - GtkWidget *widget, *widget2; - const mode_t mode755 = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; del_directory(bmp_paths[BMP_PATH_SKIN_THUMB_DIR]); make_directory(bmp_paths[BMP_PATH_SKIN_THUMB_DIR], mode755); - xml = prefswin_get_xml(); - - widget = glade_xml_get_widget(xml, "skin_view"); - widget2 = glade_xml_get_widget(xml, "skin_refresh_button"); - skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(widget2)); + skin_view_update(GTK_TREE_VIEW(skin_view), GTK_WIDGET(skin_refresh_button)); } static gboolean on_skin_view_realize(GtkTreeView * treeview, gpointer data) { - GladeXML *xml; - GtkWidget *widget; - - xml = prefswin_get_xml(); - widget = glade_xml_get_widget(xml, "skin_refresh_button"); skin_view_realize(treeview); return TRUE; } static void -on_category_view_realize(GtkTreeView * treeview, +on_category_treeview_realize(GtkTreeView * treeview, GtkNotebook * notebook) { GtkListStore *store; @@ -1404,9 +1363,6 @@ ConfigDb *db; gchar *path; - GladeXML *xml; - GtkWidget *widget2; - if (!selection_data->data) { g_warning("DND data string is NULL"); return; @@ -1427,9 +1383,7 @@ if (file_is_archive(path)) { bmp_active_skin_load(path); skin_install_skin(path); - xml = prefswin_get_xml(); - widget2 = glade_xml_get_widget(xml, "skin_refresh_button"); - skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(widget2)); + skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(skin_refresh_button)); /* Change skin name in the config file */ db = cfg_db_open(); cfg_db_set_string(db, NULL, "skin", path); @@ -1544,24 +1498,18 @@ static void on_show_filepopup_for_tuple_realize(GtkToggleButton * button, gpointer data) { - GladeXML *xml = prefswin_get_xml(); - GtkWidget *settings_button = glade_xml_get_widget(xml, "filepopup_for_tuple_settings_button"); - gtk_toggle_button_set_active(button, cfg.show_filepopup_for_tuple); - filepopupbutton = (GtkWidget *)button; - - gtk_widget_set_sensitive(settings_button, cfg.show_filepopup_for_tuple); + filepopupbutton = GTK_WIDGET(button); + + gtk_widget_set_sensitive(filepopup_for_tuple_settings_button, cfg.show_filepopup_for_tuple); } static void on_show_filepopup_for_tuple_toggled(GtkToggleButton * button, gpointer data) { - GladeXML *xml = prefswin_get_xml(); - GtkWidget *settings_button = glade_xml_get_widget(xml, "filepopup_for_tuple_settings_button"); - cfg.show_filepopup_for_tuple = gtk_toggle_button_get_active(button); - gtk_widget_set_sensitive(settings_button, cfg.show_filepopup_for_tuple); + gtk_widget_set_sensitive(filepopup_for_tuple_settings_button, cfg.show_filepopup_for_tuple); } static void @@ -1719,110 +1667,6 @@ //XXX need to redraw textbox? --yaz } -/* FIXME: complete the map */ -FUNC_MAP_BEGIN(prefswin_func_map) - FUNC_MAP_ENTRY(on_input_plugin_view_realize) - FUNC_MAP_ENTRY(on_output_plugin_cbox_realize) - FUNC_MAP_ENTRY(on_general_plugin_view_realize) - FUNC_MAP_ENTRY(on_vis_plugin_view_realize) - FUNC_MAP_ENTRY(on_effect_plugin_view_realize) - FUNC_MAP_ENTRY(on_custom_cursors_realize) - FUNC_MAP_ENTRY(on_custom_cursors_toggled) - FUNC_MAP_ENTRY(on_mainwin_font_button_realize) - FUNC_MAP_ENTRY(on_mainwin_font_button_font_set) - FUNC_MAP_ENTRY(on_use_bitmap_fonts_realize) - FUNC_MAP_ENTRY(on_use_bitmap_fonts_toggled) - FUNC_MAP_ENTRY(on_mouse_wheel_volume_realize) - FUNC_MAP_ENTRY(on_mouse_wheel_volume_changed) - FUNC_MAP_ENTRY(on_mouse_wheel_scroll_pl_realize) - FUNC_MAP_ENTRY(on_mouse_wheel_scroll_pl_changed) - FUNC_MAP_ENTRY(on_pause_between_songs_time_realize) - FUNC_MAP_ENTRY(on_pause_between_songs_time_changed) - FUNC_MAP_ENTRY(on_enable_src_realize) - FUNC_MAP_ENTRY(on_enable_src_toggled) - FUNC_MAP_ENTRY(on_src_rate_realize) - FUNC_MAP_ENTRY(on_src_rate_value_changed) - FUNC_MAP_ENTRY(on_src_converter_type_realize) - FUNC_MAP_ENTRY(on_src_converter_type_changed) - FUNC_MAP_ENTRY(on_pl_metadata_on_load_realize) - FUNC_MAP_ENTRY(on_pl_metadata_on_load_toggled) - FUNC_MAP_ENTRY(on_pl_metadata_on_display_realize) - FUNC_MAP_ENTRY(on_pl_metadata_on_display_toggled) - FUNC_MAP_ENTRY(on_playlist_show_pl_numbers_realize) - FUNC_MAP_ENTRY(on_playlist_show_pl_numbers_toggled) - FUNC_MAP_ENTRY(on_playlist_show_pl_separator_realize) - FUNC_MAP_ENTRY(on_playlist_show_pl_separator_toggled) - FUNC_MAP_ENTRY(on_playlist_convert_twenty_realize) - FUNC_MAP_ENTRY(on_playlist_convert_twenty_toggled) - FUNC_MAP_ENTRY(on_playlist_convert_underscore_realize) - FUNC_MAP_ENTRY(on_playlist_convert_underscore_toggled) - FUNC_MAP_ENTRY(on_playlist_convert_slash_realize) - FUNC_MAP_ENTRY(on_playlist_convert_slash_toggled) - FUNC_MAP_ENTRY(on_playlist_font_button_realize) - FUNC_MAP_ENTRY(on_playlist_font_button_font_set) - FUNC_MAP_ENTRY(on_playlist_no_advance_realize) - FUNC_MAP_ENTRY(on_playlist_no_advance_toggled) - FUNC_MAP_ENTRY(on_refresh_file_list_realize) - FUNC_MAP_ENTRY(on_refresh_file_list_toggled) - FUNC_MAP_ENTRY(on_skin_view_realize) - FUNC_MAP_ENTRY(on_titlestring_entry_realize) - FUNC_MAP_ENTRY(on_titlestring_entry_changed) - FUNC_MAP_ENTRY(on_eq_dir_preset_entry_realize) - FUNC_MAP_ENTRY(on_eq_dir_preset_entry_changed) - FUNC_MAP_ENTRY(on_eq_file_preset_entry_realize) - FUNC_MAP_ENTRY(on_eq_file_preset_entry_changed) - FUNC_MAP_ENTRY(on_eq_preset_view_realize) - FUNC_MAP_ENTRY(on_eq_preset_add_clicked) - FUNC_MAP_ENTRY(on_eq_preset_remove_clicked) - FUNC_MAP_ENTRY(on_skin_refresh_button_clicked) - FUNC_MAP_ENTRY(on_proxy_use_toggled) - FUNC_MAP_ENTRY(on_proxy_use_realize) - FUNC_MAP_ENTRY(on_proxy_auth_toggled) - FUNC_MAP_ENTRY(on_proxy_auth_realize) - FUNC_MAP_ENTRY(on_proxy_host_realize) - FUNC_MAP_ENTRY(on_proxy_host_changed) - FUNC_MAP_ENTRY(on_proxy_port_realize) - FUNC_MAP_ENTRY(on_proxy_port_changed) - FUNC_MAP_ENTRY(on_proxy_user_realize) - FUNC_MAP_ENTRY(on_proxy_user_changed) - FUNC_MAP_ENTRY(on_proxy_pass_realize) - FUNC_MAP_ENTRY(on_proxy_pass_changed) - FUNC_MAP_ENTRY(on_chardet_detector_cbox_realize) - FUNC_MAP_ENTRY(on_chardet_detector_cbox_changed) - FUNC_MAP_ENTRY(on_chardet_fallback_realize) - FUNC_MAP_ENTRY(on_chardet_fallback_changed) - FUNC_MAP_ENTRY(on_output_plugin_bufsize_realize) - FUNC_MAP_ENTRY(on_output_plugin_bufsize_value_changed) - FUNC_MAP_ENTRY(on_audio_format_det_cb_toggled) - FUNC_MAP_ENTRY(on_audio_format_det_cb_realize) - FUNC_MAP_ENTRY(on_detect_by_extension_cb_toggled) - FUNC_MAP_ENTRY(on_detect_by_extension_cb_realize) - FUNC_MAP_ENTRY(on_show_filepopup_for_tuple_realize) - FUNC_MAP_ENTRY(on_show_filepopup_for_tuple_toggled) - FUNC_MAP_ENTRY(on_filepopup_for_tuple_settings_clicked) - FUNC_MAP_ENTRY(on_continue_playback_on_startup_realize) - FUNC_MAP_ENTRY(on_continue_playback_on_startup_toggled) - FUNC_MAP_ENTRY(on_software_volume_control_realize) - FUNC_MAP_ENTRY(on_software_volume_control_toggled) - - /* XMMS fileselector option -nenolod */ - FUNC_MAP_ENTRY(on_xmms_style_fileselector_toggled) - FUNC_MAP_ENTRY(on_xmms_style_fileselector_realize) - - /* show window manager decorations */ - FUNC_MAP_ENTRY(on_show_wm_decorations_toggled) - FUNC_MAP_ENTRY(on_show_wm_decorations_realize) - - /* two-way scroller */ - FUNC_MAP_ENTRY(on_twoway_scroller_toggled) - FUNC_MAP_ENTRY(on_twoway_scroller_realize) - - /* colorize */ - FUNC_MAP_ENTRY(on_colorize_button_clicked) - - FUNC_MAP_ENTRY(on_reload_plugins_clicked) -FUNC_MAP_END - void create_colorize_settings(void) { @@ -1907,7 +1751,7 @@ GTK_WIDGET_SET_FLAGS(colorize_close, GTK_CAN_DEFAULT); g_signal_connect((gpointer) red_scale, "value_changed", - G_CALLBACK (on_red_scale_value_changed), + G_CALLBACK(on_red_scale_value_changed), NULL); g_signal_connect((gpointer) green_scale, "value_changed", G_CALLBACK(on_green_scale_value_changed), @@ -2094,200 +1938,1852 @@ void create_prefs_window(void) { - const gchar *glade_file = DATA_DIR "/glade/prefswin.glade"; - - GladeXML *xml; - GtkWidget *widget, *widget2; gchar *aud_version_string; GtkWidget *titlestring_tag_menu, *menu_item; guint i; - - /* load the interface */ - xml = glade_xml_new_or_die(_("Preferences Window"), glade_file, NULL, - NULL); - - - /* connect the signals in the interface */ - glade_xml_signal_autoconnect_map(xml, prefswin_func_map); - - prefswin = glade_xml_get_widget(xml, "prefswin"); - g_object_set_data(G_OBJECT(prefswin), "glade-xml", xml); + + GtkWidget *vbox; + GtkWidget *hbox1; + GtkWidget *scrolledwindow6; + GtkWidget *category_notebook; + GtkWidget *plugin_page_vbox; + GtkWidget *plugin_notebook; + GtkWidget *plugin_input_vbox; + GtkWidget *alignment43; + GtkWidget *input_plugin_list_label; + GtkWidget *scrolledwindow3; + GtkWidget *input_plugin_view; + GtkWidget *input_plugin_button_box; + GtkWidget *input_plugin_prefs; + GtkWidget *input_plugin_info; + GtkWidget *plugin_input_label; + GtkWidget *plugin_general_vbox; + GtkWidget *alignment45; + GtkWidget *label11; + GtkWidget *scrolledwindow5; + GtkWidget *general_plugin_view; + GtkWidget *general_plugin_button_box; + GtkWidget *general_plugin_prefs; + GtkWidget *general_plugin_info; + GtkWidget *plugin_general_label; + GtkWidget *vbox21; + GtkWidget *alignment46; + GtkWidget *label53; + GtkWidget *scrolledwindow7; + GtkWidget *vis_plugin_view; + GtkWidget *hbuttonbox6; + GtkWidget *vis_plugin_prefs; + GtkWidget *vis_plugin_info; + GtkWidget *vis_label; + GtkWidget *vbox25; + GtkWidget *alignment58; + GtkWidget *label64; + GtkWidget *scrolledwindow9; + GtkWidget *effect_plugin_view; + GtkWidget *hbuttonbox9; + GtkWidget *effect_plugin_prefs; + GtkWidget *effect_plugin_info; + GtkWidget *effects_label; + GtkWidget *plugin_label; + GtkWidget *appearance_page_vbox; + GtkWidget *vbox37; + GtkWidget *vbox38; + GtkWidget *hbox12; + GtkWidget *alignment94; + GtkWidget *hbox13; + GtkWidget *label103; + GtkWidget *colorspace_button; + GtkWidget *image11; + GtkWidget *image12; + GtkWidget *alignment95; + GtkWidget *skin_view_scrolled_window; + GtkWidget *vbox39; + GtkWidget *alignment96; + GtkWidget *label104; + GtkWidget *table14; + GtkWidget *alignment97; + GtkWidget *label105; + GtkWidget *alignment98; + GtkWidget *label106; + GtkWidget *fontbutton1; + GtkWidget *fontbutton2; + GtkWidget *alignment99; + GtkWidget *checkbutton11; + GtkWidget *vbox40; + GtkWidget *alignment100; + GtkWidget *label107; + GtkWidget *alignment101; + GtkWidget *playlist_show_pl_numbers; + GtkWidget *alignment102; + GtkWidget *playlist_show_pl_separator; + GtkWidget *alignment103; + GtkWidget *checkbutton14; + GtkWidget *alignment104; + GtkWidget *show_wm_decorations; + GtkWidget *alignment105; + GtkWidget *xmms_style_fileselector_cb1; + GtkWidget *alignment106; + GtkWidget *checkbutton17; + GtkWidget *appearance_label; + GtkWidget *mouse_page_vbox; + GtkWidget *vbox20; + GtkWidget *alignment36; + GtkWidget *label51; + GtkWidget *alignment34; + GtkWidget *table4; + GtkObject *mouse_wheel_volume_adj; + GtkWidget *mouse_wheel_volume; + GtkWidget *label35; + GtkObject *mouse_wheel_scroll_pl_adj; + GtkWidget *mouse_wheel_scroll_pl; + GtkWidget *label34; + GtkWidget *label33; + GtkWidget *label32; + GtkWidget *mouse_label; + GtkWidget *playlist_page_vbox; + GtkWidget *vbox5; + GtkWidget *alignment14; + GtkWidget *label38; + GtkWidget *alignment12; + GtkWidget *playlist_convert_underscore; + GtkWidget *alignment13; + GtkWidget *playlist_convert_twenty; + GtkWidget *alignment88; + GtkWidget *playlist_convert_slash; + GtkWidget *alignment15; + GtkWidget *label39; + GtkWidget *alignment16; + GtkWidget *playlist_use_metadata; + GtkWidget *alignment18; + GtkWidget *playlist_use_metadata_box; + GtkWidget *playlist_metadata_on_load; + GSList *playlist_metadata_on_load_group = NULL; + GtkWidget *playlist_metadata_on_display; + GtkWidget *table10; + GtkWidget *label73; + GtkWidget *combobox1; + GtkWidget *entry1; + GtkWidget *label74; + GtkWidget *alignment19; + GtkWidget *label40; + GtkWidget *alignment20; + GtkWidget *refresh_file_list; + GtkWidget *alignment55; + GtkWidget *label60; + GtkWidget *alignment56; + GtkWidget *table6; + GtkWidget *titlestring_help_button; + GtkWidget *image1; + GtkWidget *titlestring_cbox; + GtkWidget *label62; + GtkWidget *label61; + GtkWidget *alignment85; + GtkWidget *label84; + GtkWidget *alignment86; + GtkWidget *hbox9; + GtkWidget *vbox34; + GtkWidget *checkbutton10; + GtkWidget *image8; + GtkWidget *playlist_label; + GtkWidget *equalizer_page_vbox; + GtkWidget *alignment28; + GtkWidget *vbox22; + GtkWidget *alignment30; + GtkWidget *equalizer_page_label; + GtkWidget *vbox23; + GtkWidget *alignment33; + GtkWidget *table5; + GtkWidget *label58; + GtkWidget *label57; + GtkWidget *eq_file_preset_entry; + GtkWidget *eq_dir_preset_entry; + GtkWidget *equalizer_label; + GtkWidget *connectivity_page_vbox; + GtkWidget *vbox29; + GtkWidget *alignment63; + GtkWidget *connectivity_page_label; + GtkWidget *alignment68; + GtkWidget *vbox30; + GtkWidget *alignment65; + GtkWidget *proxy_use; + GtkWidget *table8; + GtkWidget *proxy_port; + GtkWidget *proxy_host; + GtkWidget *label69; + GtkWidget *label68; + GtkWidget *alignment67; + GtkWidget *proxy_auth; + GtkWidget *table9; + GtkWidget *proxy_pass; + GtkWidget *proxy_user; + GtkWidget *label71; + GtkWidget *label70; + GtkWidget *alignment72; + GtkWidget *hbox6; + GtkWidget *image4; + GtkWidget *label75; + GtkWidget *label95; + GtkWidget *empty_notebook_page; + GtkWidget *label96; + GtkWidget *audio_scrolled_window; + GtkWidget *audio_page_viewport; + GtkWidget *audio_page_vbox; + GtkWidget *alignment74; + GtkWidget *label77; + GtkWidget *alignment73; + GtkWidget *vbox33; + GtkWidget *table11; + GtkWidget *image7; + GtkWidget *label79; + GtkWidget *label82; + GtkObject *output_plugin_bufsize_adj; + GtkWidget *output_plugin_bufsize; + GtkWidget *output_plugin_cbox; + GtkWidget *label78; + GtkWidget *alignment82; + GtkWidget *output_plugin_button_box; + GtkWidget *output_plugin_prefs; + GtkWidget *alignment76; + GtkWidget *hbox7; + GtkWidget *image5; + GtkWidget *label80; + GtkWidget *output_plugin_info; + GtkWidget *alignment77; + GtkWidget *hbox8; + GtkWidget *image6; + GtkWidget *label81; + GtkWidget *alignment78; + GtkWidget *label83; + GtkWidget *alignment84; + GtkWidget *audio_format_det_cb; + GtkWidget *alignment89; + GtkWidget *detect_by_extension_cb; + GtkWidget *alignment83; + GtkWidget *continue_playback_on_startup; + GtkWidget *alignment79; + GtkWidget *playlist_no_advance; + GtkWidget *alignment80; + GtkWidget *pause_between_songs; + GtkWidget *alignment22; + GtkWidget *pause_between_songs_box; + GtkWidget *label41; + GtkObject *pause_between_songs_time_adj; + GtkWidget *pause_between_songs_time; + GtkWidget *label42; + GtkWidget *alignment90; + GtkWidget *label93; + GtkWidget *alignment92; + GtkWidget *enable_src; + GtkWidget *alignment91; + GtkWidget *vbox36; + GtkWidget *table13; + GtkWidget *src_converter_type; + GtkWidget *label94; + GtkWidget *label92; + GtkWidget *image9; + GtkObject *src_rate_adj; + GtkWidget *src_rate; + GtkWidget *label91; + GtkWidget *alignment4; + GtkWidget *label2; + GtkWidget *alignment7; + GtkWidget *software_volume_control; + GtkWidget *hseparator1; + GtkWidget *hbox4; + GtkWidget *audversionlabel; + GtkWidget *prefswin_button_box; + GtkWidget *reload_plugins; + GtkWidget *alignment93; + GtkWidget *hbox11; + GtkWidget *image10; + GtkWidget *label102; + GtkWidget *close; + GtkAccelGroup *accel_group; + GtkTooltips *tooltips; + + tooltips = gtk_tooltips_new (); + + accel_group = gtk_accel_group_new (); + + prefswin = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_container_set_border_width (GTK_CONTAINER (prefswin), 12); + gtk_window_set_title (GTK_WINDOW (prefswin), _("Audacious Preferences")); + gtk_window_set_position (GTK_WINDOW (prefswin), GTK_WIN_POS_CENTER); + gtk_window_set_default_size (GTK_WINDOW (prefswin), 680, 400); + + vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (prefswin), vbox); + + hbox1 = gtk_hbox_new (FALSE, 8); + gtk_box_pack_start (GTK_BOX (vbox), hbox1, TRUE, TRUE, 0); + + scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL); + gtk_box_pack_start (GTK_BOX (hbox1), scrolledwindow6, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_SHADOW_IN); + + category_treeview = gtk_tree_view_new (); + gtk_container_add (GTK_CONTAINER (scrolledwindow6), category_treeview); + gtk_widget_set_size_request (category_treeview, 172, -1); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (category_treeview), FALSE); + + category_notebook = gtk_notebook_new (); + gtk_box_pack_start (GTK_BOX (hbox1), category_notebook, TRUE, TRUE, 0); + GTK_WIDGET_UNSET_FLAGS (category_notebook, GTK_CAN_FOCUS); + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (category_notebook), FALSE); + gtk_notebook_set_show_border (GTK_NOTEBOOK (category_notebook), FALSE); + gtk_notebook_set_scrollable (GTK_NOTEBOOK (category_notebook), TRUE); + + plugin_page_vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (category_notebook), plugin_page_vbox); + + plugin_notebook = gtk_notebook_new (); + gtk_box_pack_start (GTK_BOX (plugin_page_vbox), plugin_notebook, TRUE, TRUE, 0); + gtk_notebook_set_show_border (GTK_NOTEBOOK (plugin_notebook), FALSE); + + plugin_input_vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (plugin_notebook), plugin_input_vbox); + gtk_container_set_border_width (GTK_CONTAINER (plugin_input_vbox), 12); + + alignment43 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (plugin_input_vbox), alignment43, FALSE, FALSE, 4); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment43), 0, 6, 0, 0); + + input_plugin_list_label = gtk_label_new_with_mnemonic (_("_Decoder list:")); + gtk_container_add (GTK_CONTAINER (alignment43), input_plugin_list_label); + gtk_label_set_use_markup (GTK_LABEL (input_plugin_list_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (input_plugin_list_label), 0, 0.5); + + scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); + gtk_box_pack_start (GTK_BOX (plugin_input_vbox), scrolledwindow3, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_SHADOW_IN); + + input_plugin_view = gtk_tree_view_new (); + gtk_container_add (GTK_CONTAINER (scrolledwindow3), input_plugin_view); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (input_plugin_view), TRUE); + gtk_tree_view_set_reorderable (GTK_TREE_VIEW (input_plugin_view), TRUE); + + input_plugin_button_box = gtk_hbutton_box_new (); + gtk_box_pack_start (GTK_BOX (plugin_input_vbox), input_plugin_button_box, FALSE, FALSE, 8); + gtk_button_box_set_layout (GTK_BUTTON_BOX (input_plugin_button_box), GTK_BUTTONBOX_START); + gtk_box_set_spacing (GTK_BOX (input_plugin_button_box), 8); + + input_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); + gtk_container_add (GTK_CONTAINER (input_plugin_button_box), input_plugin_prefs); + gtk_widget_set_sensitive (input_plugin_prefs, FALSE); + GTK_WIDGET_SET_FLAGS (input_plugin_prefs, GTK_CAN_DEFAULT); + + input_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); + gtk_container_add (GTK_CONTAINER (input_plugin_button_box), input_plugin_info); + gtk_widget_set_sensitive (input_plugin_info, FALSE); + GTK_WIDGET_SET_FLAGS (input_plugin_info, GTK_CAN_DEFAULT); + + plugin_input_label = gtk_label_new (_("Decoders")); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 0), plugin_input_label); + gtk_label_set_use_markup (GTK_LABEL (plugin_input_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (plugin_input_label), 0, 0); + + plugin_general_vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (plugin_notebook), plugin_general_vbox); + gtk_container_set_border_width (GTK_CONTAINER (plugin_general_vbox), 12); + + alignment45 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (plugin_general_vbox), alignment45, FALSE, FALSE, 4); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment45), 0, 6, 0, 0); + + label11 = gtk_label_new_with_mnemonic (_("_General plugin list:")); + gtk_container_add (GTK_CONTAINER (alignment45), label11); + gtk_label_set_use_markup (GTK_LABEL (label11), TRUE); + gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5); + + scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); + gtk_box_pack_start (GTK_BOX (plugin_general_vbox), scrolledwindow5, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_SHADOW_IN); + + general_plugin_view = gtk_tree_view_new (); + gtk_container_add (GTK_CONTAINER (scrolledwindow5), general_plugin_view); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (general_plugin_view), TRUE); + gtk_tree_view_set_reorderable (GTK_TREE_VIEW (general_plugin_view), TRUE); + + general_plugin_button_box = gtk_hbutton_box_new (); + gtk_box_pack_start (GTK_BOX (plugin_general_vbox), general_plugin_button_box, FALSE, FALSE, 8); + gtk_button_box_set_layout (GTK_BUTTON_BOX (general_plugin_button_box), GTK_BUTTONBOX_START); + gtk_box_set_spacing (GTK_BOX (general_plugin_button_box), 8); + + general_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); + gtk_container_add (GTK_CONTAINER (general_plugin_button_box), general_plugin_prefs); + gtk_widget_set_sensitive (general_plugin_prefs, FALSE); + GTK_WIDGET_SET_FLAGS (general_plugin_prefs, GTK_CAN_DEFAULT); + + general_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); + gtk_container_add (GTK_CONTAINER (general_plugin_button_box), general_plugin_info); + gtk_widget_set_sensitive (general_plugin_info, FALSE); + GTK_WIDGET_SET_FLAGS (general_plugin_info, GTK_CAN_DEFAULT); + + plugin_general_label = gtk_label_new (_("General")); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 1), plugin_general_label); + gtk_label_set_use_markup (GTK_LABEL (plugin_general_label), TRUE); + + vbox21 = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (plugin_notebook), vbox21); + gtk_container_set_border_width (GTK_CONTAINER (vbox21), 12); + + alignment46 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox21), alignment46, FALSE, FALSE, 4); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment46), 0, 6, 0, 0); + + label53 = gtk_label_new_with_mnemonic (_("_Visualization plugin list:")); + gtk_container_add (GTK_CONTAINER (alignment46), label53); + gtk_label_set_use_markup (GTK_LABEL (label53), TRUE); + gtk_misc_set_alignment (GTK_MISC (label53), 0, 0.5); + + scrolledwindow7 = gtk_scrolled_window_new (NULL, NULL); + gtk_box_pack_start (GTK_BOX (vbox21), scrolledwindow7, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow7), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow7), GTK_SHADOW_IN); + + vis_plugin_view = gtk_tree_view_new (); + gtk_container_add (GTK_CONTAINER (scrolledwindow7), vis_plugin_view); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (vis_plugin_view), TRUE); + gtk_tree_view_set_reorderable (GTK_TREE_VIEW (vis_plugin_view), TRUE); + + hbuttonbox6 = gtk_hbutton_box_new (); + gtk_box_pack_start (GTK_BOX (vbox21), hbuttonbox6, FALSE, FALSE, 8); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox6), GTK_BUTTONBOX_START); + gtk_box_set_spacing (GTK_BOX (hbuttonbox6), 8); + + vis_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); + gtk_container_add (GTK_CONTAINER (hbuttonbox6), vis_plugin_prefs); + gtk_widget_set_sensitive (vis_plugin_prefs, FALSE); + GTK_WIDGET_SET_FLAGS (vis_plugin_prefs, GTK_CAN_DEFAULT); + + vis_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); + gtk_container_add (GTK_CONTAINER (hbuttonbox6), vis_plugin_info); + gtk_widget_set_sensitive (vis_plugin_info, FALSE); + GTK_WIDGET_SET_FLAGS (vis_plugin_info, GTK_CAN_DEFAULT); + + vis_label = gtk_label_new (_("Visualization")); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 2), vis_label); + gtk_label_set_use_markup (GTK_LABEL (vis_label), TRUE); + + vbox25 = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (plugin_notebook), vbox25); + gtk_container_set_border_width (GTK_CONTAINER (vbox25), 12); + + alignment58 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox25), alignment58, FALSE, FALSE, 4); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment58), 0, 6, 0, 0); + + label64 = gtk_label_new_with_mnemonic (_("_Effect plugin list:")); + gtk_container_add (GTK_CONTAINER (alignment58), label64); + gtk_label_set_use_markup (GTK_LABEL (label64), TRUE); + gtk_misc_set_alignment (GTK_MISC (label64), 0, 0.5); + + scrolledwindow9 = gtk_scrolled_window_new (NULL, NULL); + gtk_box_pack_start (GTK_BOX (vbox25), scrolledwindow9, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_SHADOW_IN); + + effect_plugin_view = gtk_tree_view_new (); + gtk_container_add (GTK_CONTAINER (scrolledwindow9), effect_plugin_view); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (effect_plugin_view), TRUE); + gtk_tree_view_set_reorderable (GTK_TREE_VIEW (effect_plugin_view), TRUE); + + hbuttonbox9 = gtk_hbutton_box_new (); + gtk_box_pack_start (GTK_BOX (vbox25), hbuttonbox9, FALSE, FALSE, 8); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox9), GTK_BUTTONBOX_START); + gtk_box_set_spacing (GTK_BOX (hbuttonbox9), 8); + + effect_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); + gtk_container_add (GTK_CONTAINER (hbuttonbox9), effect_plugin_prefs); + gtk_widget_set_sensitive (effect_plugin_prefs, FALSE); + GTK_WIDGET_SET_FLAGS (effect_plugin_prefs, GTK_CAN_DEFAULT); + + effect_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); + gtk_container_add (GTK_CONTAINER (hbuttonbox9), effect_plugin_info); + gtk_widget_set_sensitive (effect_plugin_info, FALSE); + GTK_WIDGET_SET_FLAGS (effect_plugin_info, GTK_CAN_DEFAULT); + + effects_label = gtk_label_new (_("Effects")); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 3), effects_label); + gtk_label_set_use_markup (GTK_LABEL (effects_label), TRUE); + + plugin_label = gtk_label_new (_("Plugins")); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 0), plugin_label); + + appearance_page_vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (category_notebook), appearance_page_vbox); + + vbox37 = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (appearance_page_vbox), vbox37, TRUE, TRUE, 0); + + vbox38 = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox37), vbox38, FALSE, TRUE, 0); + + hbox12 = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox38), hbox12, TRUE, TRUE, 0); + + alignment94 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (hbox12), alignment94, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment94), 0, 4, 0, 0); + + hbox13 = gtk_hbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (alignment94), hbox13); + + label103 = gtk_label_new_with_mnemonic (_("_Skin")); + gtk_box_pack_start (GTK_BOX (hbox13), label103, TRUE, TRUE, 0); + gtk_label_set_use_markup (GTK_LABEL (label103), TRUE); + gtk_misc_set_alignment (GTK_MISC (label103), 0, 0); + + colorspace_button = gtk_button_new (); + gtk_box_pack_start (GTK_BOX (hbox13), colorspace_button, FALSE, FALSE, 0); + + image11 = gtk_image_new_from_stock ("gtk-properties", GTK_ICON_SIZE_BUTTON); + gtk_container_add (GTK_CONTAINER (colorspace_button), image11); + + skin_refresh_button = gtk_button_new (); + gtk_box_pack_start (GTK_BOX (hbox13), skin_refresh_button, FALSE, FALSE, 0); + GTK_WIDGET_UNSET_FLAGS (skin_refresh_button, GTK_CAN_FOCUS); + gtk_tooltips_set_tip (tooltips, skin_refresh_button, _("Refresh skin list"), NULL); + gtk_button_set_relief (GTK_BUTTON (skin_refresh_button), GTK_RELIEF_HALF); + gtk_button_set_focus_on_click (GTK_BUTTON (skin_refresh_button), FALSE); + + image12 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON); + gtk_container_add (GTK_CONTAINER (skin_refresh_button), image12); + + alignment95 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox38), alignment95, TRUE, TRUE, 0); + gtk_widget_set_size_request (alignment95, -1, 172); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment95), 0, 0, 12, 0); + + skin_view_scrolled_window = gtk_scrolled_window_new (NULL, NULL); + gtk_container_add (GTK_CONTAINER (alignment95), skin_view_scrolled_window); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (skin_view_scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (skin_view_scrolled_window), GTK_SHADOW_IN); + + skin_view = gtk_tree_view_new (); + gtk_container_add (GTK_CONTAINER (skin_view_scrolled_window), skin_view); + gtk_widget_set_size_request (skin_view, -1, 100); + + vbox39 = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox37), vbox39, FALSE, TRUE, 0); + + alignment96 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox39), alignment96, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment96), 12, 6, 0, 0); + + label104 = gtk_label_new_with_mnemonic (_("_Fonts")); + gtk_container_add (GTK_CONTAINER (alignment96), label104); + gtk_label_set_use_markup (GTK_LABEL (label104), TRUE); + gtk_misc_set_alignment (GTK_MISC (label104), 0, 0.5); + + table14 = gtk_table_new (2, 2, FALSE); + gtk_box_pack_start (GTK_BOX (vbox39), table14, TRUE, TRUE, 0); + gtk_table_set_row_spacings (GTK_TABLE (table14), 8); + gtk_table_set_col_spacings (GTK_TABLE (table14), 2); + + alignment97 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_table_attach (GTK_TABLE (table14), alignment97, 0, 1, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment97), 0, 0, 12, 6); + + label105 = gtk_label_new_with_mnemonic (_("_Player:")); + gtk_container_add (GTK_CONTAINER (alignment97), label105); + gtk_label_set_use_markup (GTK_LABEL (label105), TRUE); + gtk_misc_set_alignment (GTK_MISC (label105), 1, 0.5); + + alignment98 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_table_attach (GTK_TABLE (table14), alignment98, 0, 1, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment98), 0, 0, 12, 6); + + label106 = gtk_label_new_with_mnemonic (_("_Playlist:")); + gtk_container_add (GTK_CONTAINER (alignment98), label106); + gtk_label_set_use_markup (GTK_LABEL (label106), TRUE); + gtk_label_set_justify (GTK_LABEL (label106), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (label106), 1, 0.5); + + fontbutton1 = gtk_font_button_new (); + gtk_table_attach (GTK_TABLE (table14), fontbutton1, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_font_button_set_title (GTK_FONT_BUTTON (fontbutton1), _("Select main player window font:")); + gtk_font_button_set_use_font (GTK_FONT_BUTTON (fontbutton1), TRUE); + gtk_font_button_set_use_size (GTK_FONT_BUTTON (fontbutton1), TRUE); + + fontbutton2 = gtk_font_button_new (); + gtk_table_attach (GTK_TABLE (table14), fontbutton2, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_font_button_set_title (GTK_FONT_BUTTON (fontbutton2), _("Select playlist font:")); + gtk_font_button_set_use_font (GTK_FONT_BUTTON (fontbutton2), TRUE); + gtk_font_button_set_use_size (GTK_FONT_BUTTON (fontbutton2), TRUE); + + alignment99 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox39), alignment99, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment99), 4, 0, 12, 0); + + checkbutton11 = gtk_check_button_new_with_mnemonic (_("Use Bitmap fonts if available")); + gtk_container_add (GTK_CONTAINER (alignment99), checkbutton11); + gtk_tooltips_set_tip (tooltips, checkbutton11, _("Use bitmap fonts if they are available. Bitmap fonts do not support Unicode strings."), NULL); + + vbox40 = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox37), vbox40, FALSE, TRUE, 0); + + alignment100 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox40), alignment100, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment100), 12, 6, 0, 0); + + label107 = gtk_label_new_with_mnemonic (_("_Miscellaneous")); + gtk_container_add (GTK_CONTAINER (alignment100), label107); + gtk_label_set_use_markup (GTK_LABEL (label107), TRUE); + gtk_misc_set_alignment (GTK_MISC (label107), 0, 0.5); + + alignment101 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox40), alignment101, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment101), 2, 0, 12, 0); + + playlist_show_pl_numbers = gtk_check_button_new_with_mnemonic (_("Show track numbers in playlist")); + gtk_container_add (GTK_CONTAINER (alignment101), playlist_show_pl_numbers); + + alignment102 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox40), alignment102, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment102), 0, 0, 12, 0); + + playlist_show_pl_separator = gtk_check_button_new_with_mnemonic (_("Show separators in playlist")); + gtk_container_add (GTK_CONTAINER (alignment102), playlist_show_pl_separator); + + alignment103 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox40), alignment103, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment103), 0, 0, 12, 0); + + checkbutton14 = gtk_check_button_new_with_mnemonic (_("Use custom cursors")); + gtk_container_add (GTK_CONTAINER (alignment103), checkbutton14); + + alignment104 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox40), alignment104, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment104), 0, 0, 12, 0); + + show_wm_decorations = gtk_check_button_new_with_mnemonic (_("Show window manager decoration")); + gtk_container_add (GTK_CONTAINER (alignment104), show_wm_decorations); + gtk_tooltips_set_tip (tooltips, show_wm_decorations, _("This enables the window manager to show decorations for windows."), NULL); + + alignment105 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox40), alignment105, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment105), 0, 0, 12, 0); + + xmms_style_fileselector_cb1 = gtk_check_button_new_with_mnemonic (_("Use XMMS-style file selector instead of the default selector")); + gtk_container_add (GTK_CONTAINER (alignment105), xmms_style_fileselector_cb1); + gtk_tooltips_set_tip (tooltips, xmms_style_fileselector_cb1, _("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)."), NULL); + + alignment106 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox40), alignment106, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment106), 0, 0, 12, 0); + + checkbutton17 = gtk_check_button_new_with_mnemonic (_("Use two-way text scroller")); + gtk_container_add (GTK_CONTAINER (alignment106), checkbutton17); + gtk_tooltips_set_tip (tooltips, checkbutton17, _("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."), NULL); + + appearance_label = gtk_label_new (_("Appearance")); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 1), appearance_label); + + mouse_page_vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (category_notebook), mouse_page_vbox); + + vbox20 = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (mouse_page_vbox), vbox20, TRUE, TRUE, 0); + + alignment36 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox20), alignment36, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment36), 0, 12, 0, 0); + + label51 = gtk_label_new (_("Mouse wheel")); + gtk_container_add (GTK_CONTAINER (alignment36), label51); + gtk_label_set_use_markup (GTK_LABEL (label51), TRUE); + gtk_misc_set_alignment (GTK_MISC (label51), 0, 0); + + alignment34 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox20), alignment34, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment34), 0, 0, 12, 0); + + table4 = gtk_table_new (2, 3, FALSE); + gtk_container_add (GTK_CONTAINER (alignment34), table4); + gtk_table_set_row_spacings (GTK_TABLE (table4), 6); + + mouse_wheel_volume_adj = gtk_adjustment_new (5, 0, 100, 1, 10, 10); + mouse_wheel_volume = gtk_spin_button_new (GTK_ADJUSTMENT (mouse_wheel_volume_adj), 1, 0); + gtk_table_attach (GTK_TABLE (table4), mouse_wheel_volume, 1, 2, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 4, 0); + gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (mouse_wheel_volume), TRUE); + + label35 = gtk_label_new (_("lines")); + gtk_table_attach (GTK_TABLE (table4), label35, 2, 3, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5); + gtk_misc_set_padding (GTK_MISC (label35), 4, 0); + + mouse_wheel_scroll_pl_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10); + mouse_wheel_scroll_pl = gtk_spin_button_new (GTK_ADJUSTMENT (mouse_wheel_scroll_pl_adj), 1, 0); + gtk_table_attach (GTK_TABLE (table4), mouse_wheel_scroll_pl, 1, 2, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 4, 0); + + label34 = gtk_label_new (_("Scrolls playlist by")); + gtk_table_attach (GTK_TABLE (table4), label34, 0, 1, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label34), 0, 0.5); + gtk_misc_set_padding (GTK_MISC (label34), 4, 0); + + label33 = gtk_label_new (_("percent")); + gtk_table_attach (GTK_TABLE (table4), label33, 2, 3, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5); + gtk_misc_set_padding (GTK_MISC (label33), 4, 0); + + label32 = gtk_label_new (_("Changes volume by")); + gtk_table_attach (GTK_TABLE (table4), label32, 0, 1, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5); + gtk_misc_set_padding (GTK_MISC (label32), 4, 0); + + mouse_label = gtk_label_new (_("Mouse")); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 2), mouse_label); + + playlist_page_vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (category_notebook), playlist_page_vbox); + + vbox5 = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (playlist_page_vbox), vbox5, TRUE, TRUE, 0); + + alignment14 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment14, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment14), 0, 12, 0, 0); + + label38 = gtk_label_new (_("Filename")); + gtk_container_add (GTK_CONTAINER (alignment14), label38); + gtk_label_set_use_markup (GTK_LABEL (label38), TRUE); + gtk_misc_set_alignment (GTK_MISC (label38), 0, 0.5); + + alignment12 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment12, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment12), 0, 0, 12, 0); + + playlist_convert_underscore = gtk_check_button_new_with_mnemonic (_("Convert underscores to blanks")); + gtk_container_add (GTK_CONTAINER (alignment12), playlist_convert_underscore); + + alignment13 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment13, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment13), 0, 0, 12, 0); + + playlist_convert_twenty = gtk_check_button_new_with_mnemonic (_("Convert %20 to blanks")); + gtk_container_add (GTK_CONTAINER (alignment13), playlist_convert_twenty); + + alignment88 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment88, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment88), 0, 0, 12, 0); + + playlist_convert_slash = gtk_check_button_new_with_mnemonic (_("Convert backslash '\\' to forward slash '/'")); + gtk_container_add (GTK_CONTAINER (alignment88), playlist_convert_slash); + + alignment15 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment15, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment15), 12, 12, 0, 0); + + label39 = gtk_label_new (_("Metadata")); + gtk_container_add (GTK_CONTAINER (alignment15), label39); + gtk_label_set_use_markup (GTK_LABEL (label39), TRUE); + gtk_misc_set_alignment (GTK_MISC (label39), 0, 0.5); + + alignment16 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment16, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment16), 0, 0, 12, 0); + + playlist_use_metadata = gtk_check_button_new_with_mnemonic (_("Load metadata from playlists and files")); + gtk_container_add (GTK_CONTAINER (alignment16), playlist_use_metadata); + gtk_tooltips_set_tip (tooltips, playlist_use_metadata, _("Load metadata (tag information) from music files."), NULL); + + alignment18 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment18, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment18), 0, 0, 24, 0); + + playlist_use_metadata_box = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (alignment18), playlist_use_metadata_box); + + playlist_metadata_on_load = gtk_radio_button_new_with_mnemonic (NULL, _("On load")); + gtk_box_pack_start (GTK_BOX (playlist_use_metadata_box), playlist_metadata_on_load, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, playlist_metadata_on_load, _("Load metadata when adding the file to the playlist or opening it"), NULL); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (playlist_metadata_on_load), playlist_metadata_on_load_group); + playlist_metadata_on_load_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (playlist_metadata_on_load)); + + playlist_metadata_on_display = gtk_radio_button_new_with_mnemonic (NULL, _("On display")); + gtk_box_pack_start (GTK_BOX (playlist_use_metadata_box), playlist_metadata_on_display, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, playlist_metadata_on_display, _("Load metadata on demand when displaying the file in the playlist. You may need to set \"Detect file formats on demand\" in Audio page for full benefit."), NULL); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (playlist_metadata_on_display), playlist_metadata_on_load_group); + playlist_metadata_on_load_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (playlist_metadata_on_display)); + + table10 = gtk_table_new (2, 2, FALSE); + gtk_box_pack_start (GTK_BOX (playlist_use_metadata_box), table10, TRUE, TRUE, 0); + + label73 = gtk_label_new (_("Auto character encoding detector for:")); + gtk_table_attach (GTK_TABLE (table10), label73, 0, 1, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label73), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (label73), 1, 0.5); + + combobox1 = gtk_combo_box_new_text (); + gtk_table_attach (GTK_TABLE (table10), combobox1, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + entry1 = gtk_entry_new (); + gtk_table_attach (GTK_TABLE (table10), entry1, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_tooltips_set_tip (tooltips, entry1, _("List of character encodings used for fall back conversion of metadata. If automatic character encoding detector failed or has been disabled, encodings in this list would be treated as candidates of the encoding of metadata, and fall back conversion from these encodings to UTF-8 would be attempted."), NULL); + + label74 = gtk_label_new (_("Fallback character encodings:")); + gtk_table_attach (GTK_TABLE (table10), label74, 0, 1, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label74), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (label74), 1, 0.5); + + alignment19 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment19, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment19), 12, 12, 0, 0); + + label40 = gtk_label_new (_("File Dialog")); + gtk_container_add (GTK_CONTAINER (alignment19), label40); + gtk_label_set_use_markup (GTK_LABEL (label40), TRUE); + gtk_misc_set_alignment (GTK_MISC (label40), 0, 0.5); + + alignment20 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment20, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment20), 0, 0, 12, 0); + + refresh_file_list = gtk_check_button_new_with_mnemonic (_("Always refresh directory when opening file dialog")); + gtk_container_add (GTK_CONTAINER (alignment20), refresh_file_list); + gtk_tooltips_set_tip (tooltips, refresh_file_list, _("Always refresh the file dialog (this will slow opening the dialog on large directories, and Gnome VFS should handle automatically)."), NULL); + + alignment55 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment55, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment55), 12, 12, 0, 0); + + label60 = gtk_label_new (_("Song Display")); + gtk_container_add (GTK_CONTAINER (alignment55), label60); + gtk_label_set_use_markup (GTK_LABEL (label60), TRUE); + gtk_misc_set_alignment (GTK_MISC (label60), 0, 0.5); + + alignment56 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment56, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment56), 0, 0, 12, 0); + + table6 = gtk_table_new (2, 3, FALSE); + gtk_container_add (GTK_CONTAINER (alignment56), table6); + gtk_table_set_row_spacings (GTK_TABLE (table6), 4); + gtk_table_set_col_spacings (GTK_TABLE (table6), 12); + + titlestring_help_button = gtk_button_new (); + gtk_table_attach (GTK_TABLE (table6), titlestring_help_button, 2, 3, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + GTK_WIDGET_UNSET_FLAGS (titlestring_help_button, GTK_CAN_FOCUS); + gtk_tooltips_set_tip (tooltips, titlestring_help_button, _("Show information about titlestring format"), NULL); + gtk_button_set_relief (GTK_BUTTON (titlestring_help_button), GTK_RELIEF_HALF); + gtk_button_set_focus_on_click (GTK_BUTTON (titlestring_help_button), FALSE); + + image1 = gtk_image_new_from_stock ("gtk-index", GTK_ICON_SIZE_BUTTON); + gtk_container_add (GTK_CONTAINER (titlestring_help_button), image1); + + titlestring_cbox = gtk_combo_box_new_text (); + gtk_table_attach (GTK_TABLE (table6), titlestring_cbox, 1, 3, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("TITLE")); + gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST - TITLE")); + gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST - ALBUM - TITLE")); + gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST - ALBUM - TRACK. TITLE")); + gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST [ ALBUM ] - TRACK. TITLE")); + gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ALBUM - TITLE")); + gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("Custom")); + + titlestring_entry = gtk_entry_new (); + gtk_table_attach (GTK_TABLE (table6), titlestring_entry, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + label62 = gtk_label_new (_("Custom string:")); + gtk_table_attach (GTK_TABLE (table6), label62, 0, 1, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label62), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (label62), 1, 0.5); + + label61 = gtk_label_new (_("Title format:")); + gtk_table_attach (GTK_TABLE (table6), label61, 0, 1, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label61), GTK_JUSTIFY_RIGHT); + gtk_misc_set_alignment (GTK_MISC (label61), 1, 0.5); + + alignment85 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment85, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment85), 12, 12, 0, 0); + + label84 = gtk_label_new (_("Popup Information")); + gtk_container_add (GTK_CONTAINER (alignment85), label84); + gtk_label_set_use_markup (GTK_LABEL (label84), TRUE); + gtk_misc_set_alignment (GTK_MISC (label84), 0, 0.5); + + alignment86 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox5), alignment86, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment86), 0, 0, 12, 0); + + hbox9 = gtk_hbox_new (FALSE, 12); + gtk_container_add (GTK_CONTAINER (alignment86), hbox9); + + vbox34 = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox9), vbox34, TRUE, TRUE, 0); + + checkbutton10 = gtk_check_button_new_with_mnemonic (_("Show popup information for playlist entries")); + gtk_box_pack_start (GTK_BOX (vbox34), checkbutton10, TRUE, FALSE, 0); + 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); + + filepopup_for_tuple_settings_button = gtk_button_new (); + gtk_box_pack_start (GTK_BOX (hbox9), filepopup_for_tuple_settings_button, FALSE, FALSE, 0); + GTK_WIDGET_UNSET_FLAGS (filepopup_for_tuple_settings_button, GTK_CAN_FOCUS); + gtk_tooltips_set_tip (tooltips, filepopup_for_tuple_settings_button, _("Edit settings for popup information"), NULL); + gtk_button_set_relief (GTK_BUTTON (filepopup_for_tuple_settings_button), GTK_RELIEF_HALF); + + image8 = gtk_image_new_from_stock ("gtk-properties", GTK_ICON_SIZE_BUTTON); + gtk_container_add (GTK_CONTAINER (filepopup_for_tuple_settings_button), image8); + + playlist_label = gtk_label_new (_("Playlist")); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 3), playlist_label); + + equalizer_page_vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (category_notebook), equalizer_page_vbox); + + alignment28 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (equalizer_page_vbox), alignment28, TRUE, TRUE, 0); + + vbox22 = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (alignment28), vbox22); + + alignment30 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox22), alignment30, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment30), 0, 12, 0, 0); + + equalizer_page_label = gtk_label_new (_("Presets")); + gtk_container_add (GTK_CONTAINER (alignment30), equalizer_page_label); + gtk_label_set_use_markup (GTK_LABEL (equalizer_page_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (equalizer_page_label), 0, 0.5); + + vbox23 = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox22), vbox23, TRUE, TRUE, 0); + + alignment33 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox23), alignment33, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment33), 0, 12, 0, 0); + + table5 = gtk_table_new (2, 2, FALSE); + gtk_container_add (GTK_CONTAINER (alignment33), table5); + gtk_table_set_row_spacings (GTK_TABLE (table5), 6); + gtk_table_set_col_spacings (GTK_TABLE (table5), 6); + + label58 = gtk_label_new (_("File preset extension:")); + gtk_table_attach (GTK_TABLE (table5), label58, 0, 1, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label58), 0, 0.5); + + label57 = gtk_label_new (_("Directory preset file:")); + gtk_table_attach (GTK_TABLE (table5), label57, 0, 1, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label57), 0, 0.5); + + eq_file_preset_entry = gtk_entry_new (); + gtk_table_attach (GTK_TABLE (table5), eq_file_preset_entry, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + eq_dir_preset_entry = gtk_entry_new (); + gtk_table_attach (GTK_TABLE (table5), eq_dir_preset_entry, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + equalizer_label = gtk_label_new (_("Equalizer")); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 4), equalizer_label); + + connectivity_page_vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (category_notebook), connectivity_page_vbox); + + vbox29 = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (connectivity_page_vbox), vbox29, TRUE, TRUE, 0); + + alignment63 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox29), alignment63, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment63), 0, 12, 0, 0); + + connectivity_page_label = gtk_label_new (_("Proxy Configuration")); + gtk_container_add (GTK_CONTAINER (alignment63), connectivity_page_label); + gtk_label_set_use_markup (GTK_LABEL (connectivity_page_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (connectivity_page_label), 0, 0.5); + + alignment68 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox29), alignment68, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment68), 0, 0, 12, 0); + + vbox30 = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (alignment68), vbox30); + + alignment65 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox30), alignment65, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment65), 0, 12, 0, 0); + + proxy_use = gtk_check_button_new_with_mnemonic (_("Enable proxy usage")); + gtk_container_add (GTK_CONTAINER (alignment65), proxy_use); + + table8 = gtk_table_new (2, 2, FALSE); + gtk_box_pack_start (GTK_BOX (vbox30), table8, FALSE, FALSE, 0); + gtk_table_set_row_spacings (GTK_TABLE (table8), 6); + gtk_table_set_col_spacings (GTK_TABLE (table8), 6); + + proxy_port = gtk_entry_new (); + gtk_table_attach (GTK_TABLE (table8), proxy_port, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + proxy_host = gtk_entry_new (); + gtk_table_attach (GTK_TABLE (table8), proxy_host, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + label69 = gtk_label_new (_("Proxy port:")); + gtk_table_attach (GTK_TABLE (table8), label69, 0, 1, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label69), 0, 0.5); + + label68 = gtk_label_new (_("Proxy hostname:")); + gtk_table_attach (GTK_TABLE (table8), label68, 0, 1, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label68), 0, 0); + + alignment67 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox30), alignment67, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment67), 12, 12, 0, 0); + + proxy_auth = gtk_check_button_new_with_mnemonic (_("Use authentication with proxy")); + gtk_container_add (GTK_CONTAINER (alignment67), proxy_auth); + + table9 = gtk_table_new (2, 2, FALSE); + gtk_box_pack_start (GTK_BOX (vbox30), table9, FALSE, FALSE, 0); + gtk_table_set_row_spacings (GTK_TABLE (table9), 6); + gtk_table_set_col_spacings (GTK_TABLE (table9), 6); + + proxy_pass = gtk_entry_new (); + gtk_table_attach (GTK_TABLE (table9), proxy_pass, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_visibility (GTK_ENTRY (proxy_pass), FALSE); + + proxy_user = gtk_entry_new (); + gtk_table_attach (GTK_TABLE (table9), proxy_user, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + label71 = gtk_label_new (_("Proxy password:")); + gtk_table_attach (GTK_TABLE (table9), label71, 0, 1, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label71), 0, 0.5); + + label70 = gtk_label_new (_("Proxy username:")); + gtk_table_attach (GTK_TABLE (table9), label70, 0, 1, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label70), 0, 0); + + alignment72 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (vbox30), alignment72, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment72), 6, 0, 0, 0); + + hbox6 = gtk_hbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (alignment72), hbox6); + + image4 = gtk_image_new_from_stock ("gtk-dialog-warning", GTK_ICON_SIZE_BUTTON); + gtk_box_pack_start (GTK_BOX (hbox6), image4, FALSE, FALSE, 0); + gtk_misc_set_padding (GTK_MISC (image4), 3, 0); + + label75 = gtk_label_new (_("Changing these settings will require a restart of Audacious.")); + gtk_box_pack_start (GTK_BOX (hbox6), label75, FALSE, FALSE, 0); + gtk_label_set_use_markup (GTK_LABEL (label75), TRUE); + + label95 = gtk_label_new (""); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 5), label95); + + empty_notebook_page = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (category_notebook), empty_notebook_page); + + label96 = gtk_label_new (""); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 6), label96); + + audio_scrolled_window = gtk_scrolled_window_new (NULL, NULL); + gtk_container_add (GTK_CONTAINER (empty_notebook_page), audio_scrolled_window); + gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (category_notebook), audio_scrolled_window, + TRUE, TRUE, GTK_PACK_START); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (audio_scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); + + audio_page_viewport = gtk_viewport_new (NULL, NULL); + gtk_container_add (GTK_CONTAINER (audio_scrolled_window), audio_page_viewport); + gtk_widget_set_events (audio_page_viewport, GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); + gtk_viewport_set_shadow_type (GTK_VIEWPORT (audio_page_viewport), GTK_SHADOW_NONE); + + audio_page_vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (audio_page_viewport), audio_page_vbox); + + alignment74 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment74, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment74), 0, 12, 0, 0); + + label77 = gtk_label_new (_("Audio System")); + gtk_container_add (GTK_CONTAINER (alignment74), label77); + gtk_label_set_use_markup (GTK_LABEL (label77), TRUE); + gtk_misc_set_alignment (GTK_MISC (label77), 0, 0.5); + + alignment73 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment73, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment73), 0, 6, 12, 0); + + vbox33 = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (alignment73), vbox33); + + table11 = gtk_table_new (3, 2, FALSE); + gtk_box_pack_start (GTK_BOX (vbox33), table11, FALSE, FALSE, 0); + gtk_table_set_row_spacings (GTK_TABLE (table11), 6); + gtk_table_set_col_spacings (GTK_TABLE (table11), 6); + + image7 = gtk_image_new_from_stock ("gtk-info", GTK_ICON_SIZE_BUTTON); + gtk_table_attach (GTK_TABLE (table11), image7, 0, 1, 2, 3, + (GtkAttachOptions) (0), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + gtk_misc_set_alignment (GTK_MISC (image7), 1, 0); + + label79 = gtk_label_new (_("Buffer size:")); + gtk_table_attach (GTK_TABLE (table11), label79, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label79), 1, 0.5); + + label82 = gtk_label_new (_("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.")); + gtk_table_attach (GTK_TABLE (table11), label82, 1, 2, 2, 3, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (label82), TRUE); + gtk_label_set_line_wrap (GTK_LABEL (label82), TRUE); + gtk_misc_set_alignment (GTK_MISC (label82), 0, 0.5); + + output_plugin_bufsize_adj = gtk_adjustment_new (0, 0, 600000, 100, 1000, 1000); + output_plugin_bufsize = gtk_spin_button_new (GTK_ADJUSTMENT (output_plugin_bufsize_adj), 1, 0); + gtk_table_attach (GTK_TABLE (table11), output_plugin_bufsize, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + output_plugin_cbox = gtk_combo_box_new_text (); + gtk_table_attach (GTK_TABLE (table11), output_plugin_cbox, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + label78 = gtk_label_new (_("Current output plugin:")); + gtk_table_attach (GTK_TABLE (table11), label78, 0, 1, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label78), 0, 0.5); + + alignment82 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment82, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment82), 0, 0, 12, 0); + + output_plugin_button_box = gtk_hbutton_box_new (); + gtk_container_add (GTK_CONTAINER (alignment82), output_plugin_button_box); + gtk_button_box_set_layout (GTK_BUTTON_BOX (output_plugin_button_box), GTK_BUTTONBOX_START); + gtk_box_set_spacing (GTK_BOX (output_plugin_button_box), 8); + + output_plugin_prefs = gtk_button_new (); + gtk_container_add (GTK_CONTAINER (output_plugin_button_box), output_plugin_prefs); + gtk_widget_set_sensitive (output_plugin_prefs, FALSE); + GTK_WIDGET_SET_FLAGS (output_plugin_prefs, GTK_CAN_DEFAULT); + + alignment76 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_container_add (GTK_CONTAINER (output_plugin_prefs), alignment76); + + hbox7 = gtk_hbox_new (FALSE, 2); + gtk_container_add (GTK_CONTAINER (alignment76), hbox7); + + image5 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_BUTTON); + gtk_box_pack_start (GTK_BOX (hbox7), image5, FALSE, FALSE, 0); + + label80 = gtk_label_new_with_mnemonic (_("Output Plugin Preferences")); + gtk_box_pack_start (GTK_BOX (hbox7), label80, FALSE, FALSE, 0); + + output_plugin_info = gtk_button_new (); + gtk_container_add (GTK_CONTAINER (output_plugin_button_box), output_plugin_info); + gtk_widget_set_sensitive (output_plugin_info, FALSE); + GTK_WIDGET_SET_FLAGS (output_plugin_info, GTK_CAN_DEFAULT); + + alignment77 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_container_add (GTK_CONTAINER (output_plugin_info), alignment77); + + hbox8 = gtk_hbox_new (FALSE, 2); + gtk_container_add (GTK_CONTAINER (alignment77), hbox8); + + image6 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_BUTTON); + gtk_box_pack_start (GTK_BOX (hbox8), image6, FALSE, FALSE, 0); + + label81 = gtk_label_new_with_mnemonic (_("Output Plugin Information")); + gtk_box_pack_start (GTK_BOX (hbox8), label81, FALSE, FALSE, 0); + + alignment78 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment78, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment78), 12, 12, 0, 0); + + label83 = gtk_label_new (_("Format Detection")); + gtk_container_add (GTK_CONTAINER (alignment78), label83); + gtk_label_set_use_markup (GTK_LABEL (label83), TRUE); + gtk_misc_set_alignment (GTK_MISC (label83), 0, 0.5); + + alignment84 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment84, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment84), 0, 0, 12, 0); + + audio_format_det_cb = gtk_check_button_new_with_mnemonic (_("Detect file formats on demand, instead of immediately.")); + gtk_container_add (GTK_CONTAINER (alignment84), audio_format_det_cb); + gtk_tooltips_set_tip (tooltips, audio_format_det_cb, _("When checked, Audacious will detect file formats on demand. This can result in a messier playlist, but delivers a major speed benefit."), NULL); + + alignment89 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment89, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment89), 0, 0, 12, 0); + + detect_by_extension_cb = gtk_check_button_new_with_mnemonic (_("Detect file formats by extension.")); + gtk_container_add (GTK_CONTAINER (alignment89), detect_by_extension_cb); + gtk_tooltips_set_tip (tooltips, detect_by_extension_cb, _("When checked, Audacious will detect file formats based by extension. Only files with extensions of supported formats will be loaded."), NULL); + + alignment19 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment19, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment19), 12, 12, 0, 0); + + label40 = gtk_label_new (_("Playback")); + gtk_container_add (GTK_CONTAINER (alignment19), label40); + gtk_label_set_use_markup (GTK_LABEL (label40), TRUE); + gtk_misc_set_alignment (GTK_MISC (label40), 0, 0.5); + + alignment83 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment83, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment83), 0, 0, 12, 0); + + continue_playback_on_startup = gtk_check_button_new_with_mnemonic (_("Continue playback on startup")); + gtk_container_add (GTK_CONTAINER (alignment83), continue_playback_on_startup); + gtk_tooltips_set_tip (tooltips, continue_playback_on_startup, _("When Audacious starts, automatically begin playing from the point where we stopped before."), NULL); + + alignment79 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment79, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment79), 0, 0, 12, 0); + + playlist_no_advance = gtk_check_button_new_with_mnemonic (_("Don't advance in the playlist")); + gtk_container_add (GTK_CONTAINER (alignment79), playlist_no_advance); + gtk_tooltips_set_tip (tooltips, playlist_no_advance, _("When finished playing a song, don't automatically advance to the next."), NULL); + + alignment80 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment80, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment80), 0, 0, 12, 0); + + pause_between_songs = gtk_check_button_new_with_mnemonic (_("Pause between songs")); + gtk_container_add (GTK_CONTAINER (alignment80), pause_between_songs); + + alignment22 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment22, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment22), 0, 0, 45, 0); + + pause_between_songs_box = gtk_hbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (alignment22), pause_between_songs_box); + + label41 = gtk_label_new (_("Pause for")); + gtk_box_pack_start (GTK_BOX (pause_between_songs_box), label41, FALSE, FALSE, 0); + gtk_misc_set_padding (GTK_MISC (label41), 4, 0); + + pause_between_songs_time_adj = gtk_adjustment_new (2, 0, 100, 1, 10, 10); + pause_between_songs_time = gtk_spin_button_new (GTK_ADJUSTMENT (pause_between_songs_time_adj), 1, 0); + gtk_box_pack_start (GTK_BOX (pause_between_songs_box), pause_between_songs_time, FALSE, FALSE, 0); + + label42 = gtk_label_new (_("seconds")); + gtk_box_pack_start (GTK_BOX (pause_between_songs_box), label42, FALSE, FALSE, 0); + gtk_misc_set_padding (GTK_MISC (label42), 4, 0); + + alignment90 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment90, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment90), 12, 12, 0, 0); + + label93 = gtk_label_new (_("Sampling Rate Converter")); + gtk_container_add (GTK_CONTAINER (alignment90), label93); + gtk_label_set_use_markup (GTK_LABEL (label93), TRUE); + gtk_misc_set_alignment (GTK_MISC (label93), 0, 0.5); + + alignment92 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment92, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment92), 0, 0, 12, 0); + + enable_src = gtk_check_button_new_with_mnemonic (_("Enable Sampling Rate Converter")); + gtk_container_add (GTK_CONTAINER (alignment92), enable_src); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (enable_src), TRUE); + + alignment91 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment91, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment91), 0, 6, 12, 0); + + vbox36 = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (alignment91), vbox36); + + table13 = gtk_table_new (3, 2, FALSE); + gtk_box_pack_start (GTK_BOX (vbox36), table13, FALSE, FALSE, 0); + gtk_table_set_row_spacings (GTK_TABLE (table13), 6); + gtk_table_set_col_spacings (GTK_TABLE (table13), 6); + + src_converter_type = gtk_combo_box_new_text (); + gtk_table_attach (GTK_TABLE (table13), src_converter_type, 1, 2, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Best Sinc Interpolation")); + gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Medium Sinc Interpolation")); + gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Fastest Sinc Interpolation")); + gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("ZOH Interpolation")); + gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Linear Interpolation")); + + label94 = gtk_label_new (_("Interpolation Engine:")); + gtk_table_attach (GTK_TABLE (table13), label94, 0, 1, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label94), 0, 0.5); + + label92 = gtk_label_new (_("All streams will be converted to this sampling rate.\nThis should be the max supported sampling rate of\nthe sound card or output plugin.")); + gtk_table_attach (GTK_TABLE (table13), label92, 1, 2, 2, 3, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (label92), TRUE); + gtk_label_set_line_wrap (GTK_LABEL (label92), TRUE); + gtk_misc_set_alignment (GTK_MISC (label92), 0, 0.5); + + image9 = gtk_image_new_from_stock ("gtk-info", GTK_ICON_SIZE_BUTTON); + gtk_table_attach (GTK_TABLE (table13), image9, 0, 1, 2, 3, + (GtkAttachOptions) (0), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + gtk_misc_set_alignment (GTK_MISC (image9), 1, 0); + + src_rate_adj = gtk_adjustment_new (96000, 1000, 768000, 1000, 1000, 1000); + src_rate = gtk_spin_button_new (GTK_ADJUSTMENT (src_rate_adj), 1, 0); + gtk_table_attach (GTK_TABLE (table13), src_rate, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + label91 = gtk_label_new (_("Sampling Rate [Hz]:")); + gtk_table_attach (GTK_TABLE (table13), label91, 0, 1, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label91), 0, 0.5); + + alignment4 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment4, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment4), 12, 12, 0, 0); + + label2 = gtk_label_new (_("Volume Control")); + gtk_container_add (GTK_CONTAINER (alignment4), label2); + gtk_label_set_use_markup (GTK_LABEL (label2), TRUE); + gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5); + + alignment7 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment7, FALSE, FALSE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment7), 0, 0, 12, 0); + + software_volume_control = gtk_check_button_new_with_mnemonic (_("Use software volume control")); + gtk_container_add (GTK_CONTAINER (alignment7), software_volume_control); + 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); + + empty_notebook_page = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (category_notebook), empty_notebook_page); + + hseparator1 = gtk_hseparator_new (); + gtk_box_pack_start (GTK_BOX (vbox), hseparator1, FALSE, FALSE, 6); + + hbox4 = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hbox4, FALSE, FALSE, 0); + + audversionlabel = gtk_label_new (""); + gtk_box_pack_start (GTK_BOX (hbox4), audversionlabel, FALSE, FALSE, 0); + gtk_label_set_use_markup (GTK_LABEL (audversionlabel), TRUE); + + prefswin_button_box = gtk_hbutton_box_new (); + gtk_box_pack_start (GTK_BOX (hbox4), prefswin_button_box, TRUE, TRUE, 0); + gtk_button_box_set_layout (GTK_BUTTON_BOX (prefswin_button_box), GTK_BUTTONBOX_END); + gtk_box_set_spacing (GTK_BOX (prefswin_button_box), 6); + + reload_plugins = gtk_button_new (); + gtk_container_add (GTK_CONTAINER (prefswin_button_box), reload_plugins); + GTK_WIDGET_SET_FLAGS (reload_plugins, GTK_CAN_DEFAULT); + + alignment93 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_container_add (GTK_CONTAINER (reload_plugins), alignment93); + + hbox11 = gtk_hbox_new (FALSE, 2); + gtk_container_add (GTK_CONTAINER (alignment93), hbox11); + + image10 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON); + gtk_box_pack_start (GTK_BOX (hbox11), image10, FALSE, FALSE, 0); + + label102 = gtk_label_new_with_mnemonic (_("Reload Plugins")); + gtk_box_pack_start (GTK_BOX (hbox11), label102, FALSE, FALSE, 0); + + close = gtk_button_new_from_stock ("gtk-close"); + gtk_container_add (GTK_CONTAINER (prefswin_button_box), close); + GTK_WIDGET_SET_FLAGS (close, GTK_CAN_DEFAULT); + gtk_widget_add_accelerator (close, "clicked", accel_group, + GDK_Escape, (GdkModifierType) 0, + GTK_ACCEL_VISIBLE); + + + gtk_label_set_mnemonic_widget (GTK_LABEL (input_plugin_list_label), category_notebook); + gtk_label_set_mnemonic_widget (GTK_LABEL (label11), category_notebook); + gtk_label_set_mnemonic_widget (GTK_LABEL (label53), category_notebook); + gtk_label_set_mnemonic_widget (GTK_LABEL (label64), category_notebook); + gtk_label_set_mnemonic_widget (GTK_LABEL (label103), category_notebook); + gtk_label_set_mnemonic_widget (GTK_LABEL (label104), category_notebook); + gtk_label_set_mnemonic_widget (GTK_LABEL (label105), fontbutton1); + gtk_label_set_mnemonic_widget (GTK_LABEL (label106), fontbutton2); + gtk_label_set_mnemonic_widget (GTK_LABEL (label107), category_notebook); + + gtk_window_add_accel_group (GTK_WINDOW (prefswin), accel_group); + + /* connect signals */ + g_signal_connect(G_OBJECT(prefswin), "delete_event", + G_CALLBACK(gtk_widget_hide_on_delete), + NULL); + g_signal_connect_after(G_OBJECT(input_plugin_view), "realize", + G_CALLBACK(on_input_plugin_view_realize), + NULL); + g_signal_connect_after(G_OBJECT(general_plugin_view), "realize", + G_CALLBACK(on_general_plugin_view_realize), + NULL); + g_signal_connect_after(G_OBJECT(vis_plugin_view), "realize", + G_CALLBACK(on_vis_plugin_view_realize), + NULL); + g_signal_connect_after(G_OBJECT(effect_plugin_view), "realize", + G_CALLBACK(on_effect_plugin_view_realize), + NULL); + g_signal_connect(G_OBJECT(colorspace_button), "clicked", + G_CALLBACK(on_colorize_button_clicked), + NULL); + g_signal_connect_swapped(G_OBJECT(skin_refresh_button), "clicked", + G_CALLBACK(on_skin_refresh_button_clicked), + prefswin); + g_signal_connect_after(G_OBJECT(skin_view), "realize", + G_CALLBACK(on_skin_view_realize), + NULL); + g_signal_connect_after(G_OBJECT(fontbutton1), "realize", + G_CALLBACK(on_mainwin_font_button_realize), + NULL); + g_signal_connect(G_OBJECT(fontbutton1), "font_set", + G_CALLBACK(on_mainwin_font_button_font_set), + NULL); + g_signal_connect_after(G_OBJECT(fontbutton2), "realize", + G_CALLBACK(on_playlist_font_button_realize), + NULL); + g_signal_connect(G_OBJECT(fontbutton2), "font_set", + G_CALLBACK(on_playlist_font_button_font_set), + NULL); + g_signal_connect(G_OBJECT(checkbutton11), "toggled", + G_CALLBACK(on_use_bitmap_fonts_toggled), + NULL); + g_signal_connect_after(G_OBJECT(checkbutton11), "realize", + G_CALLBACK(on_use_bitmap_fonts_realize), + NULL); + g_signal_connect(G_OBJECT(playlist_show_pl_numbers), "toggled", + G_CALLBACK(on_playlist_show_pl_numbers_toggled), + NULL); + g_signal_connect_after(G_OBJECT(playlist_show_pl_numbers), "realize", + G_CALLBACK(on_playlist_show_pl_numbers_realize), + NULL); + g_signal_connect(G_OBJECT(playlist_show_pl_separator), "toggled", + G_CALLBACK(on_playlist_show_pl_separator_toggled), + NULL); + g_signal_connect_after(G_OBJECT(playlist_show_pl_separator), "realize", + G_CALLBACK(on_playlist_show_pl_separator_realize), + NULL); + g_signal_connect(G_OBJECT(checkbutton14), "toggled", + G_CALLBACK(on_custom_cursors_toggled), + NULL); + g_signal_connect_after(G_OBJECT(checkbutton14), "realize", + G_CALLBACK(on_custom_cursors_realize), + NULL); + g_signal_connect(G_OBJECT(show_wm_decorations), "toggled", + G_CALLBACK(on_show_wm_decorations_toggled), + NULL); + g_signal_connect(G_OBJECT(show_wm_decorations), "realize", + G_CALLBACK(on_show_wm_decorations_realize), + NULL); + g_signal_connect(G_OBJECT(xmms_style_fileselector_cb1), "toggled", + G_CALLBACK(on_xmms_style_fileselector_toggled), + NULL); + g_signal_connect(G_OBJECT(xmms_style_fileselector_cb1), "realize", + G_CALLBACK(on_xmms_style_fileselector_realize), + NULL); + g_signal_connect(G_OBJECT(checkbutton17), "toggled", + G_CALLBACK(on_twoway_scroller_toggled), + NULL); + g_signal_connect(G_OBJECT(checkbutton17), "realize", + G_CALLBACK(on_twoway_scroller_realize), + NULL); + g_signal_connect(G_OBJECT(mouse_wheel_volume), "value_changed", + G_CALLBACK(on_mouse_wheel_volume_changed), + NULL); + g_signal_connect_after(G_OBJECT(mouse_wheel_volume), "realize", + G_CALLBACK(on_mouse_wheel_volume_realize), + NULL); + g_signal_connect(G_OBJECT(mouse_wheel_scroll_pl), "value_changed", + G_CALLBACK(on_mouse_wheel_scroll_pl_changed), + NULL); + g_signal_connect_after(G_OBJECT(mouse_wheel_scroll_pl), "realize", + G_CALLBACK(on_mouse_wheel_scroll_pl_realize), + NULL); + g_signal_connect(G_OBJECT(playlist_convert_underscore), "toggled", + G_CALLBACK(on_playlist_convert_underscore_toggled), + NULL); + g_signal_connect_after(G_OBJECT(playlist_convert_underscore), "realize", + G_CALLBACK(on_playlist_convert_underscore_realize), + NULL); + g_signal_connect(G_OBJECT(playlist_convert_twenty), "toggled", + G_CALLBACK(on_playlist_convert_twenty_toggled), + NULL); + g_signal_connect_after(G_OBJECT(playlist_convert_twenty), "realize", + G_CALLBACK(on_playlist_convert_twenty_realize), + NULL); + g_signal_connect(G_OBJECT(playlist_convert_slash), "toggled", + G_CALLBACK(on_playlist_convert_slash_toggled), + NULL); + g_signal_connect_after(G_OBJECT(playlist_convert_slash), "realize", + G_CALLBACK(on_playlist_convert_slash_realize), + NULL); + g_signal_connect(G_OBJECT(playlist_metadata_on_load), "toggled", + G_CALLBACK(on_pl_metadata_on_load_toggled), + NULL); + g_signal_connect_after(G_OBJECT(playlist_metadata_on_load), "realize", + G_CALLBACK(on_pl_metadata_on_load_realize), + NULL); + g_signal_connect(G_OBJECT(playlist_metadata_on_display), "toggled", + G_CALLBACK(on_pl_metadata_on_display_toggled), + NULL); + g_signal_connect_after(G_OBJECT(playlist_metadata_on_display), "realize", + G_CALLBACK(on_pl_metadata_on_display_realize), + NULL); + g_signal_connect_after(G_OBJECT(combobox1), "realize", + G_CALLBACK(on_chardet_detector_cbox_realize), + NULL); + g_signal_connect(G_OBJECT(entry1), "changed", + G_CALLBACK(on_chardet_fallback_changed), + NULL); + g_signal_connect_after(G_OBJECT(entry1), "realize", + G_CALLBACK(on_chardet_fallback_realize), + NULL); + g_signal_connect(G_OBJECT(refresh_file_list), "toggled", + G_CALLBACK(on_refresh_file_list_toggled), + NULL); + g_signal_connect_after(G_OBJECT(refresh_file_list), "realize", + G_CALLBACK(on_refresh_file_list_realize), + NULL); + g_signal_connect(G_OBJECT(titlestring_entry), "changed", + G_CALLBACK(on_titlestring_entry_changed), + NULL); + g_signal_connect_after(G_OBJECT(titlestring_entry), "realize", + G_CALLBACK(on_titlestring_entry_realize), + NULL); + g_signal_connect(G_OBJECT(checkbutton10), "toggled", + G_CALLBACK(on_show_filepopup_for_tuple_toggled), + NULL); + g_signal_connect_after(G_OBJECT(checkbutton10), "realize", + G_CALLBACK(on_show_filepopup_for_tuple_realize), + NULL); + g_signal_connect(G_OBJECT(filepopup_for_tuple_settings_button), "clicked", + G_CALLBACK(on_filepopup_for_tuple_settings_clicked), + NULL); + g_signal_connect(G_OBJECT(eq_file_preset_entry), "changed", + G_CALLBACK(on_eq_file_preset_entry_changed), + NULL); + g_signal_connect(G_OBJECT(eq_file_preset_entry), "realize", + G_CALLBACK(on_eq_file_preset_entry_realize), + NULL); + g_signal_connect(G_OBJECT(eq_dir_preset_entry), "changed", + G_CALLBACK(on_eq_dir_preset_entry_changed), + NULL); + g_signal_connect(G_OBJECT(eq_dir_preset_entry), "realize", + G_CALLBACK(on_eq_dir_preset_entry_realize), + NULL); + g_signal_connect(G_OBJECT(proxy_use), "toggled", + G_CALLBACK(on_proxy_use_toggled), + NULL); + g_signal_connect(G_OBJECT(proxy_use), "realize", + G_CALLBACK(on_proxy_use_realize), + NULL); + g_signal_connect(G_OBJECT(proxy_port), "changed", + G_CALLBACK(on_proxy_port_changed), + NULL); + g_signal_connect(G_OBJECT(proxy_port), "realize", + G_CALLBACK(on_proxy_port_realize), + NULL); + g_signal_connect(G_OBJECT(proxy_host), "changed", + G_CALLBACK(on_proxy_host_changed), + NULL); + g_signal_connect(G_OBJECT(proxy_host), "realize", + G_CALLBACK(on_proxy_host_realize), + NULL); + g_signal_connect(G_OBJECT(proxy_auth), "toggled", + G_CALLBACK(on_proxy_auth_toggled), + NULL); + g_signal_connect(G_OBJECT(proxy_auth), "realize", + G_CALLBACK(on_proxy_auth_realize), + NULL); + g_signal_connect(G_OBJECT(proxy_pass), "changed", + G_CALLBACK(on_proxy_pass_changed), + NULL); + g_signal_connect(G_OBJECT(proxy_pass), "realize", + G_CALLBACK(on_proxy_pass_realize), + NULL); + g_signal_connect(G_OBJECT(proxy_user), "changed", + G_CALLBACK(on_proxy_user_changed), + NULL); + g_signal_connect(G_OBJECT(proxy_user), "realize", + G_CALLBACK(on_proxy_user_realize), + NULL); + g_signal_connect(G_OBJECT(output_plugin_bufsize), "value_changed", + G_CALLBACK(on_output_plugin_bufsize_value_changed), + NULL); + g_signal_connect_after(G_OBJECT(output_plugin_bufsize), "realize", + G_CALLBACK(on_output_plugin_bufsize_realize), + NULL); + g_signal_connect_after(G_OBJECT(output_plugin_cbox), "realize", + G_CALLBACK(on_output_plugin_cbox_realize), + NULL); + g_signal_connect(G_OBJECT(audio_format_det_cb), "toggled", + G_CALLBACK(on_audio_format_det_cb_toggled), + NULL); + g_signal_connect(G_OBJECT(audio_format_det_cb), "realize", + G_CALLBACK(on_audio_format_det_cb_realize), + NULL); + g_signal_connect(G_OBJECT(detect_by_extension_cb), "toggled", + G_CALLBACK(on_detect_by_extension_cb_toggled), + NULL); + g_signal_connect(G_OBJECT(detect_by_extension_cb), "realize", + G_CALLBACK(on_detect_by_extension_cb_realize), + NULL); + g_signal_connect(G_OBJECT(continue_playback_on_startup), "toggled", + G_CALLBACK(on_continue_playback_on_startup_toggled), + NULL); + g_signal_connect(G_OBJECT(continue_playback_on_startup), "realize", + G_CALLBACK(on_continue_playback_on_startup_realize), + NULL); + g_signal_connect(G_OBJECT(playlist_no_advance), "toggled", + G_CALLBACK(on_playlist_no_advance_toggled), + NULL); + g_signal_connect_after(G_OBJECT(playlist_no_advance), "realize", + G_CALLBACK(on_playlist_no_advance_realize), + NULL); + g_signal_connect(G_OBJECT(pause_between_songs_time), "value_changed", + G_CALLBACK(on_pause_between_songs_time_changed), + NULL); + g_signal_connect_after(G_OBJECT(pause_between_songs_time), "realize", + G_CALLBACK(on_pause_between_songs_time_realize), + NULL); + g_signal_connect(G_OBJECT(enable_src), "toggled", + G_CALLBACK(on_enable_src_toggled), + NULL); + g_signal_connect(G_OBJECT(enable_src), "realize", + G_CALLBACK(on_enable_src_realize), + NULL); + g_signal_connect(G_OBJECT(src_converter_type), "changed", + G_CALLBACK(on_src_converter_type_changed), + NULL); + g_signal_connect_after(G_OBJECT(src_converter_type), "realize", + G_CALLBACK(on_src_converter_type_realize), + NULL); + g_signal_connect(G_OBJECT(src_rate), "value_changed", + G_CALLBACK(on_src_rate_value_changed), + NULL); + g_signal_connect(G_OBJECT(src_rate), "realize", + G_CALLBACK(on_src_rate_realize), + NULL); + g_signal_connect(G_OBJECT(software_volume_control), "toggled", + G_CALLBACK(on_software_volume_control_toggled), + NULL); + g_signal_connect(G_OBJECT(software_volume_control), "realize", + G_CALLBACK(on_software_volume_control_realize), + NULL); + g_signal_connect(G_OBJECT(reload_plugins), "clicked", + G_CALLBACK(on_reload_plugins_clicked), + NULL); + g_signal_connect_swapped(G_OBJECT(close), "clicked", + G_CALLBACK(gtk_widget_hide), + GTK_OBJECT (prefswin)); /* create category view */ - widget = glade_xml_get_widget(xml, "category_view"); - widget2 = glade_xml_get_widget(xml, "category_notebook"); - g_signal_connect_after(G_OBJECT(widget), "realize", - G_CALLBACK(on_category_view_realize), - widget2); - - category_treeview = GTK_WIDGET(widget); - category_notebook = GTK_WIDGET(widget2); + g_signal_connect_after(G_OBJECT(category_treeview), "realize", + G_CALLBACK(on_category_treeview_realize), + category_notebook); /* plugin->input page */ - - widget = glade_xml_get_widget(xml, "input_plugin_view"); - widget2 = glade_xml_get_widget(xml, "input_plugin_prefs"); - g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_INPUT)); - g_signal_connect(G_OBJECT(widget), "row-activated", + g_object_set_data(G_OBJECT(input_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_INPUT)); + g_signal_connect(G_OBJECT(input_plugin_view), "row-activated", G_CALLBACK(plugin_treeview_open_prefs), NULL); - g_signal_connect(G_OBJECT(widget), "cursor-changed", + g_signal_connect(G_OBJECT(input_plugin_view), "cursor-changed", G_CALLBACK(plugin_treeview_enable_prefs), - widget2); - - g_signal_connect_swapped(G_OBJECT(widget2), "clicked", + input_plugin_prefs); + + g_signal_connect_swapped(G_OBJECT(input_plugin_prefs), "clicked", G_CALLBACK(plugin_treeview_open_prefs), - widget); - widget2 = glade_xml_get_widget(xml, "input_plugin_info"); - g_signal_connect(G_OBJECT(widget), "cursor-changed", + input_plugin_view); + + g_signal_connect(G_OBJECT(input_plugin_view), "cursor-changed", G_CALLBACK(plugin_treeview_enable_info), - widget2); - g_signal_connect_swapped(G_OBJECT(widget2), "clicked", + input_plugin_info); + g_signal_connect_swapped(G_OBJECT(input_plugin_info), "clicked", G_CALLBACK(plugin_treeview_open_info), - widget); + input_plugin_view); /* plugin->output page */ - widget = glade_xml_get_widget(xml, "output_plugin_cbox"); - - widget2 = glade_xml_get_widget(xml, "output_plugin_prefs"); - g_signal_connect(G_OBJECT(widget), "changed", + g_signal_connect(G_OBJECT(output_plugin_cbox), "changed", G_CALLBACK(output_plugin_enable_prefs), - widget2); - g_signal_connect_swapped(G_OBJECT(widget2), "clicked", + output_plugin_prefs); + g_signal_connect_swapped(G_OBJECT(output_plugin_prefs), "clicked", G_CALLBACK(output_plugin_open_prefs), - widget); - - widget2 = glade_xml_get_widget(xml, "output_plugin_info"); - g_signal_connect(G_OBJECT(widget), "changed", + output_plugin_cbox); + + g_signal_connect(G_OBJECT(output_plugin_cbox), "changed", G_CALLBACK(output_plugin_enable_info), - widget2); - g_signal_connect_swapped(G_OBJECT(widget2), "clicked", + output_plugin_info); + g_signal_connect_swapped(G_OBJECT(output_plugin_info), "clicked", G_CALLBACK(output_plugin_open_info), - widget); + output_plugin_cbox); /* plugin->general page */ - widget = glade_xml_get_widget(xml, "general_plugin_view"); - g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_GENERAL)); - g_signal_connect(G_OBJECT(widget), "row-activated", + g_object_set_data(G_OBJECT(general_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_GENERAL)); + g_signal_connect(G_OBJECT(general_plugin_view), "row-activated", G_CALLBACK(plugin_treeview_open_prefs), NULL); - widget2 = glade_xml_get_widget(xml, "general_plugin_prefs"); - g_signal_connect(G_OBJECT(widget), "cursor-changed", + g_signal_connect(G_OBJECT(general_plugin_view), "cursor-changed", G_CALLBACK(plugin_treeview_enable_prefs), - widget2); - - g_signal_connect_swapped(G_OBJECT(widget2), "clicked", + general_plugin_prefs); + + g_signal_connect_swapped(G_OBJECT(general_plugin_prefs), "clicked", G_CALLBACK(plugin_treeview_open_prefs), - widget); - - widget2 = glade_xml_get_widget(xml, "general_plugin_info"); - g_signal_connect(G_OBJECT(widget), "cursor-changed", + general_plugin_view); + + g_signal_connect(G_OBJECT(general_plugin_view), "cursor-changed", G_CALLBACK(plugin_treeview_enable_info), - widget2); - g_signal_connect_swapped(G_OBJECT(widget2), "clicked", + general_plugin_info); + g_signal_connect_swapped(G_OBJECT(general_plugin_info), "clicked", G_CALLBACK(plugin_treeview_open_info), - widget); + general_plugin_view); /* plugin->vis page */ - widget = glade_xml_get_widget(xml, "vis_plugin_view"); - widget2 = glade_xml_get_widget(xml, "vis_plugin_prefs"); - - g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_VIS)); - g_signal_connect(G_OBJECT(widget), "row-activated", + g_object_set_data(G_OBJECT(vis_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_VIS)); + g_signal_connect(G_OBJECT(vis_plugin_view), "row-activated", G_CALLBACK(plugin_treeview_open_prefs), NULL); - g_signal_connect_swapped(G_OBJECT(widget2), "clicked", + g_signal_connect_swapped(G_OBJECT(vis_plugin_prefs), "clicked", G_CALLBACK(plugin_treeview_open_prefs), - widget); - g_signal_connect(G_OBJECT(widget), "cursor-changed", - G_CALLBACK(plugin_treeview_enable_prefs), widget2); - - - widget2 = glade_xml_get_widget(xml, "vis_plugin_info"); - g_signal_connect(G_OBJECT(widget), "cursor-changed", - G_CALLBACK(plugin_treeview_enable_info), widget2); - g_signal_connect_swapped(G_OBJECT(widget2), "clicked", + vis_plugin_view); + g_signal_connect(G_OBJECT(vis_plugin_view), "cursor-changed", + G_CALLBACK(plugin_treeview_enable_prefs), vis_plugin_prefs); + + g_signal_connect(G_OBJECT(vis_plugin_view), "cursor-changed", + G_CALLBACK(plugin_treeview_enable_info), vis_plugin_info); + g_signal_connect_swapped(G_OBJECT(vis_plugin_info), "clicked", G_CALLBACK(plugin_treeview_open_info), - widget); + vis_plugin_view); /* plugin->effects page */ - widget = glade_xml_get_widget(xml, "effect_plugin_view"); - widget2 = glade_xml_get_widget(xml, "effect_plugin_prefs"); - - g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_EFFECT)); - g_signal_connect(G_OBJECT(widget), "row-activated", + g_object_set_data(G_OBJECT(effect_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_EFFECT)); + g_signal_connect(G_OBJECT(effect_plugin_view), "row-activated", G_CALLBACK(plugin_treeview_open_prefs), NULL); - g_signal_connect_swapped(G_OBJECT(widget2), "clicked", + g_signal_connect_swapped(G_OBJECT(effect_plugin_prefs), "clicked", G_CALLBACK(plugin_treeview_open_prefs), - widget); - g_signal_connect(G_OBJECT(widget), "cursor-changed", - G_CALLBACK(plugin_treeview_enable_prefs), widget2); - - - widget2 = glade_xml_get_widget(xml, "effect_plugin_info"); - g_signal_connect(G_OBJECT(widget), "cursor-changed", - G_CALLBACK(plugin_treeview_enable_info), widget2); - g_signal_connect_swapped(G_OBJECT(widget2), "clicked", + effect_plugin_view); + g_signal_connect(G_OBJECT(effect_plugin_view), "cursor-changed", + G_CALLBACK(plugin_treeview_enable_prefs), effect_plugin_prefs); + + g_signal_connect(G_OBJECT(effect_plugin_view), "cursor-changed", + G_CALLBACK(plugin_treeview_enable_info), effect_plugin_info); + g_signal_connect_swapped(G_OBJECT(effect_plugin_info), "clicked", G_CALLBACK(plugin_treeview_open_info), - widget); + effect_plugin_view); /* playlist page */ - widget = glade_xml_get_widget(xml, "pause_between_songs_box"); - widget2 = glade_xml_get_widget(xml, "pause_between_songs"); - g_signal_connect_after(G_OBJECT(widget2), "realize", + g_signal_connect_after(G_OBJECT(pause_between_songs), "realize", G_CALLBACK(on_pause_between_songs_realize), - widget); - g_signal_connect(G_OBJECT(widget2), "toggled", + pause_between_songs_box); + g_signal_connect(G_OBJECT(pause_between_songs), "toggled", G_CALLBACK(on_pause_between_songs_toggled), - widget); - - widget = glade_xml_get_widget(xml, "playlist_use_metadata_box"); - widget2 = glade_xml_get_widget(xml, "playlist_use_metadata"); - g_signal_connect_after(G_OBJECT(widget2), "realize", + pause_between_songs_box); + + g_signal_connect_after(G_OBJECT(playlist_use_metadata), "realize", G_CALLBACK(on_use_pl_metadata_realize), - widget); - g_signal_connect(G_OBJECT(widget2), "toggled", + playlist_use_metadata_box); + g_signal_connect(G_OBJECT(playlist_use_metadata), "toggled", G_CALLBACK(on_use_pl_metadata_toggled), - widget); - - widget = glade_xml_get_widget(xml, "skin_view"); - g_signal_connect(widget, "drag-data-received", + playlist_use_metadata_box); + + g_signal_connect(skin_view, "drag-data-received", G_CALLBACK(on_skin_view_drag_data_received), NULL); - bmp_drag_dest_set(widget); + bmp_drag_dest_set(skin_view); g_signal_connect(mainwin, "drag-data-received", G_CALLBACK(mainwin_drag_data_received), - widget); - - widget = glade_xml_get_widget(xml, "skin_refresh_button"); - g_signal_connect(widget, "clicked", + skin_view); + + g_signal_connect(skin_refresh_button, "clicked", G_CALLBACK(on_skin_refresh_button_clicked), NULL); - widget = glade_xml_get_widget(xml, "playlist_font_button"); g_signal_connect(mainwin, "drag-data-received", G_CALLBACK(mainwin_drag_data_received), - widget); - - widget = glade_xml_get_widget(xml, "titlestring_cbox"); - widget2 = glade_xml_get_widget(xml, "titlestring_entry"); - g_signal_connect(widget, "realize", + fontbutton2); + + g_signal_connect(titlestring_cbox, "realize", G_CALLBACK(on_titlestring_cbox_realize), - widget2); - g_signal_connect(widget, "changed", + titlestring_entry); + g_signal_connect(titlestring_cbox, "changed", G_CALLBACK(on_titlestring_cbox_changed), - widget2); + titlestring_entry); /* FIXME: move this into a function */ /* create tag menu */ @@ -2300,27 +3796,24 @@ GINT_TO_POINTER(i)); }; gtk_widget_show_all(titlestring_tag_menu); - - widget = glade_xml_get_widget(xml, "titlestring_help_button"); - widget2 = glade_xml_get_widget(xml, "titlestring_cbox"); - - g_signal_connect(widget2, "changed", + + g_signal_connect(titlestring_cbox, "changed", G_CALLBACK(on_titlestring_cbox_changed), - widget); - g_signal_connect(widget, "clicked", + titlestring_help_button); + g_signal_connect(titlestring_help_button, "clicked", G_CALLBACK(on_titlestring_help_button_clicked), titlestring_tag_menu); /* audacious version label */ - widget = glade_xml_get_widget(xml, "audversionlabel"); aud_version_string = g_strdup_printf("%s (%s) (%s@%s)", "Audacious " PACKAGE_VERSION , svn_stamp , g_get_user_name() , g_get_host_name() ); - gtk_label_set_markup( GTK_LABEL(widget) , aud_version_string ); + gtk_label_set_markup( GTK_LABEL(audversionlabel) , aud_version_string ); g_free(aud_version_string); + gtk_widget_show_all(vbox); /* Create window for filepopup settings */ create_filepopup_settings(); @@ -2335,14 +3828,7 @@ if ( !skinlist_filled ) { - GladeXML *xml; - GtkWidget *widget, *widget2; - - xml = prefswin_get_xml(); - - widget = glade_xml_get_widget(xml, "skin_view"); - widget2 = glade_xml_get_widget(xml, "skin_refresh_button"); - skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(widget2)); + skin_view_update(GTK_TREE_VIEW(skin_view), GTK_WIDGET(skin_refresh_button)); skinlist_filled = TRUE; } } diff -r 50bf02b4f048 -r 8d8699eb659d src/audacious/ui_urlopener.c --- a/src/audacious/ui_urlopener.c Sat Nov 24 14:48:01 2007 +0100 +++ b/src/audacious/ui_urlopener.c Sat Nov 24 17:09:11 2007 +0100 @@ -32,7 +32,6 @@ #include #include -#include #include #include #include @@ -41,7 +40,6 @@ #include "platform/smartinclude.h" #include -#include "glade.h" #include "input.h" #include "main.h" #include "playback.h" diff -r 50bf02b4f048 -r 8d8699eb659d src/audacious/util.c --- a/src/audacious/util.c Sat Nov 24 14:48:01 2007 +0100 +++ b/src/audacious/util.c Sat Nov 24 17:09:11 2007 +0100 @@ -27,12 +27,10 @@ # include "config.h" #endif -#define NEED_GLADE #include "util.h" #include #include -#include #include #include #include @@ -47,7 +45,6 @@ # include #endif -#include "glade.h" #include "input.h" #include "main.h" #include "playback.h"