[Xfce4-commits] <parole:0.2.2> Move more gtk callbacks to parole-callbacks

Ali Abdallah noreply at xfce.org
Fri Feb 25 15:24:03 CET 2011


Updating branch refs/heads/0.2.2
         to 3dd8bd24696f3b94c06f94f26d73e021be17191e (commit)
       from e46e04bb57b4a46ee968af6bb6d28106dc4e9c16 (commit)

commit 3dd8bd24696f3b94c06f94f26d73e021be17191e
Author: Ali Abdallah <aliov at xfce.org>
Date:   Fri Feb 25 15:23:05 2011 +0100

    Move more gtk callbacks to parole-callbacks

 src/parole-callbacks.c |   94 +++++++++++++++
 src/parole-player.c    |  293 ++++++++----------------------------------------
 src/parole-player.h    |    8 +-
 3 files changed, 147 insertions(+), 248 deletions(-)

diff --git a/src/parole-callbacks.c b/src/parole-callbacks.c
index b8b147d..498f978 100644
--- a/src/parole-callbacks.c
+++ b/src/parole-callbacks.c
@@ -29,6 +29,8 @@
 #include <gtk/gtk.h>
 
 #include "parole-player.h"
+#include "parole-about.h"
+#include "parole-utils.h"
 
 
 /*
@@ -36,8 +38,79 @@
  */
 void parole_action_repeat_cb 		(GtkToggleAction *action, ParolePlayer *player);
 void parole_action_shuffle_cb 		(GtkToggleAction *action, ParolePlayer *player);
+/*
+ * Aspect ratio
+ */
+void		ratio_none_toggled_cb			(GtkWidget *widget,
+							 ParolePlayer *player);
+
+void		ratio_auto_toggled_cb			(GtkWidget *widget,
+							 ParolePlayer *player);
+
+void		ratio_square_toggled_cb			(GtkWidget *widget,
+							 ParolePlayer *player);
+
+void		ratio_4_3_toggled_cb			(GtkWidget *widget,
+							 ParolePlayer *player);
+
+void		ratio_16_9_toggled_cb			(GtkWidget *widget,
+							 ParolePlayer *player);
 
+void		ratio_20_9_toggled_cb			(GtkWidget *widget,
+							 ParolePlayer *player);
 
+void	        parole_show_about			(GtkWidget *widget,
+							 ParolePlayer *player);
+
+void		parole_player_show_hide_playlist	(GtkButton *button,
+							 ParolePlayer *player);
+
+void parole_show_about	(GtkWidget *widget, ParolePlayer *player)
+{
+    parole_about (GTK_WINDOW (player->window));
+}
+
+void ratio_none_toggled_cb (GtkWidget *widget, ParolePlayer *player)
+{
+    g_object_set (G_OBJECT (player->conf),
+		  "aspect-ratio", PAROLE_ASPECT_RATIO_NONE,
+		  NULL);
+}
+
+void ratio_auto_toggled_cb (GtkWidget *widget, ParolePlayer *player)
+{
+    g_object_set (G_OBJECT (player->conf),
+		  "aspect-ratio", PAROLE_ASPECT_RATIO_AUTO,
+		  NULL);
+}
+
+void ratio_square_toggled_cb (GtkWidget *widget, ParolePlayer *player)
+{
+     g_object_set (G_OBJECT (player->conf),
+		  "aspect-ratio", PAROLE_ASPECT_RATIO_SQUARE,
+		  NULL);
+}
+
+void ratio_4_3_toggled_cb (GtkWidget *widget, ParolePlayer *player)
+{
+    g_object_set (G_OBJECT (player->conf),
+		  "aspect-ratio", PAROLE_ASPECT_RATIO_4_3,
+		  NULL);
+}
+
+void ratio_16_9_toggled_cb (GtkWidget *widget, ParolePlayer *player)
+{
+    g_object_set (G_OBJECT (player->conf),
+		  "aspect-ratio", PAROLE_ASPECT_RATIO_16_9,
+		  NULL);
+}
+
+void ratio_20_9_toggled_cb (GtkWidget *widget, ParolePlayer *player)
+{
+    g_object_set (G_OBJECT (player->conf),
+		  "aspect-ratio", PAROLE_ASPECT_RATIO_DVB,
+		  NULL);
+}
 
 void parole_action_repeat_cb (GtkToggleAction *action, ParolePlayer *player) 
 {
@@ -60,3 +133,24 @@ void parole_action_shuffle_cb (GtkToggleAction *action, ParolePlayer *player)
 		  "shuffle", toggled,
 		  NULL);
 }
+
+
+void parole_player_show_hide_playlist (GtkButton *button, ParolePlayer *player)
+{
+    gboolean   visible;
+    
+    visible = GTK_WIDGET_VISIBLE (player->sidebar);
+
+    if ( !visible )
+    {
+	parole_set_widget_image_from_stock (player->show_hide_playlist, GTK_STOCK_GO_BACK);
+	gtk_widget_show_all (player->sidebar);
+	gtk_widget_set_tooltip_text (GTK_WIDGET (player->show_hide_playlist), _("Hide playlist"));
+    }
+    else
+    {
+	parole_set_widget_image_from_stock (player->show_hide_playlist, GTK_STOCK_GO_FORWARD);
+	gtk_widget_hide_all (player->sidebar);
+	gtk_widget_set_tooltip_text (GTK_WIDGET (player->show_hide_playlist), _("Show playlist"));
+    }
+}
diff --git a/src/parole-player.c b/src/parole-player.c
index 3ed9427..7a5bf24 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -42,7 +42,6 @@
 #include <parole/parole-file.h>
 
 #include "parole-builder.h"
-#include "parole-about.h"
 
 #include "parole-player.h"
 
@@ -88,9 +87,10 @@ gboolean	parole_player_range_button_release	(GtkWidget *widget,
 void            parole_player_range_value_changed       (GtkRange *range, 
 							 ParolePlayer *player);
 
-void            parole_player_play_pause_clicked        (GtkButton *button, 
+void		parole_player_action_play_cb 		(GtkAction *action, 
 							 ParolePlayer *player);
 
+
 void            parole_player_stop_clicked              (GtkButton *button, 
 							 ParolePlayer *player);
 
@@ -114,9 +114,6 @@ gboolean	parole_player_delete_event_cb		(GtkWidget *widget,
 							 GdkEvent *ev,
 							 ParolePlayer *player);
 
-void		parole_player_show_hide_playlist	(GtkButton *button,
-							 ParolePlayer *player);
-
 /*Menu items callbacks*/
 void            parole_player_menu_open_location_cb     (GtkWidget *widget, 
 							 ParolePlayer *player);
@@ -161,30 +158,6 @@ void		parole_player_full_screen_activated_cb  (GtkWidget *widget,
 void		parole_player_minimize_clicked_cb	(GtkWidget *widget,
 							 ParolePlayer *player);
 							 
-/*
- * Aspect ratio
- */
-void		ratio_none_toggled_cb			(GtkWidget *widget,
-							 ParolePlayer *player);
-
-void		ratio_auto_toggled_cb			(GtkWidget *widget,
-							 ParolePlayer *player);
-
-void		ratio_square_toggled_cb			(GtkWidget *widget,
-							 ParolePlayer *player);
-
-void		ratio_4_3_toggled_cb			(GtkWidget *widget,
-							 ParolePlayer *player);
-
-void		ratio_16_9_toggled_cb			(GtkWidget *widget,
-							 ParolePlayer *player);
-
-void		ratio_20_9_toggled_cb			(GtkWidget *widget,
-							 ParolePlayer *player);
-
-void	        parole_show_about			(GtkWidget *widget,
-							 ParolePlayer *player);
-
 gboolean	parole_player_key_press 		(GtkWidget *widget, 
 							 GdkEventKey *ev, 
 							 ParolePlayer *player);
@@ -207,85 +180,6 @@ enum
 
 G_DEFINE_TYPE (ParolePlayer, parole_player, G_TYPE_OBJECT)
 
-void parole_show_about	(GtkWidget *widget, ParolePlayer *player)
-{
-    parole_about (GTK_WINDOW (player->window));
-}
-
-void ratio_none_toggled_cb (GtkWidget *widget, ParolePlayer *player)
-{
-    g_object_set (G_OBJECT (player->conf),
-		  "aspect-ratio", PAROLE_ASPECT_RATIO_NONE,
-		  NULL);
-}
-
-void ratio_auto_toggled_cb (GtkWidget *widget, ParolePlayer *player)
-{
-    g_object_set (G_OBJECT (player->conf),
-		  "aspect-ratio", PAROLE_ASPECT_RATIO_AUTO,
-		  NULL);
-}
-
-void ratio_square_toggled_cb (GtkWidget *widget, ParolePlayer *player)
-{
-     g_object_set (G_OBJECT (player->conf),
-		  "aspect-ratio", PAROLE_ASPECT_RATIO_SQUARE,
-		  NULL);
-}
-
-void ratio_4_3_toggled_cb (GtkWidget *widget, ParolePlayer *player)
-{
-    g_object_set (G_OBJECT (player->conf),
-		  "aspect-ratio", PAROLE_ASPECT_RATIO_4_3,
-		  NULL);
-}
-
-void ratio_16_9_toggled_cb (GtkWidget *widget, ParolePlayer *player)
-{
-    g_object_set (G_OBJECT (player->conf),
-		  "aspect-ratio", PAROLE_ASPECT_RATIO_16_9,
-		  NULL);
-}
-
-void ratio_20_9_toggled_cb (GtkWidget *widget, ParolePlayer *player)
-{
-    g_object_set (G_OBJECT (player->conf),
-		  "aspect-ratio", PAROLE_ASPECT_RATIO_DVB,
-		  NULL);
-}
-
-void parole_player_show_hide_playlist (GtkButton *button, ParolePlayer *player)
-{
-    GtkWidget *img;
-    gboolean   visible;
-    
-    g_object_get (G_OBJECT (player->show_hide_playlist),
-		  "image", &img,
-		  NULL);
-
-    visible = GTK_WIDGET_VISIBLE (player->sidebar);
-
-    if ( !visible )
-    {
-	g_object_set (G_OBJECT (img),
-		      "stock", GTK_STOCK_GO_BACK,
-		      NULL);
-		      
-	gtk_widget_show_all (player->sidebar);
-	gtk_widget_set_tooltip_text (GTK_WIDGET (player->show_hide_playlist), _("Hide playlist"));
-    }
-    else
-    {
-	g_object_set (G_OBJECT (img),
-		      "stock", GTK_STOCK_GO_FORWARD,
-		      NULL);
-		      
-	gtk_widget_hide_all (player->sidebar);
-	gtk_widget_set_tooltip_text (GTK_WIDGET (player->show_hide_playlist), _("Show playlist"));
-    }
-    g_object_unref (img);
-}
-
 static void
 parole_player_open_iso_image (ParolePlayer *player, ParoleIsoImage image)
 {
@@ -404,7 +298,7 @@ parole_player_media_cursor_changed_cb (ParoleMediaList *list, gboolean media_sel
 {
     if (player->state < PAROLE_STATE_PAUSED)
     {
-	gtk_widget_set_sensitive (player->play_pause, 
+	gtk_action_set_sensitive (player->action_play, 
 				  media_selected || !parole_media_list_is_empty (player->list));
     }
 }
@@ -420,6 +314,8 @@ parole_player_seekable_notify (ParoleStream *stream, GParamSpec *spec, ParolePla
 		  
     gtk_widget_set_tooltip_text (GTK_WIDGET (player->range), seekable ? NULL : _("Media stream is not seekable"));
     gtk_widget_set_sensitive (GTK_WIDGET (player->range), seekable);
+    gtk_widget_set_sensitive (player->seekf, seekable);
+    gtk_widget_set_sensitive (player->seekb, seekable);
 }
 
 static void
@@ -437,22 +333,6 @@ parole_player_media_progressed_cb (ParoleGst *gst, const ParoleStream *stream, g
 }
 
 static void
-parole_player_set_playpause_button_image (GtkWidget *widget, const gchar *stock_id)
-{
-    GtkWidget *img;
-    
-    g_object_get (G_OBJECT (widget),
-		  "image", &img,
-		  NULL);
-		  
-    g_object_set (G_OBJECT (img),
-		  "stock", stock_id,
-		  NULL);
-
-    g_object_unref (img);
-}
-
-static void
 parole_player_save_uri (ParolePlayer *player, const ParoleStream *stream)
 {
     ParoleMediaType media_type;
@@ -504,7 +384,6 @@ static void
 parole_player_playing (ParolePlayer *player, const ParoleStream *stream)
 {
     GdkPixbuf *pix = NULL;
-    
     gint64 duration;
     gboolean seekable;
     gboolean live;
@@ -523,15 +402,17 @@ parole_player_playing (ParolePlayer *player, const ParoleStream *stream)
 		  "live", &live,
 		  NULL);
     
-    gtk_widget_set_sensitive (player->play_pause, TRUE);
     gtk_widget_set_sensitive (player->stop, TRUE);
+    gtk_action_set_sensitive (player->action_play, TRUE);
 
-    parole_player_set_playpause_button_image (player->play_pause, GTK_STOCK_MEDIA_PAUSE);
-    
+    g_object_set (G_OBJECT (player->action_play),
+		  "stock-id", GTK_STOCK_MEDIA_PAUSE,
+		  NULL);
+    parole_set_widget_image_from_stock (player->play_pause, GTK_STOCK_MEDIA_PAUSE);
+		  
     gtk_widget_set_sensitive (player->range, seekable);
     
     player->internal_range_change = TRUE;
-    g_debug ("live=%d  duration=%lld\n", live, duration);
     
     if ( live || duration == 0)
 	parole_player_change_range_value (player, 0);
@@ -567,11 +448,17 @@ parole_player_paused (ParolePlayer *player)
     pix = parole_icon_load (GTK_STOCK_MEDIA_PAUSE, 16);
     parole_media_list_set_row_pixbuf (player->list, player->row, pix);
     
-    gtk_widget_set_sensitive (player->play_pause, TRUE);
+    gtk_action_set_sensitive (player->action_play, TRUE);
     gtk_widget_set_sensitive (player->stop, TRUE);
     
     if ( player->user_seeking == FALSE)
-	parole_player_set_playpause_button_image (player->play_pause, GTK_STOCK_MEDIA_PLAY);
+    {
+	g_object_set (G_OBJECT (player->action_play),
+		      "stock-id", GTK_STOCK_MEDIA_PLAY,
+		      NULL);
+	parole_set_widget_image_from_stock (player->play_pause, GTK_STOCK_MEDIA_PLAY);
+    }
+		  
     
     if ( pix )
 	g_object_unref (pix);
@@ -593,7 +480,7 @@ parole_player_stopped (ParolePlayer *player)
 {
     TRACE ("Player stopped");
     
-    gtk_widget_set_sensitive (player->play_pause, 
+    gtk_action_set_sensitive (player->action_play, 
 			      parole_media_list_is_selected_row (player->list) || 
 			      !parole_media_list_is_empty (player->list));
     
@@ -613,7 +500,11 @@ parole_player_stopped (ParolePlayer *player)
     gtk_widget_set_sensitive (player->seekf, FALSE);
     gtk_widget_set_sensitive (player->seekb, FALSE);
 
-    parole_player_set_playpause_button_image (player->play_pause, GTK_STOCK_MEDIA_PLAY);
+    g_object_set (G_OBJECT (player->action_play),
+		  "stock-id", GTK_STOCK_MEDIA_PLAY,
+		  NULL);
+    
+    parole_set_widget_image_from_stock (player->play_pause, GTK_STOCK_MEDIA_PLAY);
     
     parole_media_list_set_row_pixbuf (player->list, player->row, NULL);
     
@@ -730,6 +621,8 @@ parole_player_reset_saver_changed (ParolePlayer *player, const ParoleStream *str
     }
     else
 	parole_screen_saver_uninhibit (player->screen_saver);
+	
+    TRACE ("End");
 }
 
 static void
@@ -768,7 +661,7 @@ parole_player_media_state_cb (ParoleGst *gst, const ParoleStream *stream, Parole
 }
 
 void
-parole_player_play_pause_clicked (GtkButton *button, ParolePlayer *player)
+parole_player_action_play_cb (GtkAction *action, ParolePlayer *player)
 {
     if ( player->state == PAROLE_STATE_PLAYING )
 	parole_gst_pause (PAROLE_GST (player->gst));
@@ -971,18 +864,13 @@ void
 parole_player_destroy_cb (GtkObject *window, ParolePlayer *player)
 {
 }
-
-static void
-parole_player_play_menu_item_activate (ParolePlayer *player)
-{
-    gtk_widget_activate (player->play_pause);
-}
-
+/*
 static void
 parole_player_stop_menu_item_activate (ParolePlayer *player)
 {
     gtk_widget_activate (player->stop);
 }
+*/
 
 static void
 parole_player_move_fs_window (ParolePlayer *player)
@@ -1111,107 +999,15 @@ void parole_player_leave_fs_cb (GtkButton *button, ParolePlayer *player)
 static void
 parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time)
 {
-    GtkWidget *menu, *mi, *img;
-    gboolean sensitive;
-    ParoleMediaType media_type;
-    
-    media_type = parole_gst_get_current_stream_type (PAROLE_GST (player->gst));
-    
-    menu = gtk_menu_new ();
-    
-    /*Play menu item
-     */
-    mi = gtk_image_menu_item_new_from_stock (player->state == PAROLE_STATE_PLAYING 
-					     ? GTK_STOCK_MEDIA_PAUSE : GTK_STOCK_MEDIA_PLAY, 
-					     NULL);
-					     
-    g_object_get (G_OBJECT (player->play_pause),
-		  "sensitive", &sensitive,
-		  NULL);
-		  
-    gtk_widget_set_sensitive (mi, sensitive);
-    gtk_widget_show (mi);
-    g_signal_connect_swapped (mi, "activate",
-			      G_CALLBACK (parole_player_play_menu_item_activate), player);
-    gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-    
-    /*
-     * Seek Forward.
-     */
-    mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_MEDIA_FORWARD, NULL);
-					     
-    gtk_widget_set_sensitive (mi, (player->state >= PAROLE_STATE_PAUSED));
-    gtk_widget_show (mi);
-    g_signal_connect (mi, "activate",
-		      G_CALLBACK (parole_player_seekf_cb), player);
-    gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-    
-    /*
-     * Seek backward.
-     */
-    mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_MEDIA_REWIND, NULL);
-					     
-    gtk_widget_set_sensitive (mi, (player->state >= PAROLE_STATE_PAUSED));
-    gtk_widget_show (mi);
-    g_signal_connect (mi, "activate",
-		      G_CALLBACK (parole_player_seekb_cb), player);
-    gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-    
-    /*
-     * Stop menu item
-     */
-    mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_MEDIA_STOP, NULL);
-					     
-    gtk_widget_set_sensitive (mi, player->state == PAROLE_STATE_PLAYING);
-    gtk_widget_show (mi);
-    g_signal_connect_swapped (mi, "activate",
-			      G_CALLBACK (parole_player_stop_menu_item_activate), player);
-    gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-    
-    /*
-     * Next chapter menu item
-     */
-    mi = gtk_image_menu_item_new_with_label (media_type == PAROLE_MEDIA_TYPE_CDDA ? _("Next Track") : _("Next Chapter"));
-    img = gtk_image_new_from_stock (GTK_STOCK_MEDIA_NEXT, GTK_ICON_SIZE_MENU);
-    gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi),img);
-    gtk_widget_set_sensitive (mi, (player->state == PAROLE_STATE_PLAYING));
-    gtk_widget_show (mi);
-//    g_signal_connect_swapped (mi, "activate",
-//			      G_CALLBACK (parole_player_next_menu_item_activate), player);
-    gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
+//    GtkBuilder *builder;
+//    GtkWidget *menu;
     
-    /*
-     * Previous chapter menu item
-     */
-    mi = gtk_image_menu_item_new_with_label (media_type == PAROLE_MEDIA_TYPE_CDDA ? _("Previous Track") : _("Previous Chapter"));
-    img = gtk_image_new_from_stock (GTK_STOCK_MEDIA_PREVIOUS, GTK_ICON_SIZE_MENU);
-    gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
-					     
-    gtk_widget_set_sensitive (mi, (player->state == PAROLE_STATE_PLAYING));
-    gtk_widget_show (mi);
-    //  g_signal_connect_swapped (mi, "activate",
-//			      G_CALLBACK (parole_player_previous_menu_item_activate), player);
-    gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-    
-    mi = gtk_separator_menu_item_new ();
-    gtk_widget_show (mi);
-    gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-    
-    /*
-     * Un/Full screen
-     */
-    mi = gtk_image_menu_item_new_from_stock (player->full_screen ? GTK_STOCK_LEAVE_FULLSCREEN:
-					     GTK_STOCK_FULLSCREEN, NULL);
-    gtk_widget_show (mi);
-    g_signal_connect_swapped (mi, "activate",
-			      G_CALLBACK (parole_player_full_screen_menu_item_activate), player);
-    gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
+//    menu = gtk_menu_new ();
     
-
-    g_signal_connect_swapped (menu, "selection-done",
-			      G_CALLBACK (gtk_widget_destroy), menu);
+//    g_signal_connect_swapped (menu, "selection-done",
+//			      G_CALLBACK (gtk_widget_destroy), menu);
     
-    gtk_menu_popup (GTK_MENU (menu), 
+    gtk_menu_popup (GTK_MENU (player->menu_player), 
 		    NULL, NULL,
 		    NULL, NULL,
 		    button, activate_time);
@@ -1641,7 +1437,7 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
 	case GDK_space:
 	case GDK_p:
 	case GDK_P:
-	    parole_player_play_pause_clicked (NULL, player);
+	    gtk_action_activate (player->action_play);
 	    ret_val = TRUE;
 	    break;
 	case GDK_minus:
@@ -1713,7 +1509,7 @@ parole_player_key_press (GtkWidget *widget, GdkEventKey *ev, ParolePlayer *playe
 	    return TRUE;
 #ifdef HAVE_XF86_KEYSYM
 	case XF86XK_AudioPlay:
-	    parole_player_play_pause_clicked (NULL, player);
+	    gtk_action_activate (player->action_play);
 	    return TRUE;
 	case XF86XK_AudioStop:
 	    parole_player_stop_clicked (NULL, player);
@@ -1750,7 +1546,7 @@ parole_player_button_pressed_cb (ParoleButton *button, ParoleButtonKey key, Paro
     switch (key)
     {
 	case PAROLE_KEY_AUDIO_PLAY:
-	    parole_player_play_pause_clicked (NULL, player);
+	    gtk_action_activate (player->action_play);
 	    break;
 	case PAROLE_KEY_AUDIO_STOP:
 	    parole_player_stop_clicked (NULL, player);
@@ -2023,9 +1819,13 @@ parole_player_init (ParolePlayer *player)
     player->stop = GTK_WIDGET (gtk_builder_get_object (builder, "stop"));
     player->seekf = GTK_WIDGET (gtk_builder_get_object (builder, "forward"));
     player->seekb = GTK_WIDGET (gtk_builder_get_object (builder, "backward"));
-     
+    
+    player->action_play = GTK_ACTION (gtk_builder_get_object (builder, "action-play"));
+    
     player->range = GTK_WIDGET (gtk_builder_get_object (builder, "scale"));
+    player->menu_player = GTK_WIDGET (gtk_builder_get_object (builder, "menu-player"));
     
+
     player->volume = GTK_WIDGET (gtk_builder_get_object (builder, "volume"));
     player->volume_image = GTK_WIDGET (gtk_builder_get_object (builder, "volume-image"));
     
@@ -2134,7 +1934,7 @@ parole_player_init (ParolePlayer *player)
     g_signal_connect (G_OBJECT (screen), "size-changed",
 		      G_CALLBACK (parole_player_screen_size_change_changed_cb), player);
     
-    g_object_unref (builder);
+    //g_object_unref (builder);
     
     parole_player_setup_multimedia_keys (player);
     
@@ -2238,8 +2038,7 @@ parole_player_dbus_init (ParolePlayer *player)
 static gboolean	parole_player_dbus_play (ParolePlayer *player,
 					 GError *error)
 {
-    
-    parole_player_play_pause_clicked (NULL, player);
+    gtk_action_activate (player->action_play);
     return TRUE;
 }
 
diff --git a/src/parole-player.h b/src/parole-player.h
index dd5404f..ba1a6d7 100644
--- a/src/parole-player.h
+++ b/src/parole-player.h
@@ -75,11 +75,14 @@ typedef struct
 
     GtkWidget 		*window;
     GtkWidget           *sidebar;
+    GtkWidget		*menu_player;
+    
     GtkWidget		*menu_view;
     GtkWidget		*video_view;
     GtkWidget		*playlist_nt;
     GtkWidget		*main_nt;	/*Main notebook*/
     GtkWidget		*show_hide_playlist;
+    
     GtkWidget		*play_pause;
     GtkWidget		*stop;
     GtkWidget		*seekf;
@@ -106,7 +109,10 @@ typedef struct
     GtkWidget		*scale_container;
     GtkWidget		*play_container;
     
-     
+    GtkAction		*action_play;
+    
+
+
      
     gboolean             exit;
     



More information about the Xfce4-commits mailing list