[Xfce4-commits] <parole:master> Allow the audiobox widget to be resized beyond the audio tags.

Sean Davis noreply at xfce.org
Sun Dec 2 03:28:01 CET 2012


Updating branch refs/heads/master
         to e62d8ec88694ac827536a0221ef9948f7cceff97 (commit)
       from 21066f4d78dc3a9f40cf31b01a20498c912c4afa (commit)

commit e62d8ec88694ac827536a0221ef9948f7cceff97
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Sat Dec 1 21:26:29 2012 -0500

    Allow the audiobox widget to be resized beyond the audio tags.

 data/interfaces/parole.ui |    8 ++++----
 src/parole-player.c       |   41 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/data/interfaces/parole.ui b/data/interfaces/parole.ui
index e909416..53e1c6e 100644
--- a/data/interfaces/parole.ui
+++ b/data/interfaces/parole.ui
@@ -472,9 +472,9 @@
                         <property name="use_underline">True</property>
                         <property name="image">image_volume_up</property>
                         <property name="use_stock">False</property>
-                        <accelerator key="KP_Add" signal="activate"/>
-                        <accelerator key="equal" signal="activate"/>
                         <accelerator key="plus" signal="activate"/>
+                        <accelerator key="equal" signal="activate"/>
+                        <accelerator key="KP_Add" signal="activate"/>
                         <signal name="activate" handler="parole_player_volume_up" swapped="no"/>
                       </object>
                     </child>
@@ -487,8 +487,8 @@
                         <property name="use_underline">True</property>
                         <property name="image">image_volume_down</property>
                         <property name="use_stock">False</property>
-                        <accelerator key="minus" signal="activate"/>
                         <accelerator key="KP_Subtract" signal="activate"/>
+                        <accelerator key="minus" signal="activate"/>
                         <signal name="activate" handler="parole_player_volume_down" swapped="no"/>
                       </object>
                     </child>
@@ -690,7 +690,7 @@
                             <property name="no_show_all">True</property>
                             <signal name="button-press-event" handler="parole_player_gst_widget_button_press" swapped="no"/>
                             <child>
-                              <object class="GtkHBox" id="hbox2">
+                              <object class="GtkHBox" id="hbox_audiobox">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="spacing">24</property>
diff --git a/src/parole-player.c b/src/parole-player.c
index 3066ffc..808dd84 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -107,6 +107,8 @@ static void parole_player_disc_selected_cb (ParoleDisc *disc,
 					    
 
 static void parole_player_select_custom_subtitle (GtkMenuItem *widget, gpointer data);
+								
+static gboolean            parole_audiobox_expose_event (GtkWidget *w, GdkEventExpose *ev, ParolePlayer *player);
 
 /*
  * GtkBuilder Callbacks
@@ -2462,6 +2464,39 @@ parole_gst_set_default_aspect_ratio (ParolePlayer *player, GtkBuilder *builder)
 				    TRUE);
 }
 
+static gboolean
+parole_audiobox_expose_event (GtkWidget *w, GdkEventExpose *ev, ParolePlayer *player)
+{
+    gboolean homogeneous = w->allocation.width > 536;
+    
+    if ( gtk_box_get_homogeneous( GTK_BOX(w) ) == homogeneous )
+        return FALSE;
+    
+    gtk_box_set_homogeneous( GTK_BOX(w), homogeneous );
+    if (homogeneous)
+    {
+        g_object_set( player->priv->audiobox_cover, "xalign", 1.0, NULL);
+        gtk_box_set_child_packing (GTK_BOX(w),
+                                   player->priv->audiobox_cover,
+                                   TRUE,
+                                   TRUE,
+                                   0,
+                                   GTK_PACK_START);
+    }
+    else
+    {
+        g_object_set( player->priv->audiobox_cover, "xalign", 0.0, NULL);
+        gtk_box_set_child_packing (GTK_BOX(w),
+                                   player->priv->audiobox_cover,
+                                   FALSE,
+                                   TRUE,
+                                   0,
+                                   GTK_PACK_START);
+    }
+
+    return FALSE;
+}
+
 gboolean
 parole_player_configure_event_cb (GtkWidget *widget, GdkEventConfigure *ev, ParolePlayer *player)
 {
@@ -2595,6 +2630,8 @@ parole_player_init (ParolePlayer *player)
     gboolean showhide;
     GdkColor background;
     
+    GtkWidget *hbox_audiobox;
+    
     GtkWidget *recent_menu;
     GtkRecentFilter *recent_filter;
     GtkWidget *clear_recent;
@@ -2753,6 +2790,10 @@ parole_player_init (ParolePlayer *player)
     player->priv->eventbox_output = GTK_WIDGET (gtk_builder_get_object (builder, "eventbox_output"));
     
     /* Audio box */
+    hbox_audiobox = GTK_WIDGET (gtk_builder_get_object (builder, "hbox_audiobox"));
+    g_signal_connect(hbox_audiobox, "expose-event",
+        G_CALLBACK(parole_audiobox_expose_event), player);
+    
     gdk_color_parse("black", &background);
     player->priv->audiobox = GTK_WIDGET (gtk_builder_get_object (builder, "audiobox"));
     gtk_widget_modify_bg(GTK_WIDGET(player->priv->audiobox), GTK_STATE_NORMAL, &background);


More information about the Xfce4-commits mailing list