[Xfce4-commits] <parole:bluesabre/gtk3> Use GtkAction for Repeat/Shuffle

Sean Davis noreply at xfce.org
Tue Sep 10 05:46:02 CEST 2013


Updating branch refs/heads/bluesabre/gtk3
         to ed4fe2eca1abc79fc568cd8623e735a1a12af7af (commit)
       from 5e2fffef8e7aba5889f8906a4a458f6bc546a7ca (commit)

commit ed4fe2eca1abc79fc568cd8623e735a1a12af7af
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Mon Sep 9 23:44:25 2013 -0400

    Use GtkAction for Repeat/Shuffle

 data/interfaces/parole.ui   |   44 +++++++++--------
 data/interfaces/playlist.ui |   24 ----------
 src/parole-medialist.c      |  110 ++++---------------------------------------
 src/parole-medialist.h      |   22 ++++-----
 src/parole-player.c         |   91 ++++++++++++-----------------------
 5 files changed, 68 insertions(+), 223 deletions(-)

diff --git a/data/interfaces/parole.ui b/data/interfaces/parole.ui
index 56bc136..a9b4d8c 100644
--- a/data/interfaces/parole.ui
+++ b/data/interfaces/parole.ui
@@ -6,6 +6,20 @@
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
+  <object class="GtkImage" id="image_disc">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixel_size">16</property>
+    <property name="icon_name">media-optical-symbolic</property>
+    <property name="use_fallback">True</property>
+  </object>
+  <object class="GtkImage" id="image_help_reportbug">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixel_size">16</property>
+    <property name="icon_name">face-sick-symbolic</property>
+    <property name="use_fallback">True</property>
+  </object>
   <object class="GtkImage" id="image_media_fullscreen">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -34,27 +48,6 @@
     <property name="icon_name">media-skip-backward-symbolic</property>
     <property name="use_fallback">True</property>
   </object>
-  <object class="GtkImage" id="image_about">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="pixel_size">16</property>
-    <property name="icon_name">gtk-about-symbolic</property>
-    <property name="use_fallback">True</property>
-  </object>
-  <object class="GtkImage" id="image_disc">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="pixel_size">16</property>
-    <property name="icon_name">media-optical-symbolic</property>
-    <property name="use_fallback">True</property>
-  </object>
-  <object class="GtkImage" id="image_help_reportbug">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="pixel_size">16</property>
-    <property name="icon_name">face-sick-symbolic</property>
-    <property name="use_fallback">True</property>
-  </object>
   <object class="GtkImage" id="image_menu_fullscreen">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -133,6 +126,13 @@
     <property name="icon_name">audio-volume-high-symbolic</property>
     <property name="use_fallback">True</property>
   </object>
+  <object class="GtkImage" id="image_about">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixel_size">16</property>
+    <property name="icon_name">gtk-about-symbolic</property>
+    <property name="use_fallback">True</property>
+  </object>
   <object class="GtkWindow" id="main-window">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Parole Media Player</property>
@@ -263,7 +263,6 @@
                         <property name="can_focus">False</property>
                         <property name="label" translatable="yes">_Repeat</property>
                         <property name="use_underline">True</property>
-                        <signal name="toggled" handler="parole_player_repeat_toggled_cb" swapped="no"/>
                       </object>
                     </child>
                     <child>
@@ -272,7 +271,6 @@
                         <property name="can_focus">False</property>
                         <property name="label" translatable="yes">_Shuffle</property>
                         <property name="use_underline">True</property>
-                        <signal name="toggled" handler="parole_player_shuffle_toggled_cb" swapped="no"/>
                       </object>
                     </child>
                     <child>
diff --git a/data/interfaces/playlist.ui b/data/interfaces/playlist.ui
index 2158a69..18c0716 100644
--- a/data/interfaces/playlist.ui
+++ b/data/interfaces/playlist.ui
@@ -149,7 +149,6 @@
             <property name="label" translatable="yes">Repeat</property>
             <property name="use_underline">True</property>
             <property name="icon_name">media-playlist-repeat-symbolic</property>
-            <signal name="toggled" handler="parole_media_list_repeat_toggled_cb" swapped="no"/>
           </object>
           <packing>
             <property name="expand">False</property>
@@ -164,7 +163,6 @@
             <property name="label" translatable="yes">Shuffle</property>
             <property name="use_underline">True</property>
             <property name="icon_name">media-playlist-shuffle-symbolic</property>
-            <signal name="toggled" handler="parole_media_list_shuffle_toggled_cb" swapped="no"/>
           </object>
           <packing>
             <property name="expand">False</property>
@@ -213,28 +211,6 @@
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <child>
-      <object class="GtkCheckMenuItem" id="menu-repeat">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">Repeat</property>
-        <property name="use_underline">True</property>
-      </object>
-    </child>
-    <child>
-      <object class="GtkCheckMenuItem" id="menu-shuffle">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">Shuffle</property>
-        <property name="use_underline">True</property>
-      </object>
-    </child>
-    <child>
-      <object class="GtkSeparatorMenuItem" id="menuitem1">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-      </object>
-    </child>
-    <child>
       <object class="GtkCheckMenuItem" id="menu-replace">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
diff --git a/src/parole-medialist.c b/src/parole-medialist.c
index 2acc4bc..9b08729 100644
--- a/src/parole-medialist.c
+++ b/src/parole-medialist.c
@@ -109,12 +109,6 @@ void        parole_media_list_remove_clicked_cb     (GtkButton *button,
 
 void        parole_media_list_clear_clicked_cb      (GtkButton *button, 
                                                      ParoleMediaList *list);
-
-void        parole_media_list_repeat_toggled_cb     (GtkToggleToolButton *button,
-                                                     ParoleMediaList *list);
-
-void        parole_media_list_shuffle_toggled_cb    (GtkToggleToolButton *button,
-                                                     ParoleMediaList *list);
                                                      
 void        parole_media_list_move_up_clicked_cb    (GtkButton *button,
                                                      ParoleMediaList *list);
@@ -189,6 +183,7 @@ struct ParoleMediaListPrivate
 
     GtkWidget *remove_button;
     GtkWidget *clear_button;
+    
     GtkWidget *repeat_button;
     GtkWidget *shuffle_button;
     
@@ -200,8 +195,6 @@ enum
     MEDIA_ACTIVATED,
     MEDIA_CURSOR_CHANGED,
     URI_OPENED,
-    SHUFFLE_TOGGLED,
-    REPEAT_TOGGLED,
     SHOW_PLAYLIST,
     ISO_OPENED,
     LAST_SIGNAL
@@ -555,28 +548,6 @@ parole_media_list_clear_clicked_cb (GtkButton *button, ParoleMediaList *list)
     parole_media_list_clear_list (list);
 }
 
-/* Callback for the repeat togglebutton */
-void
-parole_media_list_repeat_toggled_cb (GtkToggleToolButton *button, ParoleMediaList *list)
-{
-    gboolean toggled;
-    
-    toggled = gtk_toggle_tool_button_get_active (button);
-    
-    g_signal_emit (G_OBJECT (list), signals [REPEAT_TOGGLED], 0, toggled);
-}
-
-/* Callback for the shuffle togglebutton */
-void
-parole_media_list_shuffle_toggled_cb (GtkToggleToolButton *button, ParoleMediaList *list)
-{
-    gboolean toggled;
-    
-    toggled = gtk_toggle_tool_button_get_active (button);
-    
-    g_signal_emit (G_OBJECT (list), signals [SHUFFLE_TOGGLED], 0, toggled);
-}
-
 /**
  * parole_media_list_get_first_selected_row:
  * @list: a #ParoleMediaList
@@ -1280,20 +1251,6 @@ remember_playlist_activated_cb (GtkWidget *mi, ParoleConf *conf)
     }
 }
 
-static void
-repeat_activated_cb (GtkWidget *mi, ParoleMediaList *list)
-{
-    gboolean active = gtk_check_menu_item_get_active( GTK_CHECK_MENU_ITEM( mi ) );
-    gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON( list->priv->repeat_button ), active);
-}
-
-static void
-shuffle_activated_cb (GtkWidget *mi, ParoleMediaList *list)
-{
-    gboolean active = gtk_check_menu_item_get_active( GTK_CHECK_MENU_ITEM( mi ) );
-    gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON( list->priv->shuffle_button ), active);
-}
-
 void
 parole_media_list_menu_pos (GtkMenu *menu, gint *px, gint *py, gboolean *push_in, gpointer data)
 {
@@ -1343,35 +1300,18 @@ parole_media_list_show_menu (ParoleMediaList *list, GdkEventButton *ev)
     
     GtkMenu *menu;
     GtkMenuItem *clear;
-    GtkCheckMenuItem *repeat_menu, *shuffle_menu, *replace, *play_opened;
+    GtkCheckMenuItem *replace, *play_opened;
     GtkCheckMenuItem *remember;
     
     builder = parole_builder_new_from_string (playlist_ui, playlist_ui_length);
     
     menu = GTK_MENU (gtk_builder_get_object (builder, "playlist-menu"));
-    repeat_menu = GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "menu-repeat"));
-    shuffle_menu = GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "menu-shuffle"));
     replace = GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "menu-replace"));
     play_opened = GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "menu-play-opened"));
     remember = GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "menu-remember"));
     clear = GTK_MENU_ITEM (gtk_builder_get_object (builder, "menu-clear"));
     
     parole_media_list_add_open_containing_folder (list, GTK_WIDGET(menu), (gint)ev->x, (gint)ev->y);
-
-    g_object_get (G_OBJECT (list->priv->conf),
-                  "repeat", &val,
-                  NULL);
-    gtk_check_menu_item_set_active (repeat_menu, val);
-    g_signal_connect (repeat_menu, "activate",
-                      G_CALLBACK (repeat_activated_cb), list);
-
-    g_object_get (G_OBJECT (list->priv->conf),
-                  "shuffle", &val,
-                  NULL);
-
-    gtk_check_menu_item_set_active (shuffle_menu, val);
-    g_signal_connect (shuffle_menu, "activate",
-                      G_CALLBACK (shuffle_activated_cb), list);
                   
     g_object_get (G_OBJECT (list->priv->conf),
                   "replace-playlist", &val,
@@ -1497,24 +1437,6 @@ parole_media_list_class_init (ParoleMediaListClass *klass)
                       g_cclosure_marshal_VOID__STRING,
                       G_TYPE_NONE, 1, G_TYPE_STRING);
                       
-    signals[SHUFFLE_TOGGLED] = 
-        g_signal_new ("shuffle-toggled",
-                      PAROLE_TYPE_MEDIA_LIST,
-                      G_SIGNAL_RUN_LAST,
-                      G_STRUCT_OFFSET (ParoleMediaListClass, shuffle_toggled),
-                      NULL, NULL,
-                      g_cclosure_marshal_VOID__BOOLEAN,
-                      G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
-                      
-    signals[REPEAT_TOGGLED] = 
-        g_signal_new ("repeat-toggled",
-                      PAROLE_TYPE_MEDIA_LIST,
-                      G_SIGNAL_RUN_LAST,
-                      G_STRUCT_OFFSET (ParoleMediaListClass, repeat_toggled),
-                      NULL, NULL,
-                      g_cclosure_marshal_VOID__BOOLEAN,
-                      G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
-                      
     signals[SHOW_PLAYLIST] = 
         g_signal_new ("show-playlist",
                       PAROLE_TYPE_MEDIA_LIST,
@@ -2183,30 +2105,14 @@ void parole_media_list_grab_focus (ParoleMediaList *list)
         gtk_widget_grab_focus (list->priv->view);
 }
 
-void 
-parole_media_list_set_repeat_toggled (ParoleMediaList *list,
-                                      gboolean repeat_toggled)
+void parole_media_list_connect_repeat_action (ParoleMediaList *list, GtkAction *action)
 {
-    gboolean toggled;
-    
-    toggled = gtk_toggle_tool_button_get_active (GTK_TOGGLE_TOOL_BUTTON (list->priv->repeat_button));
-    
-    if (toggled != repeat_toggled)
-    {
-        gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON (list->priv->repeat_button), repeat_toggled );
-    }
+    gtk_activatable_set_use_action_appearance(GTK_ACTIVATABLE(list->priv->repeat_button), TRUE);
+    gtk_activatable_set_related_action(GTK_ACTIVATABLE(list->priv->repeat_button), action);
 }
                                                                 
-void 
-parole_media_list_set_shuffle_toggled (ParoleMediaList *list,
-                                      gboolean shuffle_toggled)
+void parole_media_list_connect_shuffle_action (ParoleMediaList *list, GtkAction *action)
 {
-    gboolean toggled;
-    
-    toggled = gtk_toggle_tool_button_get_active (GTK_TOGGLE_TOOL_BUTTON (list->priv->shuffle_button));
-    
-    if (toggled != shuffle_toggled)
-    {
-        gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON (list->priv->shuffle_button), shuffle_toggled );
-    }
+    gtk_activatable_set_use_action_appearance(GTK_ACTIVATABLE(list->priv->shuffle_button), TRUE);
+    gtk_activatable_set_related_action(GTK_ACTIVATABLE(list->priv->shuffle_button), action);
 }
diff --git a/src/parole-medialist.h b/src/parole-medialist.h
index c5e700a..7d7fa1b 100644
--- a/src/parole-medialist.h
+++ b/src/parole-medialist.h
@@ -70,12 +70,6 @@ typedef struct
     void            (*uri_opened)                   (ParoleMediaList *list,
                                                      const gchar *uri);
                                      
-    void            (*shuffle_toggled)              (ParoleMediaList *list,
-                                                     gboolean shuffle_toggled);
-                                     
-    void            (*repeat_toggled)               (ParoleMediaList *list,
-                                                     gboolean repeat_toggled);
-                                     
     void            (*show_playlist)                (ParoleMediaList *list,
                                                      gboolean show_playlist);
                                      
@@ -181,14 +175,14 @@ void                parole_media_list_save_cb       (GtkWidget *widget,
                                                      ParoleMediaList *list);
 
 void                parole_media_list_grab_focus    (ParoleMediaList *list);
-
-void                
-parole_media_list_set_repeat_toggled                (ParoleMediaList *list,
-                                                     gboolean repeat_toggled);
-                                                                
-void                
-parole_media_list_set_shuffle_toggled               (ParoleMediaList *list,
-                                                     gboolean shuffle_toggled);
+                                                     
+void
+parole_media_list_connect_repeat_action             (ParoleMediaList *list,
+                                                     GtkAction *action);
+                                                     
+void
+parole_media_list_connect_shuffle_action            (ParoleMediaList *list,
+                                                     GtkAction *action);
                                                                 
 void parole_media_list_add_dvd (ParoleMediaList *list, gchar *dvd_name);
 
diff --git a/src/parole-player.c b/src/parole-player.c
index 34b4ce1..51a5c4f 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -212,10 +212,10 @@ gboolean    parole_player_volume_scroll_event_cb    (GtkWidget *widget,
                                                      GdkEventScroll *ev,
                                                      ParolePlayer *player);
 
-void        parole_player_shuffle_toggled_cb        (GtkWidget *widget,
+void        parole_player_toggle_shuffle_action_cb  (GtkToggleAction *action,
                                                      ParolePlayer *player);
 
-void        parole_player_repeat_toggled_cb         (GtkWidget *widget,
+void        parole_player_toggle_repeat_action_cb   (GtkToggleAction *action,
                                                      ParolePlayer *player);
                              
 static void parole_player_clear_subtitles           (ParolePlayer *player);
@@ -329,8 +329,6 @@ struct ParolePlayerPrivate
     GtkWidget          *window;
     GtkWidget          *recent_menu;
     GtkWidget          *playlist_nt;
-    GtkWidget          *shuffle_menu_item;
-    GtkWidget          *repeat_menu_item;
     GtkWidget          *range;
     
     GtkWidget          *progressbar_buffering;
@@ -400,6 +398,8 @@ struct ParolePlayerPrivate
     GtkAction          *media_previous_action;
     GtkAction          *media_fullscreen_action;
     GtkToggleAction    *toggle_playlist_action;
+    GtkToggleAction    *toggle_repeat_action;
+    GtkToggleAction    *toggle_shuffle_action;
         
 };
 
@@ -1218,32 +1218,6 @@ parole_player_media_cursor_changed_cb (ParoleMediaList *list, gboolean media_sel
 }
 
 static void
-parole_player_media_list_shuffle_toggled_cb (ParoleMediaList *list, gboolean shuffle_toggled, ParolePlayer *player)
-{
-    gboolean toggled;
-    
-    toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM(player->priv->shuffle_menu_item));
-    
-    if (toggled != shuffle_toggled)
-    {
-        gtk_check_menu_item_set_active ( GTK_CHECK_MENU_ITEM(player->priv->shuffle_menu_item), shuffle_toggled);
-    }
-}
-
-static void
-parole_player_media_list_repeat_toggled_cb (ParoleMediaList *list, gboolean repeat_toggled, ParolePlayer *player)
-{
-    gboolean toggled;
-    
-    toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM(player->priv->repeat_menu_item));
-    
-    if (toggled != repeat_toggled)
-    {
-        gtk_check_menu_item_set_active ( GTK_CHECK_MENU_ITEM(player->priv->repeat_menu_item), repeat_toggled);
-    }
-}
-
-static void
 parole_player_media_list_show_playlist_cb (ParoleMediaList *list, gboolean show_playlist, ParolePlayer *player)
 {
     parole_media_list_set_playlist_view(player->priv->list, 
@@ -2148,30 +2122,18 @@ parole_player_menu_exit_cb (GtkWidget *widget, ParolePlayer *player)
 }
 
 
-void parole_player_shuffle_toggled_cb (GtkWidget *widget, ParolePlayer *player)
+void parole_player_toggle_shuffle_action_cb (GtkToggleAction *action, ParolePlayer *player)
 {
-    gboolean toggled;
-    
-    toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
-    
     g_object_set (G_OBJECT (player->priv->conf),
-                  "shuffle", toggled,
+                  "shuffle", gtk_toggle_action_get_active (action),
                   NULL);
-          
-    parole_media_list_set_shuffle_toggled(player->priv->list, toggled);
 }
 
-void parole_player_repeat_toggled_cb (GtkWidget *widget, ParolePlayer *player)
+void parole_player_toggle_repeat_action_cb (GtkToggleAction *action, ParolePlayer *player)
 {
-    gboolean toggled;
-    
-    toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
-    
     g_object_set (G_OBJECT (player->priv->conf),
-                  "repeat", toggled,
+                  "repeat", gtk_toggle_action_get_active (action),
                   NULL);
-          
-    parole_media_list_set_repeat_toggled(player->priv->list, toggled);
 }
 
 static void
@@ -2972,6 +2934,18 @@ parole_player_init (ParolePlayer *player)
     g_signal_connect(G_OBJECT(player->priv->toggle_playlist_action), "activate", G_CALLBACK(parole_player_toggle_playlist_action_cb), player);
     gtk_action_set_sensitive(GTK_ACTION(player->priv->toggle_playlist_action), TRUE);
     
+    /* Toggle Repeat */
+    player->priv->toggle_repeat_action = gtk_toggle_action_new("toggle_repeat_action", _("Repeat"), _("Repeat"), NULL);
+    gtk_action_set_icon_name(GTK_ACTION(player->priv->toggle_repeat_action), "media-playlist-repeat-symbolic");
+    g_signal_connect(G_OBJECT(player->priv->toggle_repeat_action), "activate", G_CALLBACK(parole_player_toggle_repeat_action_cb), player);
+    gtk_action_set_sensitive(GTK_ACTION(player->priv->toggle_repeat_action), TRUE);
+    
+    /* Toggle Shuffle */
+    player->priv->toggle_shuffle_action = gtk_toggle_action_new("toggle_shuffle_action", _("Shuffle"), _("Shuffle"), NULL);
+    gtk_action_set_icon_name(GTK_ACTION(player->priv->toggle_shuffle_action), "media-playlist-shuffle-symbolic");
+    g_signal_connect(G_OBJECT(player->priv->toggle_shuffle_action), "activate", G_CALLBACK(parole_player_toggle_shuffle_action_cb), player);
+    gtk_action_set_sensitive(GTK_ACTION(player->priv->toggle_shuffle_action), TRUE);
+    
     
     /*
      * GTK Widgets
@@ -3078,8 +3052,15 @@ parole_player_init (ParolePlayer *player)
     gtk_activatable_set_use_action_appearance(GTK_ACTIVATABLE(action_widget), TRUE);
     gtk_activatable_set_related_action(GTK_ACTIVATABLE(action_widget), GTK_ACTION(player->priv->toggle_playlist_action));
     
-    player->priv->shuffle_menu_item = GTK_WIDGET (gtk_builder_get_object (builder, "shuffle"));
-    player->priv->repeat_menu_item = GTK_WIDGET (gtk_builder_get_object (builder, "repeat"));
+    action_widget = GTK_WIDGET (gtk_builder_get_object (builder, "shuffle"));
+    gtk_activatable_set_use_action_appearance(GTK_ACTIVATABLE(action_widget), TRUE);
+    gtk_activatable_set_related_action(GTK_ACTIVATABLE(action_widget), GTK_ACTION(player->priv->toggle_shuffle_action));
+    parole_media_list_connect_shuffle_action(player->priv->list, GTK_ACTION(player->priv->toggle_shuffle_action));
+    
+    action_widget = GTK_WIDGET (gtk_builder_get_object (builder, "repeat"));
+    gtk_activatable_set_use_action_appearance(GTK_ACTIVATABLE(action_widget), TRUE);
+    gtk_activatable_set_related_action(GTK_ACTIVATABLE(action_widget), GTK_ACTION(player->priv->toggle_repeat_action));
+    parole_media_list_connect_repeat_action(player->priv->list, GTK_ACTION(player->priv->toggle_repeat_action));
     
     bug_report = GTK_WIDGET (gtk_builder_get_object (builder, "bug-report"));
     g_signal_connect (bug_report, "activate", G_CALLBACK(on_bug_report_clicked), player);
@@ -3299,12 +3280,6 @@ parole_player_init (ParolePlayer *player)
     g_signal_connect (player->priv->list, "uri-opened",
               G_CALLBACK (parole_player_uri_opened_cb), player);
               
-    g_signal_connect (player->priv->list, "repeat-toggled",
-              G_CALLBACK (parole_player_media_list_repeat_toggled_cb), player);
-              
-    g_signal_connect (player->priv->list, "shuffle-toggled",
-              G_CALLBACK (parole_player_media_list_shuffle_toggled_cb), player);
-              
     g_signal_connect (player->priv->list, "show-playlist",
               G_CALLBACK (parole_player_media_list_show_playlist_cb), player);
               
@@ -3321,13 +3296,9 @@ parole_player_init (ParolePlayer *player)
                   "shuffle", &shuffle,
                   NULL);
 
-    gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "repeat")), repeat);
-                    
-    parole_media_list_set_repeat_toggled(player->priv->list, repeat);
+    gtk_toggle_action_set_active (player->priv->toggle_repeat_action, repeat);
 
-    gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "shuffle")), shuffle);
-                    
-    parole_media_list_set_shuffle_toggled(player->priv->list, shuffle);
+    gtk_toggle_action_set_active (player->priv->toggle_shuffle_action, shuffle);
   
     parole_gst_set_default_aspect_ratio (player, builder);
     


More information about the Xfce4-commits mailing list