changeset 3990:14c2d0729563

filepopup_settings is no longer in prefswin.glade
author Tomasz Mon <desowin@gmail.com>
date Sat, 24 Nov 2007 14:25:31 +0100
parents 6faed0cdc276
children d6ac99c2be1d
files src/audacious/glade/prefswin.glade src/audacious/ui_preferences.c
diffstat 2 files changed, 203 insertions(+), 567 deletions(-) [+]
line wrap: on
line diff
--- a/src/audacious/glade/prefswin.glade	Sat Nov 24 12:58:27 2007 +0100
+++ b/src/audacious/glade/prefswin.glade	Sat Nov 24 14:25:31 2007 +0100
@@ -4801,499 +4801,4 @@
   </child>
 </widget>
 
-<widget class="GtkWindow" id="filepopup_for_tuple_settings">
-  <property name="border_width">12</property>
-  <property name="title" translatable="yes">Popup Information Settings</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">True</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <signal name="delete_event" handler="gtk_widget_hide_on_delete"/>
-
-  <child>
-    <widget class="GtkVBox" id="vbox35">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">12</property>
-
-      <child>
-	<widget class="GtkLabel" id="label101">
-	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">&lt;b&gt;Cover image retrieve&lt;/b&gt;</property>
-	  <property name="use_underline">False</property>
-	  <property name="use_markup">True</property>
-	  <property name="justify">GTK_JUSTIFY_LEFT</property>
-	  <property name="wrap">False</property>
-	  <property name="selectable">False</property>
-	  <property name="xalign">0</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	  <property name="width_chars">-1</property>
-	  <property name="single_line_mode">False</property>
-	  <property name="angle">0</property>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkLabel" id="label85">
-	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">While searching for the album's cover, Audacious looks for certain words in the filename. You can specify those words in the lists below, separated using commas.</property>
-	  <property name="use_underline">False</property>
-	  <property name="use_markup">False</property>
-	  <property name="justify">GTK_JUSTIFY_LEFT</property>
-	  <property name="wrap">True</property>
-	  <property name="selectable">False</property>
-	  <property name="xalign">0</property>
-	  <property name="yalign">0</property>
-	  <property name="xpad">12</property>
-	  <property name="ypad">0</property>
-	  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	  <property name="width_chars">-1</property>
-	  <property name="single_line_mode">False</property>
-	  <property name="angle">0</property>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkTable" id="table12">
-	  <property name="visible">True</property>
-	  <property name="n_rows">2</property>
-	  <property name="n_columns">2</property>
-	  <property name="homogeneous">False</property>
-	  <property name="row_spacing">4</property>
-	  <property name="column_spacing">4</property>
-
-	  <child>
-	    <widget class="GtkEntry" id="filepopup_settings_cover_name_include">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="editable">True</property>
-	      <property name="visibility">True</property>
-	      <property name="max_length">0</property>
-	      <property name="text" translatable="yes"></property>
-	      <property name="has_frame">True</property>
-	      <property name="invisible_char">*</property>
-	      <property name="activates_default">True</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label88">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Exclude:</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">12</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options"></property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label87">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Include:</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">12</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="x_options"></property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkEntry" id="filepopup_settings_cover_name_exclude">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="editable">True</property>
-	      <property name="visibility">True</property>
-	      <property name="max_length">0</property>
-	      <property name="text" translatable="yes"></property>
-	      <property name="has_frame">True</property>
-	      <property name="invisible_char">*</property>
-	      <property name="activates_default">True</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkAlignment" id="alignment80">
-	  <property name="visible">True</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xscale">1</property>
-	  <property name="yscale">1</property>
-	  <property name="top_padding">0</property>
-	  <property name="bottom_padding">0</property>
-	  <property name="left_padding">12</property>
-	  <property name="right_padding">0</property>
-
-	  <child>
-	    <widget class="GtkCheckButton" id="filepopup_settings_recurse_for_cover">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Recursively search for cover</property>
-	      <property name="use_underline">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="active">False</property>
-	      <property name="inconsistent">False</property>
-	      <property name="draw_indicator">True</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkAlignment" id="alignment22">
-	  <property name="visible">True</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xscale">1</property>
-	  <property name="yscale">1</property>
-	  <property name="top_padding">0</property>
-	  <property name="bottom_padding">0</property>
-	  <property name="left_padding">45</property>
-	  <property name="right_padding">0</property>
-
-	  <child>
-	    <widget class="GtkHBox" id="filepopup_settings_recurse_for_cover_depth_box">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label41">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Search depth: </property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">4</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkSpinButton" id="filepopup_settings_recurse_for_cover_depth">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="climb_rate">1</property>
-		  <property name="digits">0</property>
-		  <property name="numeric">True</property>
-		  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-		  <property name="snap_to_ticks">False</property>
-		  <property name="wrap">False</property>
-		  <property name="adjustment">0 0 100 1 10 10</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkAlignment" id="alignment87">
-	  <property name="visible">True</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xscale">1</property>
-	  <property name="yscale">1</property>
-	  <property name="top_padding">0</property>
-	  <property name="bottom_padding">0</property>
-	  <property name="left_padding">12</property>
-	  <property name="right_padding">0</property>
-
-	  <child>
-	    <widget class="GtkCheckButton" id="filepopup_settings_use_file_cover">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Use per-file cover</property>
-	      <property name="use_underline">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="active">False</property>
-	      <property name="inconsistent">False</property>
-	      <property name="draw_indicator">True</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkLabel" id="label99">
-	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">&lt;b&gt;Miscellaneous&lt;/b&gt;</property>
-	  <property name="use_underline">False</property>
-	  <property name="use_markup">True</property>
-	  <property name="justify">GTK_JUSTIFY_LEFT</property>
-	  <property name="wrap">False</property>
-	  <property name="selectable">False</property>
-	  <property name="xalign">0</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	  <property name="width_chars">-1</property>
-	  <property name="single_line_mode">False</property>
-	  <property name="angle">0</property>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkAlignment" id="alignment90">
-	  <property name="visible">True</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xscale">1</property>
-	  <property name="yscale">1</property>
-	  <property name="top_padding">0</property>
-	  <property name="bottom_padding">0</property>
-	  <property name="left_padding">12</property>
-	  <property name="right_padding">0</property>
-
-	  <child>
-	    <widget class="GtkCheckButton" id="filepopup_settings_showprogressbar">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Show Progress bar for the current track</property>
-	      <property name="use_underline">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="active">False</property>
-	      <property name="inconsistent">False</property>
-	      <property name="draw_indicator">True</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkAlignment" id="alignment91">
-	  <property name="visible">True</property>
-	  <property name="xalign">0</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xscale">1</property>
-	  <property name="yscale">1</property>
-	  <property name="top_padding">0</property>
-	  <property name="bottom_padding">0</property>
-	  <property name="left_padding">12</property>
-	  <property name="right_padding">0</property>
-
-	  <child>
-	    <widget class="GtkHBox" id="hbox10">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label100">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Delay until filepopup comes up: </property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">12</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkSpinButton" id="filepopup_settings_delay">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="climb_rate">1</property>
-		  <property name="digits">0</property>
-		  <property name="numeric">True</property>
-		  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-		  <property name="snap_to_ticks">False</property>
-		  <property name="wrap">False</property>
-		  <property name="adjustment">0 0 100 1 10 10</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHButtonBox" id="hbuttonbox10">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkButton" id="filepopup_settings_cancel">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="on_filepopup_settings_cancel_clicked"/>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="filepopup_settings_ok">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="has_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="on_filepopup_settings_ok_clicked"/>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
 </glade-interface>
--- a/src/audacious/ui_preferences.c	Sat Nov 24 12:58:27 2007 +0100
+++ b/src/audacious/ui_preferences.c	Sat Nov 24 14:25:31 2007 +0100
@@ -112,6 +112,16 @@
 GtkWidget *red_scale;
 GtkWidget *blue_scale;
 
+/* filepopup settings widgets */
+GtkWidget *filepopup_settings_cover_name_include;
+GtkWidget *filepopup_settings_cover_name_exclude;
+GtkWidget *filepopup_settings_recurse_for_cover;
+GtkWidget *filepopup_settings_recurse_for_cover_depth;
+GtkWidget *filepopup_settings_recurse_for_cover_depth_box;
+GtkWidget *filepopup_settings_use_file_cover;
+GtkWidget *filepopup_settings_showprogressbar;
+GtkWidget *filepopup_settings_delay;
+
 static Category categories[] = {
     {DATA_DIR "/images/appearance.png", N_("Appearance"), 1},
     {DATA_DIR "/images/audio.png", N_("Audio"), 6},
@@ -1610,66 +1620,34 @@
 static void
 on_filepopup_for_tuple_settings_clicked(GtkButton *button, gpointer data)
 {
-	GladeXML *xml = prefswin_get_xml();
-	GtkWidget *widget, *widget2;
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_cover_name_include");
-	gtk_entry_set_text(GTK_ENTRY(widget), cfg.cover_name_include);
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_cover_name_exclude");
-	gtk_entry_set_text(GTK_ENTRY(widget), cfg.cover_name_exclude);
-
-	widget2 = glade_xml_get_widget(xml, "filepopup_settings_recurse_for_cover");
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget2), cfg.recurse_for_cover);
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_recurse_for_cover_depth");
-	gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), cfg.recurse_for_cover_depth);
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_recurse_for_cover_depth_box");
-	on_recurse_for_cover_toggled(GTK_TOGGLE_BUTTON(widget2), widget);
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_use_file_cover");
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), cfg.use_file_cover);
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_showprogressbar");
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), cfg.filepopup_showprogressbar);
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_delay");
-	gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), cfg.filepopup_delay);
-
-	gtk_widget_show(filepopup_settings);
+    gtk_entry_set_text(GTK_ENTRY(filepopup_settings_cover_name_include), cfg.cover_name_include);
+    gtk_entry_set_text(GTK_ENTRY(filepopup_settings_cover_name_exclude), cfg.cover_name_exclude);
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filepopup_settings_recurse_for_cover), cfg.recurse_for_cover);
+    gtk_spin_button_set_value(GTK_SPIN_BUTTON(filepopup_settings_recurse_for_cover_depth), cfg.recurse_for_cover_depth);
+    on_recurse_for_cover_toggled(GTK_TOGGLE_BUTTON(filepopup_settings_recurse_for_cover), filepopup_settings_recurse_for_cover_depth_box);
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filepopup_settings_use_file_cover), cfg.use_file_cover);
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filepopup_settings_showprogressbar), cfg.filepopup_showprogressbar);
+    gtk_spin_button_set_value(GTK_SPIN_BUTTON(filepopup_settings_delay), cfg.filepopup_delay);
+
+    gtk_widget_show(filepopup_settings);
 }
 
 static void
 on_filepopup_settings_ok_clicked(GtkButton *button, gpointer data)
 {
-	GladeXML *xml = prefswin_get_xml();
-	GtkWidget *widget;
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_cover_name_include");
-	g_free(cfg.cover_name_include);
-	cfg.cover_name_include = g_strdup(gtk_entry_get_text(GTK_ENTRY(widget)));
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_cover_name_exclude");
-	g_free(cfg.cover_name_exclude);
-	cfg.cover_name_exclude = g_strdup(gtk_entry_get_text(GTK_ENTRY(widget)));
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_recurse_for_cover");
-	cfg.recurse_for_cover = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_recurse_for_cover_depth");
-	cfg.recurse_for_cover_depth = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_use_file_cover");
-	cfg.use_file_cover = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_showprogressbar");
-	cfg.filepopup_showprogressbar = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_delay");
-	cfg.filepopup_delay = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
-
-	gtk_widget_hide(filepopup_settings);
+    g_free(cfg.cover_name_include);
+    cfg.cover_name_include = g_strdup(gtk_entry_get_text(GTK_ENTRY(filepopup_settings_cover_name_include)));
+
+    g_free(cfg.cover_name_exclude);
+    cfg.cover_name_exclude = g_strdup(gtk_entry_get_text(GTK_ENTRY(filepopup_settings_cover_name_exclude)));
+
+    cfg.recurse_for_cover = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filepopup_settings_recurse_for_cover));
+    cfg.recurse_for_cover_depth = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(filepopup_settings_recurse_for_cover_depth));
+    cfg.use_file_cover = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filepopup_settings_use_file_cover));
+    cfg.filepopup_showprogressbar = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filepopup_settings_showprogressbar));
+    cfg.filepopup_delay = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(filepopup_settings_delay));
+
+    gtk_widget_hide(filepopup_settings);
 }
 
 static void
@@ -1826,10 +1804,6 @@
     FUNC_MAP_ENTRY(on_software_volume_control_realize)
     FUNC_MAP_ENTRY(on_software_volume_control_toggled)
 
-    /* Filepopup settings */
-    FUNC_MAP_ENTRY(on_filepopup_settings_ok_clicked)
-    FUNC_MAP_ENTRY(on_filepopup_settings_cancel_clicked)
-
     /* XMMS fileselector option -nenolod */
     FUNC_MAP_ENTRY(on_xmms_style_fileselector_toggled)
     FUNC_MAP_ENTRY(on_xmms_style_fileselector_realize)
@@ -1894,10 +1868,10 @@
     gtk_label_set_justify(GTK_LABEL(green_label), GTK_JUSTIFY_RIGHT);
     gtk_misc_set_alignment(GTK_MISC(green_label), 1, 0.5);
 
-   red_label = gtk_label_new(_("Red"));
-   gtk_table_attach(GTK_TABLE(table), red_label, 0, 1, 0, 1,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (0), 0, 0);
+    red_label = gtk_label_new(_("Red"));
+    gtk_table_attach(GTK_TABLE(table), red_label, 0, 1, 0, 1,
+                     (GtkAttachOptions) (0),
+                     (GtkAttachOptions) (0), 0, 0);
     gtk_label_set_justify(GTK_LABEL(red_label), GTK_JUSTIFY_RIGHT);
     gtk_misc_set_alignment(GTK_MISC(red_label), 1, 0.5);
 
@@ -1949,6 +1923,170 @@
 }
 
 void
+create_filepopup_settings(void)
+{
+    GtkWidget *vbox;
+    GtkWidget *table;
+
+    GtkWidget *label_cover_retrieve;
+    GtkWidget *label_cover_search;
+    GtkWidget *label_exclude;
+    GtkWidget *label_include;
+    GtkWidget *label_search_depth;
+    GtkWidget *label_misc;
+    GtkWidget *label_delay;
+
+    GtkObject *recurse_for_cover_depth_adj;
+    GtkObject *delay_adj;
+    GtkWidget *alignment;
+
+    GtkWidget *hbox;
+    GtkWidget *hbuttonbox;
+    GtkWidget *btn_cancel;
+    GtkWidget *btn_ok;
+
+    filepopup_settings = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+    gtk_container_set_border_width(GTK_CONTAINER(filepopup_settings), 12);
+    gtk_window_set_title(GTK_WINDOW(filepopup_settings), _("Popup Information Settings"));
+    gtk_window_set_position(GTK_WINDOW(filepopup_settings), GTK_WIN_POS_CENTER_ON_PARENT);
+    gtk_window_set_skip_taskbar_hint(GTK_WINDOW(filepopup_settings), TRUE);
+    gtk_window_set_type_hint(GTK_WINDOW(filepopup_settings), GDK_WINDOW_TYPE_HINT_DIALOG);
+    gtk_window_set_transient_for(GTK_WINDOW(filepopup_settings), GTK_WINDOW(prefswin));
+
+    vbox = gtk_vbox_new(FALSE, 12);
+    gtk_container_add(GTK_CONTAINER(filepopup_settings), vbox);
+
+    label_cover_retrieve = gtk_label_new(_("<b>Cover image retrieve</b>"));
+    gtk_box_pack_start(GTK_BOX(vbox), label_cover_retrieve, FALSE, FALSE, 0);
+    gtk_label_set_use_markup(GTK_LABEL(label_cover_retrieve), TRUE);
+    gtk_misc_set_alignment(GTK_MISC(label_cover_retrieve), 0, 0.5);
+
+    label_cover_search = gtk_label_new(_("While searching for the album's cover, Audacious looks for certain words in the filename. You can specify those words in the lists below, separated using commas."));
+    gtk_box_pack_start(GTK_BOX(vbox), label_cover_search, FALSE, FALSE, 0);
+    gtk_label_set_line_wrap(GTK_LABEL(label_cover_search), TRUE);
+    gtk_misc_set_alignment(GTK_MISC(label_cover_search), 0, 0);
+    gtk_misc_set_padding(GTK_MISC(label_cover_search), 12, 0);
+
+    table = gtk_table_new(2, 2, FALSE);
+    gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
+    gtk_table_set_row_spacings(GTK_TABLE(table), 4);
+    gtk_table_set_col_spacings(GTK_TABLE(table), 4);
+
+    filepopup_settings_cover_name_include = gtk_entry_new();
+    gtk_table_attach(GTK_TABLE(table), filepopup_settings_cover_name_include, 1, 2, 0, 1,
+                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                     (GtkAttachOptions) (0), 0, 0);
+    gtk_entry_set_activates_default(GTK_ENTRY(filepopup_settings_cover_name_include), TRUE);
+
+    label_exclude = gtk_label_new(_("Exclude:"));
+    gtk_table_attach(GTK_TABLE(table), label_exclude, 0, 1, 1, 2,
+                     (GtkAttachOptions) (0),
+                     (GtkAttachOptions) (0), 0, 0);
+    gtk_misc_set_alignment(GTK_MISC(label_exclude), 0, 0.5);
+    gtk_misc_set_padding(GTK_MISC(label_exclude), 12, 0);
+
+    label_include = gtk_label_new(_("Include:"));
+    gtk_table_attach(GTK_TABLE(table), label_include, 0, 1, 0, 1,
+                     (GtkAttachOptions) (0),
+                     (GtkAttachOptions) (0), 0, 0);
+    gtk_misc_set_alignment(GTK_MISC(label_include), 0, 0.5);
+    gtk_misc_set_padding(GTK_MISC(label_include), 12, 0);
+
+    filepopup_settings_cover_name_exclude = gtk_entry_new();
+    gtk_table_attach(GTK_TABLE(table), filepopup_settings_cover_name_exclude, 1, 2, 1, 2,
+                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                     (GtkAttachOptions) (0), 0, 0);
+    gtk_entry_set_activates_default(GTK_ENTRY(filepopup_settings_cover_name_exclude), TRUE);
+
+    alignment = gtk_alignment_new(0.5, 0.5, 1, 1);
+    gtk_box_pack_start(GTK_BOX(vbox), alignment, TRUE, TRUE, 0);
+    gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0);
+
+    filepopup_settings_recurse_for_cover = gtk_check_button_new_with_mnemonic(_("Recursively search for cover"));
+    gtk_container_add(GTK_CONTAINER(alignment), filepopup_settings_recurse_for_cover);
+
+    alignment = gtk_alignment_new(0.5, 0.5, 1, 1);
+    gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0);
+    gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 45, 0);
+
+    filepopup_settings_recurse_for_cover_depth_box = gtk_hbox_new(FALSE, 0);
+    gtk_container_add(GTK_CONTAINER(alignment), filepopup_settings_recurse_for_cover_depth_box);
+
+    label_search_depth = gtk_label_new(_("Search depth: "));
+    gtk_box_pack_start(GTK_BOX(filepopup_settings_recurse_for_cover_depth_box), label_search_depth, TRUE, TRUE, 0);
+    gtk_misc_set_padding(GTK_MISC(label_search_depth), 4, 0);
+
+    recurse_for_cover_depth_adj = gtk_adjustment_new(0, 0, 100, 1, 10, 10);
+    filepopup_settings_recurse_for_cover_depth = gtk_spin_button_new(GTK_ADJUSTMENT(recurse_for_cover_depth_adj), 1, 0);
+    gtk_box_pack_start(GTK_BOX(filepopup_settings_recurse_for_cover_depth_box), filepopup_settings_recurse_for_cover_depth, TRUE, TRUE, 0);
+    gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(filepopup_settings_recurse_for_cover_depth), TRUE);
+
+    alignment = gtk_alignment_new(0.5, 0.5, 1, 1);
+    gtk_box_pack_start(GTK_BOX(vbox), alignment, TRUE, TRUE, 0);
+    gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0);
+
+    filepopup_settings_use_file_cover = gtk_check_button_new_with_mnemonic(_("Use per-file cover"));
+    gtk_container_add(GTK_CONTAINER(alignment), filepopup_settings_use_file_cover);
+
+    label_misc = gtk_label_new(_("<b>Miscellaneous</b>"));
+    gtk_box_pack_start(GTK_BOX(vbox), label_misc, FALSE, FALSE, 0);
+    gtk_label_set_use_markup(GTK_LABEL(label_misc), TRUE);
+    gtk_misc_set_alignment(GTK_MISC(label_misc), 0, 0.5);
+
+    alignment = gtk_alignment_new(0.5, 0.5, 1, 1);
+    gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0);
+    gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0);
+
+    filepopup_settings_showprogressbar = gtk_check_button_new_with_mnemonic(_("Show Progress bar for the current track"));
+    gtk_container_add(GTK_CONTAINER(alignment), filepopup_settings_showprogressbar);
+
+    alignment = gtk_alignment_new(0, 0.5, 1, 1);
+    gtk_box_pack_start(GTK_BOX(vbox), alignment, TRUE, TRUE, 0);
+    gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0);
+
+    hbox = gtk_hbox_new(FALSE, 0);
+    gtk_container_add(GTK_CONTAINER(alignment), hbox);
+
+    label_delay = gtk_label_new(_("Delay until filepopup comes up: "));
+    gtk_box_pack_start(GTK_BOX(hbox), label_delay, TRUE, TRUE, 0);
+    gtk_misc_set_alignment(GTK_MISC(label_delay), 0, 0.5);
+    gtk_misc_set_padding(GTK_MISC(label_delay), 12, 0);
+
+    delay_adj = gtk_adjustment_new(0, 0, 100, 1, 10, 10);
+    filepopup_settings_delay = gtk_spin_button_new(GTK_ADJUSTMENT(delay_adj), 1, 0);
+    gtk_box_pack_start(GTK_BOX(hbox), filepopup_settings_delay, TRUE, TRUE, 0);
+    gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(filepopup_settings_delay), TRUE);
+
+    hbuttonbox = gtk_hbutton_box_new();
+    gtk_box_pack_start(GTK_BOX(vbox), hbuttonbox, FALSE, FALSE, 0);
+    gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END);
+    gtk_box_set_spacing(GTK_BOX(hbuttonbox), 6);
+
+    btn_cancel = gtk_button_new_from_stock("gtk-cancel");
+    gtk_container_add(GTK_CONTAINER(hbuttonbox), btn_cancel);
+
+    btn_ok = gtk_button_new_from_stock("gtk-ok");
+    gtk_container_add(GTK_CONTAINER(hbuttonbox), btn_ok);
+    GTK_WIDGET_SET_FLAGS(btn_ok, GTK_CAN_DEFAULT);
+
+    g_signal_connect(G_OBJECT(filepopup_settings), "delete_event",
+                     G_CALLBACK(gtk_widget_hide_on_delete),
+                     NULL);
+    g_signal_connect(G_OBJECT(btn_cancel), "clicked",
+                     G_CALLBACK(on_filepopup_settings_cancel_clicked),
+                     NULL);
+    g_signal_connect(G_OBJECT(btn_ok), "clicked",
+                     G_CALLBACK(on_filepopup_settings_ok_clicked),
+                     NULL);
+    g_signal_connect(G_OBJECT(filepopup_settings_recurse_for_cover), "toggled",
+                     G_CALLBACK(on_recurse_for_cover_toggled),
+                     filepopup_settings_recurse_for_cover_depth_box);
+
+    gtk_widget_grab_default(btn_ok);
+    gtk_widget_show_all(vbox);
+}
+
+void
 create_prefs_window(void)
 {
     const gchar *glade_file = DATA_DIR "/glade/prefswin.glade";
@@ -2178,15 +2316,8 @@
    gtk_label_set_markup( GTK_LABEL(widget) , aud_version_string );
    g_free(aud_version_string);
 
-	/* Create window for filepopup settings */
-	filepopup_settings = glade_xml_get_widget(xml, "filepopup_for_tuple_settings");
-	gtk_window_set_transient_for(GTK_WINDOW(filepopup_settings), GTK_WINDOW(prefswin));
-
-	widget = glade_xml_get_widget(xml, "filepopup_settings_recurse_for_cover_depth_box");
-	widget2 = glade_xml_get_widget(xml, "filepopup_settings_recurse_for_cover");
-	g_signal_connect(G_OBJECT(widget2), "toggled",
-		G_CALLBACK(on_recurse_for_cover_toggled),
-		widget);
+    /* Create window for filepopup settings */
+    create_filepopup_settings();
 
     /* Create window for color adjustment settings */
     create_colorize_settings();