[Xfce4-commits] <parole:master> Replace the buggy volume-range with a GtkVolumeButton

Christoph Mende noreply at xfce.org
Mon Jul 23 01:25:18 CEST 2012


Updating branch refs/heads/master
         to 3a90e5a06c5748419bdeaa55c291fbcda13cbfbc (commit)
       from 7cdaccca5adae3389848523270e6c73f0878e92e (commit)

commit 3a90e5a06c5748419bdeaa55c291fbcda13cbfbc
Author: Simon Steinbeiss <ochosi at xfce.org>
Date:   Wed Jul 11 05:10:53 2012 +0200

    Replace the buggy volume-range with a GtkVolumeButton

 data/interfaces/parole.ui |   33 +++-----------------------
 src/parole-player.c       |   56 +++++++++------------------------------------
 2 files changed, 15 insertions(+), 74 deletions(-)

diff --git a/data/interfaces/parole.ui b/data/interfaces/parole.ui
index 774730f..a91ad8a 100644
--- a/data/interfaces/parole.ui
+++ b/data/interfaces/parole.ui
@@ -577,41 +577,16 @@
             		                                    <property name="position">3</property>
             		                                  </packing>
             		                                </child>
-                                                        <child>
-                                                          <object class="GtkHBox" id="hbox8">
-                                                            <property name="visible">True</property>
-                                                            <property name="spacing">5</property>
-                                                            <child>
-                                                            <object class="GtkImage" id="volume-image">
-                                                            <property name="visible">True</property>
-                                                            <property name="stock">gtk-missing-image</property>
-                                                            </object>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="position">0</property>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
-                                                            <object class="GtkHScale" id="volume">
-                                                            <property name="width_request">100</property>
-                                                            <property name="height_request">10</property>
+							<child>
+                                                          <object class="GtkVolumeButton" id="volume">
                                                             <property name="visible">True</property>
+							    <property name="size">GTK_ICON_SIZE_LARGE_TOOLBAR</property>
                                                             <property name="can_focus">True</property>
-                                                            <property name="show_fill_level">True</property>
-                                                            <property name="draw_value">False</property>
                                                             <signal name="value_changed" handler="parole_player_volume_value_changed_cb"/>
                                                             <signal name="scroll_event" handler="parole_player_volume_scroll_event_cb"/>
-                                                            </object>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="position">1</property>
-                                                            </packing>
-                                                            </child>
                                                           </object>
                                                           <packing>
-							    <property name="expand">False</property>
-                                                            <property name="padding">30</property>
-                                                            <property name="pack_type">end</property>
+                                                            <property name="expand">False</property>
                                                             <property name="position">4</property>
                                                           </packing>
                                                         </child>
diff --git a/src/parole-player.c b/src/parole-player.c
index 37126c7..3e3f008 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -156,7 +156,7 @@ void            parole_player_volume_mute 		(GtkWidget *widget,
 void		parole_player_open_preferences_cb	(GtkWidget *widget,
 							 ParolePlayer *player);
 
-void            parole_player_volume_value_changed_cb   (GtkRange *range, 
+void            parole_player_volume_value_changed_cb   (GtkScaleButton *widget, 
 							 ParolePlayer *player);
 
 gboolean        parole_player_volume_scroll_event_cb	(GtkWidget *widget,
@@ -250,7 +250,7 @@ struct ParolePlayerPrivate
     GtkWidget		*main_box;
     
     GtkWidget		*volume;
-    GtkWidget		*volume_image;
+    /*GtkWidget		*volume_image;*/
     GtkWidget		*menu_bar;
     GtkWidget		*play_box;
      
@@ -1380,40 +1380,10 @@ void parole_player_repeat_toggled_cb (GtkWidget *widget, ParolePlayer *player)
 		  NULL);
 }
 
-static const gchar *
-parole_player_get_volume_icon_name (gdouble value)
-{
-    if ( value == 1. )
-	return "audio-volume-high";
-    else if ( value > 0.5 )
-	return "audio-volume-medium";
-    else if ( value > 0 )
-	return "audio-volume-low";
-    
-    return "audio-volume-muted";
-}
-
-static void
-parole_player_set_volume_image (ParolePlayer *player, gdouble value)
-{
-    GdkPixbuf *icon;
-
-    icon = parole_icon_load (parole_player_get_volume_icon_name (value), 
-			     player->priv->volume_image->allocation.width);
-    if ( icon )
-    {
-	g_object_set (G_OBJECT (player->priv->volume_image),
-		      "pixbuf", icon,
-		      NULL);
-	g_object_unref (icon);
-    }
-}
-
 static void
 parole_player_change_volume (ParolePlayer *player, gdouble value)
 {
     parole_gst_set_volume (PAROLE_GST (player->priv->gst), value);
-    parole_player_set_volume_image (player, value);
 }
 
 gboolean
@@ -1436,10 +1406,10 @@ parole_player_volume_scroll_event_cb (GtkWidget *widget, GdkEventScroll *ev, Par
 }
 
 void
-parole_player_volume_value_changed_cb (GtkRange *range, ParolePlayer *player)
+parole_player_volume_value_changed_cb (GtkScaleButton *widget, ParolePlayer *player)
 {
     gdouble value;
-    value = gtk_range_get_value (range);
+    value = gtk_scale_button_get_value (GTK_SCALE_BUTTON (player->priv->volume));
     parole_player_change_volume (player, value);
     parole_rc_write_entry_int ("volume", PAROLE_RC_GROUP_GENERAL, (gint)(value * 100));
 }
@@ -1448,21 +1418,21 @@ void
 parole_player_volume_up (GtkWidget *widget, ParolePlayer *player)
 {
     gdouble value;
-    value = gtk_range_get_value (GTK_RANGE (player->priv->volume));
-    gtk_range_set_value (GTK_RANGE (player->priv->volume), value + 0.1);
+    value = gtk_scale_button_get_value (GTK_SCALE_BUTTON (player->priv->volume));
+    gtk_scale_button_set_value (GTK_SCALE_BUTTON (player->priv->volume), value + 0.1);
 }
 
 void
 parole_player_volume_down (GtkWidget *widget, ParolePlayer *player)
 {
     gdouble value;
-    value = gtk_range_get_value (GTK_RANGE (player->priv->volume));
-    gtk_range_set_value (GTK_RANGE (player->priv->volume), value - 0.1);
+    value = gtk_scale_button_get_value (GTK_SCALE_BUTTON (player->priv->volume));
+    gtk_scale_button_set_value (GTK_SCALE_BUTTON (player->priv->volume), value - 0.1);
 }
 
 void parole_player_volume_mute (GtkWidget *widget, ParolePlayer *player)
 {
-    gtk_range_set_value (GTK_RANGE (player->priv->volume), 0);
+    gtk_scale_button_set_value (GTK_SCALE_BUTTON (player->priv->volume), 0);
 }
 
 static void
@@ -1957,7 +1927,6 @@ parole_player_init (ParolePlayer *player)
     player->priv->range = GTK_WIDGET (gtk_builder_get_object (builder, "scale"));
     
     player->priv->volume = GTK_WIDGET (gtk_builder_get_object (builder, "volume"));
-    player->priv->volume_image = GTK_WIDGET (gtk_builder_get_object (builder, "volume-image"));
     
     player->priv->menu_bar = GTK_WIDGET (gtk_builder_get_object (builder, "menubar"));
     player->priv->play_box = GTK_WIDGET (gtk_builder_get_object (builder, "play-box"));
@@ -1968,11 +1937,8 @@ parole_player_init (ParolePlayer *player)
     player->priv->leave_fs = GTK_WIDGET (gtk_builder_get_object (builder, "leave_fs"));
     player->priv->main_box = GTK_WIDGET (gtk_builder_get_object (builder, "main-box"));
     
-    gtk_range_set_range (GTK_RANGE (player->priv->volume), 0, 1.0);
-    
-    gtk_range_set_value (GTK_RANGE (player->priv->volume), 
+    gtk_scale_button_set_value (GTK_SCALE_BUTTON (player->priv->volume), 
 			 (gdouble) (parole_rc_read_entry_int ("volume", PAROLE_RC_GROUP_GENERAL, 100)/100.));
-    
     /*
      * Pack the playlist.
      */
@@ -2208,7 +2174,7 @@ static gboolean	parole_player_dbus_lower_volume (ParolePlayer *player,
 static gboolean	parole_player_dbus_mute (ParolePlayer *player,
 					 GError *error)
 {
-    gtk_range_set_value (GTK_RANGE (player->priv->volume), 0);
+    gtk_scale_button_set_value (GTK_SCALE_BUTTON (player->priv->volume), 0);
     return TRUE;
 }
 


More information about the Xfce4-commits mailing list