[Xfce4-commits] <parole:0.2.2> Use GtkAction for some common action between menu and control button. Start separating gtkbuilder callbacks in another file interface cleanup.

Ali Abdallah noreply at xfce.org
Thu Feb 17 18:20:01 CET 2011


Updating branch refs/heads/0.2.2
         to a60120df530237d274fc43ffce0e72e125f40d87 (commit)
       from e272615eec7b5d323ca376b845733e2387e9fd45 (commit)

commit a60120df530237d274fc43ffce0e72e125f40d87
Author: Ali Abdallah <aliov at xfce.org>
Date:   Thu Feb 17 18:18:38 2011 +0100

    Use GtkAction for some common action between menu and control button.
    Start separating gtkbuilder callbacks in another file
    interface cleanup.

 data/interfaces/parole.ui                          |  499 ++++++++++++++------
 data/interfaces/plugins.ui                         |  252 +++++-----
 src/Makefile.am                                    |    2 +
 .../parole-callbacks.c                             |   41 ++-
 src/{parole-setup.h => parole-callbacks.h}         |   10 +-
 src/parole-medialist.c                             |   18 +-
 src/parole-medialist.h                             |    3 +
 src/parole-player.c                                |  151 +------
 src/parole-player.h                                |   95 ++++-
 src/parole-plugins-manager.c                       |   10 +-
 src/parole-utils.c                                 |    3 +-
 11 files changed, 634 insertions(+), 450 deletions(-)

diff --git a/data/interfaces/parole.ui b/data/interfaces/parole.ui
index 3410097..da0e790 100644
--- a/data/interfaces/parole.ui
+++ b/data/interfaces/parole.ui
@@ -1,19 +1,154 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <requires lib="gtk+" version="2.16"/>
   <!-- interface-naming-policy project-wide -->
+  <object class="GtkToggleAction" id="action-repeat">
+    <signal name="toggled" handler="parole_action_repeat_cb" swapped="no"/>
+  </object>
+  <object class="GtkToggleAction" id="action-shuffle">
+    <signal name="toggled" handler="parole_action_shuffle_cb" swapped="no"/>
+  </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-media-play</property>
+  </object>
+  <object class="GtkImage" id="image10">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-go-back</property>
+  </object>
+  <object class="GtkImage" id="image11">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-new</property>
+    <property name="icon-size">1</property>
+  </object>
+  <object class="GtkImage" id="image12">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-cdrom</property>
+    <property name="icon-size">1</property>
+  </object>
+  <object class="GtkImage" id="image13">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-edit</property>
+    <property name="icon-size">1</property>
+  </object>
+  <object class="GtkImage" id="image14">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixel_size">18</property>
+    <property name="icon_name">applications-multimedia</property>
+  </object>
+  <object class="GtkImage" id="image15">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixel_size">18</property>
+    <property name="icon_name">multimedia-volume-control</property>
+    <property name="icon-size">1</property>
+  </object>
+  <object class="GtkImage" id="image16">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-about</property>
+    <property name="icon-size">1</property>
+  </object>
+  <object class="GtkImage" id="image17">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-network</property>
+  </object>
+  <object class="GtkImage" id="image18">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-cdrom</property>
+  </object>
+  <object class="GtkImage" id="image19">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-file</property>
+    <property name="icon-size">1</property>
+  </object>
+  <object class="GtkImage" id="image2">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-media-next</property>
+  </object>
+  <object class="GtkImage" id="image20">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-cdrom</property>
+  </object>
+  <object class="GtkImage" id="image21">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixel_size">18</property>
+    <property name="icon_name">audio-volume-muted</property>
+  </object>
+  <object class="GtkImage" id="image22">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixel_size">18</property>
+    <property name="icon_name">audio-volume-high</property>
+  </object>
+  <object class="GtkImage" id="image24">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixel_size">18</property>
+    <property name="icon_name">audio-volume-low</property>
+  </object>
+  <object class="GtkImage" id="image3">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-media-previous</property>
+  </object>
+  <object class="GtkImage" id="image4">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-media-stop</property>
+  </object>
+  <object class="GtkImage" id="image5">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="icon_name">media-playlist-repeat</property>
+  </object>
+  <object class="GtkImage" id="image6">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="icon_name">audio-volume-high</property>
+  </object>
+  <object class="GtkImage" id="image7">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="icon_name">media-playlist-shuffle</property>
+  </object>
+  <object class="GtkImage" id="image8">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-fullscreen</property>
+    <property name="icon-size">1</property>
+  </object>
+  <object class="GtkImage" id="image9">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-remove</property>
+    <property name="icon-size">1</property>
+  </object>
   <object class="GtkWindow" id="main-window">
+    <property name="can_focus">False</property>
     <property name="title" translatable="yes">Parole Media Player</property>
     <property name="window_position">center</property>
     <property name="icon_name">parole</property>
-    <signal name="destroy" handler="parole_player_destroy_cb"/>
-    <signal name="key_press_event" handler="parole_player_key_press"/>
-    <signal name="configure_event" handler="parole_player_configure_event_cb"/>
-    <signal name="delete_event" handler="parole_player_delete_event_cb" after="yes"/>
+    <signal name="destroy" handler="parole_player_destroy_cb" swapped="no"/>
+    <signal name="key-press-event" handler="parole_player_key_press" swapped="no"/>
+    <signal name="configure-event" handler="parole_player_configure_event_cb" swapped="no"/>
+    <signal name="delete-event" handler="parole_player_delete_event_cb" after="yes" swapped="no"/>
     <child>
       <object class="GtkVBox" id="vbox1">
         <property name="visible">True</property>
-        <property name="orientation">vertical</property>
+        <property name="can_focus">False</property>
         <child>
           <object class="GtkHPaned" id="hpaned1">
             <property name="visible">True</property>
@@ -21,16 +156,18 @@
             <child>
               <object class="GtkAlignment" id="sidebar">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="top_padding">2</property>
                 <property name="left_padding">5</property>
                 <child>
                   <object class="GtkVBox" id="vbox4">
                     <property name="visible">True</property>
-                    <property name="orientation">vertical</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">4</property>
                     <child>
                       <object class="GtkComboBox" id="combobox1">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="model">sidebar-combo-liststore</property>
                         <property name="active">0</property>
                         <child>
@@ -55,6 +192,7 @@
                     <child>
                       <object class="GtkNotebook" id="sidebar-notebook">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="show_tabs">False</property>
                         <property name="show_border">False</property>
                         <child>
@@ -77,6 +215,8 @@
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
@@ -91,28 +231,32 @@
             <child>
               <object class="GtkAlignment" id="alignment1">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <child>
-                  <object class="GtkVBox" id="vbox2">
+                  <object class="GtkVBox" id="main-box">
                     <property name="visible">True</property>
-                    <property name="orientation">vertical</property>
+                    <property name="can_focus">False</property>
                     <child>
                       <object class="GtkViewport" id="menu-view">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="resize_mode">queue</property>
                         <property name="shadow_type">none</property>
                         <child>
                           <object class="GtkHBox" id="hbox1">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="spacing">5</property>
                             <child>
                               <object class="GtkToggleButton" id="show-hide-list">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">True</property>
+                                <property name="use_action_appearance">False</property>
                                 <property name="image">image10</property>
                                 <property name="relief">none</property>
                                 <property name="focus_on_click">False</property>
-                                <signal name="toggled" handler="parole_player_show_hide_playlist"/>
+                                <signal name="toggled" handler="parole_player_show_hide_playlist" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -123,16 +267,21 @@
                             <child>
                               <object class="GtkHButtonBox" id="hbuttonbox2">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <child>
                                   <object class="GtkHBox" id="hbox5">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <child>
                                       <object class="GtkMenuBar" id="menubar1">
                                         <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
                                         <child>
                                           <object class="GtkImageMenuItem" id="menuitem1">
                                             <property name="label" translatable="yes">_Media</property>
                                             <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="use_action_appearance">False</property>
                                             <property name="use_underline">True</property>
                                             <property name="image">image11</property>
                                             <property name="use_stock">False</property>
@@ -140,37 +289,45 @@
                                             <child type="submenu">
                                               <object class="GtkMenu" id="menu1">
                                                 <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
                                                 <child>
                                                   <object class="GtkImageMenuItem" id="menu-add">
                                                     <property name="label">gtk-open</property>
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="use_underline">True</property>
                                                     <property name="use_stock">True</property>
-                                                    <signal name="activate" handler="parole_player_menu_add_cb"/>
+                                                    <signal name="activate" handler="parole_player_menu_add_cb" swapped="no"/>
                                                   </object>
                                                 </child>
                                                 <child>
                                                   <object class="GtkImageMenuItem" id="imagemenuitem2">
                                                     <property name="label" translatable="yes">_Open location</property>
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="use_underline">True</property>
                                                     <property name="image">image17</property>
                                                     <property name="use_stock">False</property>
-                                                    <signal name="activate" handler="parole_player_menu_open_location_cb"/>
+                                                    <signal name="activate" handler="parole_player_menu_open_location_cb" swapped="no"/>
                                                   </object>
                                                 </child>
                                                 <child>
                                                   <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
                                                   </object>
                                                 </child>
                                                 <child>
                                                   <object class="GtkImageMenuItem" id="imagemenuitem1">
                                                     <property name="label">gtk-quit</property>
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="use_underline">True</property>
                                                     <property name="use_stock">True</property>
-                                                    <signal name="activate" handler="parole_player_menu_exit_cb"/>
+                                                    <signal name="activate" handler="parole_player_menu_exit_cb" swapped="no"/>
                                                   </object>
                                                 </child>
                                               </object>
@@ -181,30 +338,38 @@
                                           <object class="GtkImageMenuItem" id="menuitem2">
                                             <property name="label" translatable="yes">_Device</property>
                                             <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="use_action_appearance">False</property>
                                             <property name="use_underline">True</property>
                                             <property name="image">image12</property>
                                             <property name="use_stock">False</property>
                                             <child type="submenu">
                                               <object class="GtkMenu" id="menu3">
                                                 <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
                                                 <child>
                                                   <object class="GtkImageMenuItem" id="dvd-menu">
                                                     <property name="label" translatable="yes">_DVD</property>
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="use_underline">True</property>
                                                     <property name="image">image18</property>
                                                     <property name="use_stock">False</property>
                                                     <child type="submenu">
                                                       <object class="GtkMenu" id="menu4">
                                                         <property name="visible">True</property>
+                                                        <property name="can_focus">False</property>
                                                         <child>
                                                           <object class="GtkImageMenuItem" id="dvd-iso-mi">
                                                             <property name="label" translatable="yes">From _ISO image</property>
                                                             <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="use_action_appearance">False</property>
                                                             <property name="use_underline">True</property>
                                                             <property name="image">image19</property>
                                                             <property name="use_stock">False</property>
-                                                            <signal name="activate" handler="dvd_iso_mi_activated_cb"/>
+                                                            <signal name="activate" handler="dvd_iso_mi_activated_cb" swapped="no"/>
                                                           </object>
                                                         </child>
                                                       </object>
@@ -215,19 +380,24 @@
                                                   <object class="GtkImageMenuItem" id="cd-menu">
                                                     <property name="label">gtk-cdrom</property>
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="use_underline">True</property>
                                                     <property name="use_stock">True</property>
                                                     <child type="submenu">
                                                       <object class="GtkMenu" id="menu5">
                                                         <property name="visible">True</property>
+                                                        <property name="can_focus">False</property>
                                                         <child>
                                                           <object class="GtkImageMenuItem" id="cd-iso-mi">
                                                             <property name="label" translatable="yes">From _ISO image</property>
                                                             <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="use_action_appearance">False</property>
                                                             <property name="use_underline">True</property>
                                                             <property name="image">image20</property>
                                                             <property name="use_stock">False</property>
-                                                            <signal name="activate" handler="cd_iso_mi_activated_cb"/>
+                                                            <signal name="activate" handler="cd_iso_mi_activated_cb" swapped="no"/>
                                                           </object>
                                                         </child>
                                                       </object>
@@ -242,36 +412,45 @@
                                           <object class="GtkImageMenuItem" id="edit-menu">
                                             <property name="label" translatable="yes">_Edit</property>
                                             <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="use_action_appearance">False</property>
                                             <property name="use_underline">True</property>
                                             <property name="image">image13</property>
                                             <property name="use_stock">False</property>
                                             <child type="submenu">
                                               <object class="GtkMenu" id="menu2">
                                                 <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="related_action">action-repeat</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="label" translatable="yes">Repeat</property>
-                                                    <property name="use_underline">True</property>
-                                                    <signal name="toggled" handler="parole_player_repeat_toggled_cb"/>
                                                   </object>
                                                 </child>
                                                 <child>
                                                   <object class="GtkCheckMenuItem" id="menu-shuffle">
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="related_action">action-shuffle</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="label" translatable="yes">Shuffle</property>
                                                     <property name="use_underline">True</property>
-                                                    <signal name="toggled" handler="parole_player_shuffle_toggled_cb"/>
                                                   </object>
                                                 </child>
                                                 <child>
                                                   <object class="GtkSeparatorMenuItem" id="separatormenuitem2">
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
                                                   </object>
                                                 </child>
                                                 <child>
                                                   <object class="GtkMenuItem" id="plugins-menu-item">
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="label" translatable="yes">Plugins</property>
                                                     <property name="use_underline">True</property>
                                                   </object>
@@ -280,9 +459,11 @@
                                                   <object class="GtkImageMenuItem" id="preferences">
                                                     <property name="label">gtk-preferences</property>
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="use_underline">True</property>
                                                     <property name="use_stock">True</property>
-                                                    <signal name="activate" handler="parole_player_open_preferences_cb"/>
+                                                    <signal name="activate" handler="parole_player_open_preferences_cb" swapped="no"/>
                                                   </object>
                                                 </child>
                                               </object>
@@ -293,72 +474,90 @@
                                           <object class="GtkImageMenuItem" id="menuitem4">
                                             <property name="label" translatable="yes">_Video</property>
                                             <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="use_action_appearance">False</property>
                                             <property name="use_underline">True</property>
                                             <property name="image">image14</property>
                                             <property name="use_stock">False</property>
                                             <child type="submenu">
                                               <object class="GtkMenu" id="menu8">
                                                 <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
                                                 <child>
                                                   <object class="GtkMenuItem" id="menuitem7">
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="label" translatable="yes">Aspect Ratio</property>
                                                     <property name="use_underline">True</property>
                                                     <child type="submenu">
                                                       <object class="GtkMenu" id="menu9">
                                                         <property name="visible">True</property>
+                                                        <property name="can_focus">False</property>
                                                         <child>
                                                           <object class="GtkRadioMenuItem" id="ratio_none">
                                                             <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="use_action_appearance">False</property>
                                                             <property name="label" translatable="yes">None</property>
                                                             <property name="use_underline">True</property>
                                                             <property name="draw_as_radio">True</property>
-                                                            <signal name="toggled" handler="ratio_none_toggled_cb"/>
+                                                            <signal name="toggled" handler="ratio_none_toggled_cb" swapped="no"/>
                                                           </object>
                                                         </child>
                                                         <child>
                                                           <object class="GtkRadioMenuItem" id="ratio_auto">
                                                             <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="use_action_appearance">False</property>
                                                             <property name="label" translatable="yes">Auto</property>
                                                             <property name="use_underline">True</property>
                                                             <property name="draw_as_radio">True</property>
-                                                            <signal name="toggled" handler="ratio_auto_toggled_cb"/>
+                                                            <signal name="toggled" handler="ratio_auto_toggled_cb" swapped="no"/>
                                                           </object>
                                                         </child>
                                                         <child>
                                                           <object class="GtkRadioMenuItem" id="ratio_square">
                                                             <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="use_action_appearance">False</property>
                                                             <property name="label" translatable="yes">Square</property>
                                                             <property name="use_underline">True</property>
                                                             <property name="draw_as_radio">True</property>
-                                                            <signal name="toggled" handler="ratio_square_toggled_cb"/>
+                                                            <signal name="toggled" handler="ratio_square_toggled_cb" swapped="no"/>
                                                           </object>
                                                         </child>
                                                         <child>
                                                           <object class="GtkRadioMenuItem" id="ratio_4_3">
                                                             <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="use_action_appearance">False</property>
                                                             <property name="label" translatable="yes">4:3 (TV)</property>
                                                             <property name="use_underline">True</property>
                                                             <property name="draw_as_radio">True</property>
-                                                            <signal name="toggled" handler="ratio_4_3_toggled_cb"/>
+                                                            <signal name="toggled" handler="ratio_4_3_toggled_cb" swapped="no"/>
                                                           </object>
                                                         </child>
                                                         <child>
                                                           <object class="GtkRadioMenuItem" id="ratio_16_9">
                                                             <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="use_action_appearance">False</property>
                                                             <property name="label" translatable="yes">16:9 (Widescreen)</property>
                                                             <property name="use_underline">True</property>
                                                             <property name="draw_as_radio">True</property>
-                                                            <signal name="toggled" handler="ratio_16_9_toggled_cb"/>
+                                                            <signal name="toggled" handler="ratio_16_9_toggled_cb" swapped="no"/>
                                                           </object>
                                                         </child>
                                                         <child>
                                                           <object class="GtkRadioMenuItem" id="ratio_20_9">
                                                             <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="use_action_appearance">False</property>
                                                             <property name="label" translatable="yes">20:9 (DVB)</property>
                                                             <property name="use_underline">True</property>
                                                             <property name="draw_as_radio">True</property>
-                                                            <signal name="toggled" handler="ratio_20_9_toggled_cb"/>
+                                                            <signal name="toggled" handler="ratio_20_9_toggled_cb" swapped="no"/>
                                                           </object>
                                                         </child>
                                                       </object>
@@ -368,15 +567,18 @@
                                                 <child>
                                                   <object class="GtkSeparatorMenuItem" id="separatormenuitem3">
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
                                                   </object>
                                                 </child>
                                                 <child>
                                                   <object class="GtkImageMenuItem" id="imagemenuitem6">
                                                     <property name="label">gtk-fullscreen</property>
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="use_underline">True</property>
                                                     <property name="use_stock">True</property>
-                                                    <signal name="activate" handler="parole_player_full_screen_activated_cb"/>
+                                                    <signal name="activate" handler="parole_player_full_screen_activated_cb" swapped="no"/>
                                                   </object>
                                                 </child>
                                               </object>
@@ -387,40 +589,49 @@
                                           <object class="GtkImageMenuItem" id="menuitem5">
                                             <property name="label" translatable="yes">_Volume</property>
                                             <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="use_action_appearance">False</property>
                                             <property name="use_underline">True</property>
                                             <property name="image">image15</property>
                                             <property name="use_stock">False</property>
                                             <child type="submenu">
                                               <object class="GtkMenu" id="menu7">
                                                 <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
                                                 <child>
                                                   <object class="GtkImageMenuItem" id="imagemenuitem4">
                                                     <property name="label" translatable="yes">_Mute</property>
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="use_underline">True</property>
                                                     <property name="image">image21</property>
                                                     <property name="use_stock">False</property>
-                                                    <signal name="activate" handler="parole_player_volume_mute"/>
+                                                    <signal name="activate" handler="parole_player_volume_mute" swapped="no"/>
                                                   </object>
                                                 </child>
                                                 <child>
                                                   <object class="GtkImageMenuItem" id="imagemenuitem5">
                                                     <property name="label" translatable="yes">Volume _Up</property>
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="use_underline">True</property>
                                                     <property name="image">image22</property>
                                                     <property name="use_stock">False</property>
-                                                    <signal name="activate" handler="parole_player_volume_up"/>
+                                                    <signal name="activate" handler="parole_player_volume_up" swapped="no"/>
                                                   </object>
                                                 </child>
                                                 <child>
                                                   <object class="GtkImageMenuItem" id="imagemenuitem7">
                                                     <property name="label" translatable="yes">Volume _Down</property>
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="use_underline">True</property>
                                                     <property name="image">image24</property>
                                                     <property name="use_stock">False</property>
-                                                    <signal name="activate" handler="parole_player_volume_down"/>
+                                                    <signal name="activate" handler="parole_player_volume_down" swapped="no"/>
                                                   </object>
                                                 </child>
                                               </object>
@@ -431,19 +642,24 @@
                                           <object class="GtkImageMenuItem" id="menuitem6">
                                             <property name="label" translatable="yes">_Help</property>
                                             <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="use_action_appearance">False</property>
                                             <property name="use_underline">True</property>
                                             <property name="image">image16</property>
                                             <property name="use_stock">False</property>
                                             <child type="submenu">
                                               <object class="GtkMenu" id="menu6">
                                                 <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
                                                 <child>
                                                   <object class="GtkImageMenuItem" id="imagemenuitem3">
                                                     <property name="label">gtk-about</property>
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
+                                                    <property name="use_action_appearance">False</property>
                                                     <property name="use_underline">True</property>
                                                     <property name="use_stock">True</property>
-                                                    <signal name="activate" handler="parole_show_about"/>
+                                                    <signal name="activate" handler="parole_show_about" swapped="no"/>
                                                   </object>
                                                 </child>
                                               </object>
@@ -466,6 +682,8 @@
                                 </child>
                               </object>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
@@ -474,36 +692,76 @@
                       </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkAlignment" id="video-view">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="top_padding">4</property>
                         <property name="right_padding">4</property>
                         <child>
-                          <object class="GtkViewport" id="videoport">
+                          <object class="GtkNotebook" id="main-notebook">
                             <property name="visible">True</property>
-                            <property name="resize_mode">queue</property>
-                            <property name="shadow_type">out</property>
+                            <property name="can_focus">True</property>
+                            <property name="show_border">False</property>
+                            <property name="tab_border">0</property>
+                            <property name="tab_hborder">0</property>
+                            <property name="tab_vborder">0</property>
                             <child>
-                              <object class="GtkHBox" id="output">
+                              <object class="GtkViewport" id="videoport">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="resize_mode">queue</property>
+                                <property name="shadow_type">out</property>
                                 <child>
-                                  <placeholder/>
+                                  <object class="GtkHBox" id="output">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <child>
+                                      <placeholder/>
+                                    </child>
+                                  </object>
                                 </child>
                               </object>
                             </child>
+                            <child type="tab">
+                              <object class="GtkLabel" id="label1">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="label" translatable="yes">Now playing</property>
+                              </object>
+                              <packing>
+                                <property name="tab_fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child type="tab">
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child type="tab">
+                              <placeholder/>
+                            </child>
                           </object>
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkAlignment" id="control">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="top_padding">2</property>
                         <property name="bottom_padding">2</property>
                         <property name="left_padding">2</property>
@@ -511,10 +769,11 @@
                         <child>
                           <object class="GtkVBox" id="play-box">
                             <property name="visible">True</property>
-                            <property name="orientation">vertical</property>
+                            <property name="can_focus">False</property>
                             <child>
                               <object class="GtkAlignment" id="scale-container">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="left_padding">5</property>
                                 <property name="right_padding">5</property>
                                 <child>
@@ -523,40 +782,49 @@
                                     <property name="sensitive">False</property>
                                     <property name="can_focus">True</property>
                                     <property name="draw_value">False</property>
-                                    <signal name="button_press_event" handler="parole_player_range_button_press"/>
-                                    <signal name="value_changed" handler="parole_player_range_value_changed"/>
-                                    <signal name="button_release_event" handler="parole_player_range_button_release"/>
+                                    <signal name="button-press-event" handler="parole_player_range_button_press" swapped="no"/>
+                                    <signal name="value-changed" handler="parole_player_range_value_changed" swapped="no"/>
+                                    <signal name="button-release-event" handler="parole_player_range_button_release" swapped="no"/>
                                   </object>
                                 </child>
                               </object>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkAlignment" id="alignment6">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <child>
                                   <object class="GtkHBox" id="hbox2">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <child>
                                       <object class="GtkHButtonBox" id="hbuttonbox1">
                                         <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
                                         <child>
                                           <object class="GtkHBox" id="hbox3">
                                             <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
                                             <property name="spacing">2</property>
                                             <child>
                                               <object class="GtkToggleButton" id="shuffle">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
                                                 <property name="receives_default">True</property>
+                                                <property name="related_action">action-shuffle</property>
+                                                <property name="use_action_appearance">False</property>
                                                 <property name="image">image7</property>
                                                 <property name="relief">none</property>
                                                 <property name="focus_on_click">False</property>
-                                                <signal name="toggled" handler="parole_player_shuffle_toggled_cb"/>
                                               </object>
                                               <packing>
+                                                <property name="expand">True</property>
+                                                <property name="fill">True</property>
                                                 <property name="position">0</property>
                                               </packing>
                                             </child>
@@ -565,12 +833,15 @@
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
                                                 <property name="receives_default">True</property>
+                                                <property name="related_action">action-repeat</property>
+                                                <property name="use_action_appearance">False</property>
                                                 <property name="image">image5</property>
                                                 <property name="relief">none</property>
                                                 <property name="focus_on_click">False</property>
-                                                <signal name="toggled" handler="parole_player_repeat_toggled_cb"/>
                                               </object>
                                               <packing>
+                                                <property name="expand">True</property>
+                                                <property name="fill">True</property>
                                                 <property name="position">1</property>
                                               </packing>
                                             </child>
@@ -579,23 +850,28 @@
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
                                                 <property name="receives_default">True</property>
+                                                <property name="use_action_appearance">False</property>
                                                 <property name="image">image4</property>
                                                 <property name="relief">none</property>
                                                 <property name="focus_on_click">False</property>
-                                                <signal name="clicked" handler="parole_player_stop_clicked"/>
+                                                <signal name="clicked" handler="parole_player_stop_clicked" swapped="no"/>
                                               </object>
                                               <packing>
+                                                <property name="expand">True</property>
+                                                <property name="fill">True</property>
                                                 <property name="position">2</property>
                                               </packing>
                                             </child>
                                             <child>
                                               <object class="GtkViewport" id="viewport3">
                                                 <property name="visible">True</property>
+                                                <property name="can_focus">False</property>
                                                 <property name="resize_mode">queue</property>
                                                 <property name="shadow_type">out</property>
                                                 <child>
                                                   <object class="GtkHBox" id="hbox4">
                                                     <property name="visible">True</property>
+                                                    <property name="can_focus">False</property>
                                                     <property name="spacing">2</property>
                                                     <child>
                                                       <object class="GtkButton" id="backward">
@@ -603,6 +879,7 @@
                                                         <property name="visible">True</property>
                                                         <property name="can_focus">True</property>
                                                         <property name="receives_default">True</property>
+                                                        <property name="use_action_appearance">False</property>
                                                         <property name="image">image3</property>
                                                         <property name="relief">none</property>
                                                         <property name="focus_on_click">False</property>
@@ -616,6 +893,7 @@
                                                     <child>
                                                       <object class="GtkAlignment" id="play-container">
                                                         <property name="visible">True</property>
+                                                        <property name="can_focus">False</property>
                                                         <child>
                                                           <object class="GtkButton" id="play">
                                                             <property name="width_request">80</property>
@@ -623,14 +901,17 @@
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="receives_default">True</property>
+                                                            <property name="use_action_appearance">False</property>
                                                             <property name="image">image1</property>
                                                             <property name="relief">half</property>
                                                             <property name="focus_on_click">False</property>
-                                                            <signal name="clicked" handler="parole_player_play_pause_clicked"/>
+                                                            <signal name="clicked" handler="parole_player_play_pause_clicked" swapped="no"/>
                                                           </object>
                                                         </child>
                                                       </object>
                                                       <packing>
+                                                        <property name="expand">True</property>
+                                                        <property name="fill">True</property>
                                                         <property name="position">1</property>
                                                       </packing>
                                                     </child>
@@ -640,6 +921,7 @@
                                                         <property name="visible">True</property>
                                                         <property name="can_focus">True</property>
                                                         <property name="receives_default">True</property>
+                                                        <property name="use_action_appearance">False</property>
                                                         <property name="image">image2</property>
                                                         <property name="relief">none</property>
                                                         <property name="focus_on_click">False</property>
@@ -654,6 +936,8 @@
                                                 </child>
                                               </object>
                                               <packing>
+                                                <property name="expand">True</property>
+                                                <property name="fill">True</property>
                                                 <property name="padding">5</property>
                                                 <property name="position">3</property>
                                               </packing>
@@ -664,10 +948,11 @@
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">True</property>
                                                 <property name="receives_default">True</property>
+                                                <property name="use_action_appearance">False</property>
                                                 <property name="image">image6</property>
                                                 <property name="relief">none</property>
                                                 <property name="focus_on_click">False</property>
-                                                <signal name="toggled" handler="parole_player_volume_toggled"/>
+                                                <signal name="toggled" handler="parole_player_volume_toggled" swapped="no"/>
                                               </object>
                                               <packing>
                                                 <property name="expand">False</property>
@@ -683,8 +968,8 @@
                                                 <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"/>
+                                                <signal name="value-changed" handler="parole_player_volume_value_changed_cb" swapped="no"/>
+                                                <signal name="scroll-event" handler="parole_player_volume_scroll_event_cb" swapped="no"/>
                                               </object>
                                               <packing>
                                                 <property name="expand">False</property>
@@ -702,22 +987,25 @@
                                         </child>
                                       </object>
                                       <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
                                         <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
                                       <object class="GtkVBox" id="vbox3">
                                         <property name="visible">True</property>
-                                        <property name="orientation">vertical</property>
+                                        <property name="can_focus">False</property>
                                         <child>
                                           <object class="GtkButton" id="leave-fs">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
                                             <property name="receives_default">True</property>
+                                            <property name="use_action_appearance">False</property>
                                             <property name="image">image8</property>
                                             <property name="relief">none</property>
                                             <property name="focus_on_click">False</property>
-                                            <signal name="clicked" handler="parole_player_full_screen_activated_cb"/>
+                                            <signal name="clicked" handler="parole_player_full_screen_activated_cb" swapped="no"/>
                                           </object>
                                           <packing>
                                             <property name="expand">False</property>
@@ -730,10 +1018,11 @@
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
                                             <property name="receives_default">True</property>
+                                            <property name="use_action_appearance">False</property>
                                             <property name="image">image9</property>
                                             <property name="relief">none</property>
                                             <property name="focus_on_click">False</property>
-                                            <signal name="clicked" handler="parole_player_minimize_clicked_cb"/>
+                                            <signal name="clicked" handler="parole_player_minimize_clicked_cb" swapped="no"/>
                                           </object>
                                           <packing>
                                             <property name="expand">False</property>
@@ -753,18 +1042,22 @@
                                 </child>
                               </object>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkAlignment" id="alignment2">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="bottom_padding">2</property>
                                 <property name="left_padding">5</property>
                                 <property name="right_padding">5</property>
                                 <child>
                                   <object class="GtkHBox" id="statusbox">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <property name="spacing">5</property>
                                     <child>
                                       <placeholder/>
@@ -774,6 +1067,7 @@
                               </object>
                               <packing>
                                 <property name="expand">False</property>
+                                <property name="fill">True</property>
                                 <property name="position">2</property>
                               </packing>
                             </child>
@@ -796,117 +1090,14 @@
             </child>
           </object>
           <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
             <property name="position">0</property>
           </packing>
         </child>
       </object>
     </child>
   </object>
-  <object class="GtkImage" id="image7">
-    <property name="visible">True</property>
-    <property name="icon_name">media-playlist-shuffle</property>
-  </object>
-  <object class="GtkImage" id="image5">
-    <property name="visible">True</property>
-    <property name="icon_name">media-playlist-repeat</property>
-  </object>
-  <object class="GtkImage" id="image4">
-    <property name="visible">True</property>
-    <property name="stock">gtk-media-stop</property>
-  </object>
-  <object class="GtkImage" id="image3">
-    <property name="visible">True</property>
-    <property name="stock">gtk-media-previous</property>
-  </object>
-  <object class="GtkImage" id="image1">
-    <property name="visible">True</property>
-    <property name="stock">gtk-media-play</property>
-  </object>
-  <object class="GtkImage" id="image2">
-    <property name="visible">True</property>
-    <property name="stock">gtk-media-next</property>
-  </object>
-  <object class="GtkImage" id="image6">
-    <property name="visible">True</property>
-    <property name="icon_name">audio-volume-high</property>
-  </object>
-  <object class="GtkImage" id="image8">
-    <property name="visible">True</property>
-    <property name="stock">gtk-fullscreen</property>
-    <property name="icon-size">1</property>
-  </object>
-  <object class="GtkImage" id="image9">
-    <property name="visible">True</property>
-    <property name="stock">gtk-remove</property>
-    <property name="icon-size">1</property>
-  </object>
-  <object class="GtkImage" id="image10">
-    <property name="visible">True</property>
-    <property name="stock">gtk-go-back</property>
-  </object>
-  <object class="GtkImage" id="image11">
-    <property name="visible">True</property>
-    <property name="stock">gtk-new</property>
-    <property name="icon-size">1</property>
-  </object>
-  <object class="GtkImage" id="image17">
-    <property name="visible">True</property>
-    <property name="stock">gtk-network</property>
-  </object>
-  <object class="GtkImage" id="image12">
-    <property name="visible">True</property>
-    <property name="stock">gtk-cdrom</property>
-    <property name="icon-size">1</property>
-  </object>
-  <object class="GtkImage" id="image18">
-    <property name="visible">True</property>
-    <property name="stock">gtk-cdrom</property>
-  </object>
-  <object class="GtkImage" id="image19">
-    <property name="visible">True</property>
-    <property name="stock">gtk-file</property>
-    <property name="icon-size">1</property>
-  </object>
-  <object class="GtkImage" id="image20">
-    <property name="visible">True</property>
-    <property name="stock">gtk-cdrom</property>
-  </object>
-  <object class="GtkImage" id="image13">
-    <property name="visible">True</property>
-    <property name="stock">gtk-edit</property>
-    <property name="icon-size">1</property>
-  </object>
-  <object class="GtkImage" id="image14">
-    <property name="visible">True</property>
-    <property name="pixel_size">18</property>
-    <property name="icon_name">applications-multimedia</property>
-  </object>
-  <object class="GtkImage" id="image15">
-    <property name="visible">True</property>
-    <property name="pixel_size">18</property>
-    <property name="icon_name">multimedia-volume-control</property>
-    <property name="icon-size">1</property>
-  </object>
-  <object class="GtkImage" id="image21">
-    <property name="visible">True</property>
-    <property name="pixel_size">18</property>
-    <property name="icon_name">audio-volume-muted</property>
-  </object>
-  <object class="GtkImage" id="image22">
-    <property name="visible">True</property>
-    <property name="pixel_size">18</property>
-    <property name="icon_name">audio-volume-high</property>
-  </object>
-  <object class="GtkImage" id="image24">
-    <property name="visible">True</property>
-    <property name="pixel_size">18</property>
-    <property name="icon_name">audio-volume-low</property>
-  </object>
-  <object class="GtkImage" id="image16">
-    <property name="visible">True</property>
-    <property name="stock">gtk-about</property>
-    <property name="icon-size">1</property>
-  </object>
   <object class="GtkListStore" id="sidebar-combo-liststore">
     <columns>
       <!-- column-name pix -->
diff --git a/data/interfaces/plugins.ui b/data/interfaces/plugins.ui
index 8eb352f..f8d2713 100644
--- a/data/interfaces/plugins.ui
+++ b/data/interfaces/plugins.ui
@@ -1,6 +1,7 @@
 <?xml version="1.0"?>
 <interface>
   <requires lib="gtk+" version="2.16"/>
+  <!-- interface-requires libxfce4ui 4.5 -->
   <!-- interface-naming-policy project-wide -->
   <object class="GtkListStore" id="liststore">
     <columns>
@@ -24,7 +25,6 @@
     <property name="type_hint">normal</property>
     <property name="skip_taskbar_hint">True</property>
     <property name="skip_pager_hint">True</property>
-    <property name="has_separator">False</property>
     <property name="subtitle" translatable="yes">Media Player plugins</property>
     <signal name="response" handler="parole_plugins_manager_pref_response_cb"/>
     <child internal-child="vbox">
@@ -33,52 +33,58 @@
         <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <child>
-          <object class="GtkHBox" id="hbox1">
+          <object class="GtkVBox" id="vbox1">
             <property name="visible">True</property>
-            <property name="spacing">10</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">5</property>
+            <child>
+              <object class="GtkLabel" id="label3">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">Choose which plugins to load:</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
             <child>
               <object class="GtkViewport" id="viewport1">
                 <property name="visible">True</property>
                 <property name="resize_mode">queue</property>
                 <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow1">
+                  <object class="GtkTreeView" id="treeview">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">never</property>
-                    <property name="vscrollbar_policy">automatic</property>
+                    <property name="model">liststore</property>
+                    <property name="headers_clickable">False</property>
+                    <property name="search_column">0</property>
+                    <signal name="cursor_changed" handler="parole_plugins_manager_tree_cursor_changed_cb"/>
                     <child>
-                      <object class="GtkTreeView" id="treeview">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="model">liststore</property>
-                        <property name="headers_clickable">False</property>
-                        <property name="search_column">0</property>
-                        <signal name="cursor_changed" handler="parole_plugins_manager_tree_cursor_changed_cb"/>
+                      <object class="GtkTreeViewColumn" id="treeviewcolumn1">
+                        <property name="resizable">True</property>
+                        <property name="title">Enabled</property>
+                        <property name="clickable">True</property>
                         <child>
-                          <object class="GtkTreeViewColumn" id="treeviewcolumn1">
-                            <property name="resizable">True</property>
-                            <property name="title">Enabled</property>
-                            <property name="clickable">True</property>
-                            <child>
-                              <object class="GtkCellRendererToggle" id="cellrenderertoggle">
-                                <signal name="toggled" handler="parole_plugins_manager_cell_toggled_cb"/>
-                              </object>
-                              <attributes>
-                                <attribute name="active">0</attribute>
-                              </attributes>
-                            </child>
+                          <object class="GtkCellRendererToggle" id="cellrenderertoggle">
+                            <signal name="toggled" handler="parole_plugins_manager_cell_toggled_cb"/>
                           </object>
+                          <attributes>
+                            <attribute name="active">0</attribute>
+                          </attributes>
                         </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkTreeViewColumn" id="treeviewcolumn2">
+                        <property name="title">Plugin</property>
                         <child>
-                          <object class="GtkTreeViewColumn" id="treeviewcolumn2">
-                            <property name="title">Plugin</property>
-                            <child>
-                              <object class="GtkCellRendererText" id="cellrenderertext1"/>
-                              <attributes>
-                                <attribute name="text">1</attribute>
-                              </attributes>
-                            </child>
-                          </object>
+                          <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                          <attributes>
+                            <attribute name="text">1</attribute>
+                          </attributes>
                         </child>
                       </object>
                     </child>
@@ -86,132 +92,122 @@
                 </child>
               </object>
               <packing>
-                <property name="position">0</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHSeparator" id="hseparator1">
+                <property name="visible">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">2</property>
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="vbox1">
+              <object class="GtkHBox" id="hbox4">
                 <property name="visible">True</property>
-                <property name="orientation">vertical</property>
-                <property name="spacing">10</property>
                 <child>
-                  <object class="GtkTable" id="table1">
+                  <object class="GtkLabel" id="label1">
                     <property name="visible">True</property>
-                    <property name="n_rows">3</property>
-                    <property name="n_columns">2</property>
-                    <property name="column_spacing">4</property>
-                    <property name="row_spacing">10</property>
-                    <child>
-                      <object class="GtkLabel" id="label1">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes"><b>Description:</b></property>
-                        <property name="use_markup">True</property>
-                      </object>
-                      <packing>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label2">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes"><b>Author:</b></property>
-                        <property name="use_markup">True</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</property>
+                    <property name="label" translatable="yes"><b>Plugin details:</b></property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="configure">
+                    <property name="label">gtk-properties</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="use_stock">True</property>
+                    <signal name="clicked" handler="parole_plugins_manager_show_configure"/>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="pack_type">end</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkViewport" id="viewport2">
+                <property name="visible">True</property>
+                <property name="resize_mode">queue</property>
+                <child>
+                  <object class="GtkVBox" id="vbox2">
+                    <property name="visible">True</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">4</property>
                     <child>
-                      <object class="GtkLabel" id="description">
+                      <object class="GtkHBox" id="hbox1">
                         <property name="visible">True</property>
-                        <property name="use_markup">True</property>
-                        <property name="wrap">True</property>
+                        <property name="spacing">2</property>
+                        <child>
+                          <object class="GtkLabel" id="description">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="yalign">0</property>
+                            <property name="use_markup">True</property>
+                          </object>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="author">
                         <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">0</property>
                         <property name="use_markup">True</property>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label4">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes"><b>Site:</b></property>
-                        <property name="use_markup">True</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkHBox" id="site-box">
+                      <object class="GtkHBox" id="hbox2">
                         <property name="visible">True</property>
+                        <property name="spacing">2</property>
                         <child>
-                          <placeholder/>
+                          <object class="GtkHBox" id="site-box">
+                            <property name="visible">True</property>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox6">
-                    <property name="visible">True</property>
-                    <property name="spacing">10</property>
-                    <child>
-                      <object class="GtkButton" id="configure">
-                        <property name="label">gtk-properties</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">True</property>
-                        <property name="use_stock">True</property>
-                        <signal name="clicked" handler="parole_plugins_manager_show_configure"/>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="position">0</property>
+                        <property name="position">2</property>
                       </packing>
                     </child>
-                    <child>
-                      <placeholder/>
-                    </child>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="pack_type">end</property>
-                    <property name="position">1</property>
-                  </packing>
                 </child>
               </object>
               <packing>
-                <property name="position">1</property>
+                <property name="position">4</property>
               </packing>
             </child>
           </object>
diff --git a/src/Makefile.am b/src/Makefile.am
index 9ed3fa8..32bf62d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -36,6 +36,8 @@ parole_SOURCES =				\
 	main.c					\
 	parole-player.c				\
 	parole-player.h				\
+	parole-callbacks.c			\
+	parole-callbacks.h			\
 	parole-vis.c				\
 	parole-vis.h				\
 	parole-statusbar.c			\
diff --git a/plugins/window-title/window-title-plugin.c b/src/parole-callbacks.c
similarity index 51%
copy from plugins/window-title/window-title-plugin.c
copy to src/parole-callbacks.c
index d702b13..b8b147d 100644
--- a/plugins/window-title/window-title-plugin.c
+++ b/src/parole-callbacks.c
@@ -1,5 +1,5 @@
 /*
- * * Copyright (C) 2009 Ali <aliov at xfce.org>
+ * * Copyright (C) 2011 Ali <aliov at xfce.org>
  *
  * Licensed under the GNU General Public License Version 2
  *
@@ -22,26 +22,41 @@
 #include <config.h>
 #endif
 
-#include <libxfce4util/libxfce4util.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 
-#include "window-title-provider.h"
+#include <gtk/gtk.h>
 
-G_MODULE_EXPORT GType	parole_plugin_initialize (ParoleProviderPlugin *plugin);
-						  
-G_MODULE_EXPORT void	parole_plugin_shutdown   (void);
+#include "parole-player.h"
 
-G_MODULE_EXPORT GType
-parole_plugin_initialize (ParoleProviderPlugin *plugin)
+
+/*
+ * GtkBuilder Callbacks
+ */
+void parole_action_repeat_cb 		(GtkToggleAction *action, ParolePlayer *player);
+void parole_action_shuffle_cb 		(GtkToggleAction *action, ParolePlayer *player);
+
+
+
+void parole_action_repeat_cb (GtkToggleAction *action, ParolePlayer *player) 
 {
-    xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
+    gboolean toggled;
     
-    window_title_provider_register_type (plugin);
+    toggled = gtk_toggle_action_get_active (action);
     
-    return WINDOW_TYPE_TITLE_PROVIDER;
+    g_object_set (G_OBJECT (player->conf),
+		  "repeat", toggled,
+		  NULL);
 }
 
-G_MODULE_EXPORT void
-parole_plugin_shutdown (void)
+void parole_action_shuffle_cb (GtkToggleAction *action, ParolePlayer *player) 
 {
+    gboolean toggled;
+    
+    toggled = gtk_toggle_action_get_active (action);
     
+    g_object_set (G_OBJECT (player->conf),
+		  "shuffle", toggled,
+		  NULL);
 }
diff --git a/src/parole-setup.h b/src/parole-callbacks.h
similarity index 83%
copy from src/parole-setup.h
copy to src/parole-callbacks.h
index bf47a06..50d0c94 100644
--- a/src/parole-setup.h
+++ b/src/parole-callbacks.h
@@ -1,5 +1,5 @@
 /*
- * * Copyright (C) 2009 Ali <aliov at xfce.org>
+ * * Copyright (C) 201 Ali <aliov at xfce.org>
  *
  * Licensed under the GNU General Public License Version 2
  *
@@ -18,11 +18,9 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-#ifndef __PAROLE_SETUP_H_
-#define __PAROLE_SETUP_H_
+#ifndef __PAROLE_CALLBACKS_H_
+#define __PAROLE_CALLBACKS_H_
 
 #include <glib.h>
 
-void		parole_setup 	(void);
-
-#endif /* __PAROLE_SETUP_H_ */
+#endif /* __PAROLE_CALLBACKS_H_ */
diff --git a/src/parole-medialist.c b/src/parole-medialist.c
index 14f1018..d311863 100644
--- a/src/parole-medialist.c
+++ b/src/parole-medialist.c
@@ -1472,7 +1472,7 @@ GtkTreeRowReference *parole_media_list_get_next_row (ParoleMediaList *list,
     if ( gtk_tree_model_get_iter (GTK_TREE_MODEL (list->priv->store), &iter, path))
     {
 	next = gtk_tree_row_reference_new (GTK_TREE_MODEL (list->priv->store), path);
-	parole_media_list_select_path (list, path);
+	//parole_media_list_select_path (list, path);
     }
     else if ( repeat ) /* Repeat playing ?*/
     {
@@ -1506,7 +1506,7 @@ GtkTreeRowReference *parole_media_list_get_prev_row (ParoleMediaList *list,
     if ( gtk_tree_model_get_iter (GTK_TREE_MODEL (list->priv->store), &iter, path))
     {
 	prev = gtk_tree_row_reference_new (GTK_TREE_MODEL (list->priv->store), path);
-	parole_media_list_select_path (list, path);
+	//parole_media_list_select_path (list, path);
     }
     else
 	prev = row;
@@ -1539,7 +1539,7 @@ GtkTreeRowReference *parole_media_list_get_row_random (ParoleMediaList *list)
     if ( gtk_tree_model_get_iter (GTK_TREE_MODEL (list->priv->store), &iter, path))
     {
 	row  = gtk_tree_row_reference_new (GTK_TREE_MODEL (list->priv->store), path);
-	parole_media_list_select_path (list, path);
+	//parole_media_list_select_path (list, path);
     }
     
     gtk_tree_path_free (path);
@@ -1591,6 +1591,18 @@ GtkTreeRowReference *parole_media_list_get_selected_row (ParoleMediaList *list)
     return parole_media_list_get_first_selected_row (list);
 }
 
+void parole_media_list_select_row (ParoleMediaList *list, GtkTreeRowReference *row)
+{
+    GtkTreePath *path;
+    
+    if ( gtk_tree_row_reference_valid (row) )
+    {
+	path = gtk_tree_row_reference_get_path (row);
+	parole_media_list_select_path (list, path);
+	gtk_tree_path_free (path);
+    }
+}
+
 void parole_media_list_set_row_pixbuf  (ParoleMediaList *list, GtkTreeRowReference *row, GdkPixbuf *pix)
 {
     GtkTreeIter iter;
diff --git a/src/parole-medialist.h b/src/parole-medialist.h
index f31e198..a548f43 100644
--- a/src/parole-medialist.h
+++ b/src/parole-medialist.h
@@ -82,6 +82,9 @@ GtkTreeRowReference             *parole_media_list_get_first_row    (ParoleMedia
 
 GtkTreeRowReference		*parole_media_list_get_selected_row (ParoleMediaList *list);
 
+void				 parole_media_list_select_row 	    (ParoleMediaList *list,
+								     GtkTreeRowReference *row);
+
 GtkTreeRowReference             *parole_media_list_get_next_row     (ParoleMediaList *list,
 								     GtkTreeRowReference *row,
 								     gboolean repeat);
diff --git a/src/parole-player.c b/src/parole-player.c
index d529a2e..3ed9427 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -37,9 +37,7 @@
 #include <gtk/gtk.h>
 
 #include <libxfce4util/libxfce4util.h>
-#include <libxfce4ui/libxfce4ui.h>
 
-#include <dbus/dbus-glib.h>
 
 #include <parole/parole-file.h>
 
@@ -47,20 +45,14 @@
 #include "parole-about.h"
 
 #include "parole-player.h"
-#include "parole-gst.h"
+
 #include "parole-dbus.h"
 #include "parole-mediachooser.h"
 #include "parole-filters.h"
-#include "parole-disc.h"
-#include "parole-statusbar.h"
-#include "parole-screensaver.h"
-#include "parole-conf-dialog.h"
-#include "parole-conf.h"
 #include "parole-rc-utils.h"
 #include "parole-iso-image.h"
 #include "parole-utils.h"
 #include "parole-debug.h"
-#include "parole-button.h"
 #include "enum-gtypes.h"
 #include "parole-debug.h"
 
@@ -81,9 +73,6 @@ static void parole_player_disc_selected_cb (ParoleDisc *disc,
 					    const gchar *device, 
 					    ParolePlayer *player);
 
-/*
- * GtkBuilder Callbacks
- */
 gboolean        parole_player_configure_event_cb        (GtkWidget *widget, 
 							 GdkEventConfigure *ev, 
 							 ParolePlayer *player);
@@ -169,12 +158,6 @@ void		parole_player_volume_toggled		(GtkWidget *widget,
 void		parole_player_full_screen_activated_cb  (GtkWidget *widget,
 							 ParolePlayer *player);
 
-void		parole_player_shuffle_toggled_cb	(GtkWidget *widget,
-							 ParolePlayer *player);
-
-void		parole_player_repeat_toggled_cb		(GtkWidget *widget,
-							 ParolePlayer *player);
-							 
 void		parole_player_minimize_clicked_cb	(GtkWidget *widget,
 							 ParolePlayer *player);
 							 
@@ -216,85 +199,6 @@ static GtkTargetEntry target_entry[] =
  * End of GtkBuilder Callbacks
  */
 
-struct _ParolePlayerClass
-{
-    GObjectClass 	parent_class;
-    
-};
-
-struct _ParolePlayer
-{
-    GObject         	parent;
-    
-    
-    DBusGConnection     *bus;
-    ParoleMediaList	*list;
-    ParoleStatusbar     *statusbar;
-    ParoleDisc          *disc;
-    ParoleScreenSaver   *screen_saver;
-    ParoleConf          *conf;
-
-#ifdef HAVE_XF86_KEYSYM
-    ParoleButton        *button;
-#endif
-
-    XfceSMClient        *sm_client;
-    gchar               *client_id;
-    
-    GtkFileFilter       *video_filter;
-    GtkRecentManager    *recent;
-
-    GtkWidget 		*gst;
-
-    GtkWidget 		*window;
-    GtkWidget           *sidebar;
-    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;
-    GtkWidget		*seekb;
-    GtkWidget		*range;
-    GtkWidget 		*min_view;
-    GtkWidget		*videoport;
-    
-    GtkWidget		*fs_window; /* Window for packing control widgets 
-				     * when in full screen mode
-				     */
-    GtkWidget		*control; /* contains all play button*/
-    GtkWidget		*leave_fs;
-    
-    GtkWidget		*main_box;
-    
-    GtkWidget		*volume;
-    GtkWidget		*volume_image;
-    
-    /**
-     * Control widget Containers
-     * 
-     **/
-    GtkWidget		*scale_container;
-    GtkWidget		*play_container;
-    
-     
-     
-    gboolean             exit;
-    
-    gboolean		 full_screen;
-    gboolean		 minimized;
-    
-    ParoleState     state;
-    gboolean		 user_seeking;
-    gboolean             internal_range_change;
-    gboolean		 buffering;
-    
-    GtkTreeRowReference *row;
-        
-};
-
 enum
 {
     PROP_0,
@@ -467,7 +371,7 @@ parole_player_media_activated_cb (ParoleMediaList *list, GtkTreeRowReference *ro
 	    TRACE ("Trying to play media file %s", uri);
 	    TRACE ("File content type %s", parole_file_get_content_type (file));
 	    
-	    gtk_widget_set_sensitive (player->stop, TRUE);
+	    //gtk_widget_set_sensitive (player->stop, TRUE);
 	    
 	    parole_gst_play_uri (PAROLE_GST (player->gst), 
 				 parole_file_get_uri (file),
@@ -649,7 +553,7 @@ parole_player_playing (ParolePlayer *player, const ParoleStream *stream)
 	g_object_unref (pix);
 	
     parole_player_save_uri (player, stream);
-    
+    parole_media_list_select_row (player->list, player->row);
     gtk_widget_grab_focus (player->gst);
 }
 
@@ -734,7 +638,7 @@ parole_player_play_selected_row (ParolePlayer *player)
 }
 
 static void
-parole_player_play_next (ParolePlayer *player, gboolean allow_shuffle)
+parole_player_play_next (ParolePlayer *player, gboolean allow_shuffle, gboolean stop)
 {
     gboolean repeat, shuffle;
     
@@ -767,7 +671,8 @@ parole_player_play_next (ParolePlayer *player, gboolean allow_shuffle)
 	}
     }
 
-    parole_gst_stop (PAROLE_GST (player->gst));
+    if (stop)
+	parole_gst_stop (PAROLE_GST (player->gst));
 }
 
 static void
@@ -858,7 +763,7 @@ parole_player_media_state_cb (ParoleGst *gst, const ParoleStream *stream, Parole
 	    TRACE ("***Playback about to finish***");
 #endif
 	
-	parole_player_play_next (player, TRUE);
+	parole_player_play_next (player, TRUE, state == PAROLE_STATE_PLAYBACK_FINISHED);
     }
 }
 
@@ -1424,42 +1329,6 @@ parole_player_menu_exit_cb (GtkWidget *widget, ParolePlayer *player)
 }
 
 
-void parole_player_shuffle_toggled_cb (GtkWidget *widget, ParolePlayer *player)
-{
-    gboolean toggled;
-
-    if ( !g_strcmp0 (gtk_widget_get_name (widget), "GtkToggleButton"))
-    {
-	toggled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
-    }
-    else 
-    {
-	toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
-    }
-	
-    g_object_set (G_OBJECT (player->conf),
-		  "shuffle", toggled,
-		  NULL);
-}
-
-void parole_player_repeat_toggled_cb (GtkWidget *widget, ParolePlayer *player)
-{
-    gboolean toggled;
-    
-    if ( !g_strcmp0 (gtk_widget_get_name (widget), "GtkToggleButton"))
-    {
-	toggled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
-    }
-    else 
-    {
-	toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
-    }
-    
-    g_object_set (G_OBJECT (player->conf),
-		  "repeat", toggled,
-		  NULL);
-}
-
 static const gchar *
 parole_player_get_volume_icon_name (gdouble value)
 {
@@ -1862,7 +1731,7 @@ parole_player_key_press (GtkWidget *widget, GdkEventKey *ev, ParolePlayer *playe
 		parole_player_play_prev (player);
 	    return TRUE;
 	case XF86XK_AudioNext:
-		parole_player_play_next (player, FALSE);
+		parole_player_play_next (player, FALSE, TRUE);
 	    return TRUE;
 #endif /* HAVE_XF86_KEYSYM */
 	default:
@@ -1890,7 +1759,7 @@ parole_player_button_pressed_cb (ParoleButton *button, ParoleButtonKey key, Paro
 	    parole_player_play_prev (player);
 	    break;
 	case PAROLE_KEY_AUDIO_NEXT:
-	    parole_player_play_next (player, FALSE);
+	    parole_player_play_next (player, FALSE, TRUE);
 	    break;
 	default:
 	    break;
@@ -2384,7 +2253,7 @@ static gboolean	parole_player_dbus_stop (ParolePlayer *player,
 static gboolean	parole_player_dbus_next_track (ParolePlayer *player,
 					       GError *error)
 {
-    parole_player_play_next (player, FALSE);
+    parole_player_play_next (player, FALSE, TRUE);
     return TRUE;
 }
 
diff --git a/src/parole-player.h b/src/parole-player.h
index f7d8e39..dd5404f 100644
--- a/src/parole-player.h
+++ b/src/parole-player.h
@@ -22,7 +22,19 @@
 #define __PAROLE_PLAYER_H
 
 #include <glib-object.h>
+
+#include <libxfce4ui/libxfce4ui.h>
+#include <gtk/gtk.h>
+#include <dbus/dbus-glib.h>
+
+#include "parole-gst.h"
 #include "parole-medialist.h"
+#include "parole-statusbar.h"
+#include "parole-disc.h"
+#include "parole-screensaver.h"
+#include "parole-conf-dialog.h"
+#include "parole-conf.h"
+#include "parole-button.h"
 
 G_BEGIN_DECLS
 
@@ -30,8 +42,87 @@ G_BEGIN_DECLS
 #define PAROLE_PLAYER(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), PAROLE_TYPE_PLAYER, ParolePlayer))
 #define PAROLE_IS_PLAYER(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), PAROLE_TYPE_PLAYER))
 
-typedef struct _ParolePlayer	  ParolePlayer;
-typedef struct _ParolePlayerClass ParolePlayerClass;
+typedef struct 
+{
+    GObjectClass 	parent_class;
+    
+} ParolePlayerClass;
+
+
+typedef struct
+{
+    GObject         	parent;
+    
+    
+    DBusGConnection     *bus;
+    ParoleMediaList	*list;
+    ParoleStatusbar     *statusbar;
+    ParoleDisc          *disc;
+    ParoleScreenSaver   *screen_saver;
+    ParoleConf          *conf;
+
+#ifdef HAVE_XF86_KEYSYM
+    ParoleButton        *button;
+#endif
+
+    XfceSMClient        *sm_client;
+    gchar               *client_id;
+    
+    GtkFileFilter       *video_filter;
+    GtkRecentManager    *recent;
+
+    GtkWidget 		*gst;
+
+    GtkWidget 		*window;
+    GtkWidget           *sidebar;
+    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;
+    GtkWidget		*seekb;
+    GtkWidget		*range;
+    GtkWidget 		*min_view;
+    GtkWidget		*videoport;
+    
+    GtkWidget		*fs_window; /* Window for packing control widgets 
+				     * when in full screen mode
+				     */
+    GtkWidget		*control; /* contains all play button*/
+    GtkWidget		*leave_fs;
+    
+    GtkWidget		*main_box;
+    
+    GtkWidget		*volume;
+    GtkWidget		*volume_image;
+    
+    /**
+     * Control widget Containers
+     * 
+     **/
+    GtkWidget		*scale_container;
+    GtkWidget		*play_container;
+    
+     
+     
+    gboolean             exit;
+    
+    gboolean		 full_screen;
+    gboolean		 minimized;
+    
+    ParoleState     	 state;
+    gboolean		 user_seeking;
+    gboolean             internal_range_change;
+    gboolean		 buffering;
+    
+    GtkTreeRowReference *row;
+        
+} ParolePlayer;
+
+
 
 GType        			 parole_player_get_type        (void) G_GNUC_CONST;
 
diff --git a/src/parole-plugins-manager.c b/src/parole-plugins-manager.c
index be545ee..55128c8 100644
--- a/src/parole-plugins-manager.c
+++ b/src/parole-plugins-manager.c
@@ -288,6 +288,7 @@ void parole_plugins_manager_tree_cursor_changed_cb (GtkTreeView *view,
     ParolePluginInfo *info;
     gboolean configurable = FALSE;
     const gchar *site;
+    gchar *tmp;
     
 #if GTK_CHECK_VERSION (2, 18, 0)
     gchar *site_text;
@@ -300,8 +301,13 @@ void parole_plugins_manager_tree_cursor_changed_cb (GtkTreeView *view,
     
     site = info->website;
     
-    gtk_label_set_markup (GTK_LABEL (pref->desc), info->desc);
-    gtk_label_set_markup (GTK_LABEL (pref->author), info->authors);
+    tmp = g_strdup_printf ("%s: %s", _("Description"), info->desc);
+    gtk_label_set_markup (GTK_LABEL (pref->desc), tmp);
+    g_free (tmp);
+    
+    tmp = g_strdup_printf ("%s: %s", _("Authors"), info->authors);
+    gtk_label_set_markup (GTK_LABEL (pref->author), tmp);
+    g_free (tmp);
     
 #if GTK_CHECK_VERSION (2, 18, 0)
     site_text = g_strdup_printf ("<a href=\"%s\">%s</a>", site, _("Visit Website"));
diff --git a/src/parole-utils.c b/src/parole-utils.c
index 3d09548..e44cc74 100644
--- a/src/parole-utils.c
+++ b/src/parole-utils.c
@@ -677,7 +677,8 @@ gchar *parole_taglibc_get_media_length (ParoleFile *file)
 	    gint length = 0;
 	    const TagLib_AudioProperties *prop = taglib_file_audioproperties (tag_file);
 	    
-	    length = taglib_audioproperties_length (prop);
+	    if (prop)
+		length = taglib_audioproperties_length (prop);
 	    
 	    taglib_file_free (tag_file);
 	    



More information about the Xfce4-commits mailing list