changeset 2405:15fc0d852633 trunk

[svn] enhancement to popup information settings - progress bar in filepopup can be toggled - delay for filepopup is now configurable
author yaz
date Thu, 25 Jan 2007 20:50:15 -0800
parents 60f1bc20c19c
children 6f4094cc3859
files ChangeLog src/audacious/glade/prefswin.glade src/audacious/main.c src/audacious/main.h src/audacious/ui_fileinfopopup.c src/audacious/ui_preferences.c
diffstat 6 files changed, 277 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Jan 25 20:23:16 2007 -0800
+++ b/ChangeLog	Thu Jan 25 20:50:15 2007 -0800
@@ -1,3 +1,14 @@
+2007-01-26 04:23:16 +0000  William Pitcock <nenolod@sacredspiral.co.uk>
+  revision [3818]
+  - hooking implementation.
+  example: hook_register("playback begin"); hook_call("playback begin", <PlaylistEntry>);
+  
+  trunk/src/audacious/Makefile |    2 
+  trunk/src/audacious/hook.c   |  108 +++++++++++++++++++++++++++++++++++++++++++
+  trunk/src/audacious/hook.h   |   33 +++++++++++++
+  3 files changed, 143 insertions(+)
+
+
 2007-01-25 16:19:54 +0000  Alexandr Orlov <alxorlov@pochta.ru>
   revision [3816]
   Update russian translation
--- a/src/audacious/glade/prefswin.glade	Thu Jan 25 20:23:16 2007 -0800
+++ b/src/audacious/glade/prefswin.glade	Thu Jan 25 20:50:15 2007 -0800
@@ -3382,10 +3382,56 @@
 	      </child>
 
 	      <child>
+		<widget class="GtkLabel" id="label95">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes"></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">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="type">tab</property>
+		</packing>
+	      </child>
+
+	      <child>
 		<placeholder/>
 	      </child>
 
 	      <child>
+		<widget class="GtkLabel" id="label96">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes"></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">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="type">tab</property>
+		</packing>
+	      </child>
+
+	      <child>
 		<widget class="GtkVBox" id="vbox32">
 		  <property name="visible">True</property>
 		  <property name="homogeneous">False</property>
@@ -4154,8 +4200,54 @@
 	      </child>
 
 	      <child>
+		<widget class="GtkLabel" id="label97">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes"></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">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="type">tab</property>
+		</packing>
+	      </child>
+
+	      <child>
 		<placeholder/>
 	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label98">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes"></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">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="type">tab</property>
+		</packing>
+	      </child>
 	    </widget>
 	    <packing>
 	      <property name="padding">0</property>
@@ -4273,6 +4365,31 @@
       <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>
@@ -4283,7 +4400,7 @@
 	  <property name="selectable">False</property>
 	  <property name="xalign">0</property>
 	  <property name="yalign">0</property>
-	  <property name="xpad">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>
@@ -4338,7 +4455,7 @@
 	      <property name="selectable">False</property>
 	      <property name="xalign">0</property>
 	      <property name="yalign">0.5</property>
-	      <property name="xpad">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>
@@ -4366,7 +4483,7 @@
 	      <property name="selectable">False</property>
 	      <property name="xalign">0</property>
 	      <property name="yalign">0.5</property>
-	      <property name="xpad">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>
@@ -4549,6 +4666,135 @@
       </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>
--- a/src/audacious/main.c	Thu Jan 25 20:23:16 2007 -0800
+++ b/src/audacious/main.c	Thu Jan 25 20:50:15 2007 -0800
@@ -213,6 +213,7 @@
     TRUE,           /* use extension probing */
     255, 255, 255,  /* colorize r, g, b */
     FALSE,          /* internal: whether or not to terminate */
+    TRUE,           /* whether show progress bar in filepopup or not */
 };
 
 typedef struct bmp_cfg_boolent_t {
@@ -314,6 +315,7 @@
     {"use_file_cover", &cfg.use_file_cover, TRUE},
     {"use_xmms_style_fileselector", &cfg.use_xmms_style_fileselector, TRUE},
     {"use_extension_probing", &cfg.use_extension_probing, TRUE},
+    {"filepopup_showprogressbar", &cfg.filepopup_showprogressbar, TRUE},
 };
 
 static gint ncfgbent = G_N_ELEMENTS(bmp_boolents);
--- a/src/audacious/main.h	Thu Jan 25 20:23:16 2007 -0800
+++ b/src/audacious/main.h	Thu Jan 25 20:50:15 2007 -0800
@@ -122,6 +122,7 @@
     gboolean use_extension_probing;
     gint colorize_r; gint colorize_g; gint colorize_b;
     gboolean terminate;
+    gboolean filepopup_showprogressbar;
 };
 
 typedef struct _BmpConfig BmpConfig;
--- a/src/audacious/ui_fileinfopopup.c	Thu Jan 25 20:23:16 2007 -0800
+++ b/src/audacious/ui_fileinfopopup.c	Thu Jan 25 20:50:15 2007 -0800
@@ -281,7 +281,8 @@
 
   if ( ( time != -1 ) &&
        ( length != -1 ) &&
-       ( ( current_file != NULL ) && ( !strcmp(tooltip_file,current_file) ) ) )
+       ( ( current_file != NULL ) && ( !strcmp(tooltip_file,current_file) ) &&
+         ( cfg.filepopup_showprogressbar ) ) )
   {
     gchar *progress_time = g_strdup_printf("%d:%02d", time / 60000, (time / 1000) % 60);
     gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR(progressbar) , (gdouble)time / (gdouble)length );
--- a/src/audacious/ui_preferences.c	Thu Jan 25 20:23:16 2007 -0800
+++ b/src/audacious/ui_preferences.c	Thu Jan 25 20:50:15 2007 -0800
@@ -2170,6 +2170,12 @@
 	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);
 }
 
@@ -2196,6 +2202,12 @@
 	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);
 }