[Xfce4-commits] <parole:master> Initial gtk3 fixes

Sean Davis noreply at xfce.org
Fri Oct 11 11:50:12 CEST 2013


Updating branch refs/heads/master
         to ed702ea8a2560b0af83bc5fbef240b23d20cca4c (commit)
       from 0b2de95d94f29a1855936b51df9c1d0c1ed62de6 (commit)

commit ed702ea8a2560b0af83bc5fbef240b23d20cca4c
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Sun Aug 11 17:16:52 2013 -0400

    Initial gtk3 fixes

 data/interfaces/parole-3.ui   |  796 +++++++++++++++++------------------------
 data/interfaces/playlist-3.ui |   14 +-
 src/gst/parole-gst.c          |    6 +-
 src/parole-player.c           |  133 +++----
 src/parole-plugins-manager.c  |   27 +-
 5 files changed, 425 insertions(+), 551 deletions(-)

diff --git a/data/interfaces/parole-3.ui b/data/interfaces/parole-3.ui
index a30c833..6cd66ea 100644
--- a/data/interfaces/parole-3.ui
+++ b/data/interfaces/parole-3.ui
@@ -4,69 +4,84 @@
   <object class="GtkImage" id="image1">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="stock">gtk-network</property>
-    <property name="icon-size">1</property>
+    <property name="pixel_size">16</property>
+    <property name="icon_name">media-cdrom</property>
   </object>
   <object class="GtkImage" id="image2">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="pixel_size">16</property>
-    <property name="icon_name">parole-extension</property>
+    <property name="icon_name">network-server-symbolic</property>
+    <property name="icon-size">1</property>
   </object>
   <object class="GtkImage" id="image3">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="pixel_size">16</property>
-    <property name="icon_name">audio-volume-high</property>
+    <property name="icon_name">audio-volume-high-symbolic</property>
   </object>
   <object class="GtkImage" id="image4">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="pixel_size">16</property>
-    <property name="icon_name">audio-volume-low</property>
+    <property name="icon_name">audio-volume-low-symbolic</property>
   </object>
   <object class="GtkImage" id="image5">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="pixel_size">16</property>
-    <property name="icon_name">audio-volume-muted</property>
+    <property name="icon_name">audio-volume-muted-symbolic</property>
+  </object>
+  <object class="GtkImage" id="image6">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixel_size">16</property>
+    <property name="icon_name">view-fullscreen-symbolic</property>
   </object>
-  <object class="GtkImage" id="image_fullscreen">
+  <object class="GtkImage" id="image7">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="tooltip_text" translatable="yes">Fullscreen</property>
-    <property name="stock">gtk-fullscreen</property>
-    <property name="icon-size">3</property>
+    <property name="pixel_size">16</property>
+    <property name="icon_name">document-open-symbolic</property>
   </object>
-  <object class="GtkImage" id="image_play_next">
+  <object class="GtkImage" id="image_media_fullscreen">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="stock">gtk-media-next</property>
-    <property name="icon-size">3</property>
+    <property name="pixel_size">24</property>
+    <property name="icon_name">view-fullscreen-symbolic</property>
   </object>
-  <object class="GtkImage" id="image_play_pause">
+  <object class="GtkImage" id="image_media_next">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="stock">gtk-media-play</property>
-    <property name="icon-size">3</property>
+    <property name="pixel_size">24</property>
+    <property name="icon_name">media-skip-forward-symbolic</property>
   </object>
-  <object class="GtkImage" id="image_play_prev">
+  <object class="GtkImage" id="image_media_play">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="stock">gtk-media-previous</property>
-    <property name="icon-size">3</property>
+    <property name="pixel_size">24</property>
+    <property name="icon_name">media-playback-start-symbolic</property>
+  </object>
+  <object class="GtkImage" id="image_media_prev">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixel_size">24</property>
+    <property name="icon_name">media-skip-backward-symbolic</property>
+  </object>
+  <object class="GtkImage" id="image_media_toggleplaylist">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixel_size">24</property>
+    <property name="icon_name">view-list-symbolic</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" swapped="no"/>
     <signal name="configure-event" handler="parole_player_configure_event_cb" swapped="no"/>
     <signal name="key-press-event" handler="parole_player_key_press" swapped="no"/>
     <signal name="delete-event" handler="parole_player_delete_event_cb" swapped="no"/>
     <child>
-      <object class="GtkBox" id="vbox1">
+      <object class="GtkBox" id="box1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
@@ -86,22 +101,23 @@
                     <property name="can_focus">False</property>
                     <child>
                       <object class="GtkImageMenuItem" id="menu-add">
-                        <property name="label">gtk-open</property>
+                        <property name="label">_Open...</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
+                        <property name="image">image7</property>
+                        <property name="use_stock">False</property>
                         <accelerator key="o" signal="activate" modifiers="GDK_CONTROL_MASK"/>
                         <signal name="activate" handler="parole_player_menu_add_cb" swapped="no"/>
                       </object>
                     </child>
                     <child>
                       <object class="GtkImageMenuItem" id="menu-open-location">
-                        <property name="label" translatable="yes">Open _Location</property>
+                        <property name="label" translatable="yes">Open _Location...</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="use_underline">True</property>
-                        <property name="image">image1</property>
+                        <property name="image">image2</property>
                         <property name="use_stock">False</property>
                         <accelerator key="l" signal="activate" modifiers="GDK_CONTROL_MASK"/>
                         <signal name="activate" handler="parole_player_menu_open_location_cb" swapped="no"/>
@@ -123,11 +139,11 @@
                     </child>
                     <child>
                       <object class="GtkImageMenuItem" id="menu-open-disc">
-                        <property name="label">gtk-cdrom</property>
+                        <property name="label">Insert Disk</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
+                        <property name="image">image1</property>
+                        <property name="use_stock">False</property>
                       </object>
                     </child>
                     <child>
@@ -190,7 +206,6 @@
                         <property name="label" translatable="yes">Plugins</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="image">image2</property>
                         <property name="use_stock">False</property>
                       </object>
                     </child>
@@ -220,11 +235,12 @@
                     <property name="can_focus">False</property>
                     <child>
                       <object class="GtkImageMenuItem" id="fullscreen-menu">
-                        <property name="label">gtk-fullscreen</property>
+                        <property name="label">_Fullscreen</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
+                        <property name="image">image6</property>
+                        <property name="use_stock">False</property>
                         <accelerator key="F11" signal="activate"/>
                         <signal name="activate" handler="parole_player_full_screen_activated_cb" swapped="no"/>
                       </object>
@@ -430,8 +446,8 @@
                         <property name="use_underline">True</property>
                         <property name="image">image3</property>
                         <property name="use_stock">False</property>
-                        <accelerator key="equal" signal="activate"/>
                         <accelerator key="plus" signal="activate"/>
+                        <accelerator key="equal" signal="activate"/>
                         <signal name="activate" handler="parole_player_volume_up" swapped="no"/>
                       </object>
                     </child>
@@ -495,102 +511,103 @@
           </packing>
         </child>
         <child>
-          <object class="GtkNotebook" id="main-notebook">
+          <object class="GtkPaned" id="hpaned">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="show_tabs">False</property>
-            <property name="show_border">False</property>
-            <property name="scrollable">True</property>
+            <property name="can_focus">False</property>
             <child>
-              <object class="GtkBox" id="main-box">
+              <object class="GtkBox" id="box2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="orientation">vertical</property>
-                <property name="spacing">5</property>
                 <child>
-                  <object class="GtkPaned" id="hpaned">
+                  <object class="GtkBox" id="infobar_placeholder">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkBox" id="vbox_player">
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEventBox" id="content_area">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <signal name="button-press-event" handler="parole_player_gst_widget_button_press" swapped="no"/>
+                    <child>
+                      <object class="GtkBox" id="box4">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="orientation">vertical</property>
                         <child>
-                          <object class="GtkBox" id="hbox_infobar">
+                          <object class="GtkBox" id="video_output">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="orientation">vertical</property>
                             <child>
-                              <object class="GtkBox" id="infobar_contents">
+                              <placeholder/>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkBox" id="audio_output">
+                            <property name="can_focus">False</property>
+                            <property name="no_show_all">True</property>
+                            <property name="spacing">24</property>
+                            <property name="homogeneous">True</property>
+                            <child>
+                              <object class="GtkImage" id="audio_cover">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="spacing">12</property>
+                                <property name="xalign">1</property>
+                                <property name="pixel_size">128</property>
+                                <property name="icon_name">audio-x-generic-symbolic</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkBox" id="box5">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="orientation">vertical</property>
+                                <property name="spacing">6</property>
                                 <child>
-                                  <object class="GtkBox" id="hbox3">
+                                  <object class="GtkLabel" id="audio_title">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkLabel" id="label1">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="label" translatable="yes">Audio Track:</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkComboBox" id="combobox_audiotrack">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <signal name="changed" handler="parole_player_combo_box_audiotrack_changed_cb" swapped="no"/>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
+                                    <property name="xalign">0</property>
+                                    <property name="yalign">1</property>
+                                    <property name="label" translatable="yes"><span color='#F4F4F4'><b><big>Unknown Song</big></b></span></property>
+                                    <property name="use_markup">True</property>
+                                    <property name="ellipsize">end</property>
                                   </object>
                                   <packing>
-                                    <property name="expand">False</property>
+                                    <property name="expand">True</property>
                                     <property name="fill">True</property>
                                     <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkBox" id="hbox4">
+                                  <object class="GtkLabel" id="audio_album">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkLabel" id="label2">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="label" translatable="yes">Subtitles:</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkComboBox" id="combobox_subtitles">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <signal name="changed" handler="parole_player_combo_box_subtitles_changed_cb" swapped="no"/>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes"><big><span color='#BBBBBB'><i>on</i></span> <span color='#F4F4F4'>Unknown Album</span></big></property>
+                                    <property name="use_markup">True</property>
+                                    <property name="ellipsize">end</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -598,424 +615,269 @@
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
+                                <child>
+                                  <object class="GtkLabel" id="audio_artist">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="xalign">0</property>
+                                    <property name="yalign">0</property>
+                                    <property name="label" translatable="yes"><big><span color='#BBBBBB'><i>by</i></span> <span color='#F4F4F4'>Unknown Artist</span></big></property>
+                                    <property name="use_markup">True</property>
+                                    <property name="ellipsize">end</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">0</property>
+                                <property name="position">1</property>
                               </packing>
                             </child>
                           </object>
                           <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </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="GtkBox" id="control">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkBox" id="play-box">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <object class="GtkButton" id="media_prev">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup" translatable="yes">Previous</property>
+                            <property name="tooltip_text" translatable="yes">Previous</property>
+                            <property name="image">image_media_prev</property>
+                            <property name="relief">none</property>
+                            <property name="focus_on_click">False</property>
+                            <signal name="clicked" handler="parole_player_back_cb" swapped="no"/>
+                          </object>
+                          <packing>
                             <property name="expand">False</property>
                             <property name="fill">True</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkEventBox" id="eventbox_output">
+                          <object class="GtkButton" id="media_play">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="hexpand">True</property>
-                            <signal name="button-press-event" handler="parole_player_gst_widget_button_press" swapped="no"/>
-                            <child>
-                              <object class="GtkBox" id="output">
-                                <property name="visible">True</property>
-                                <property name="app_paintable">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <placeholder/>
-                                </child>
-                              </object>
-                            </child>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup" translatable="yes">Play</property>
+                            <property name="tooltip_text" translatable="yes">Play</property>
+                            <property name="image">image_media_play</property>
+                            <property name="relief">none</property>
+                            <property name="focus_on_click">False</property>
+                            <signal name="clicked" handler="parole_player_play_pause_clicked" swapped="no"/>
                           </object>
                           <packing>
-                            <property name="expand">True</property>
+                            <property name="expand">False</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkEventBox" id="audiobox">
+                          <object class="GtkButton" id="media_next">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup" translatable="yes">Next</property>
+                            <property name="tooltip_text" translatable="yes">Next</property>
+                            <property name="image">image_media_next</property>
+                            <property name="relief">none</property>
+                            <property name="focus_on_click">False</property>
+                            <signal name="clicked" handler="parole_player_forward_cb" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="media_time_elapsed">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="margin_left">12</property>
+                            <property name="label" translatable="yes">0:00</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">3</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkScale" id="media_progress_slider">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="margin_left">6</property>
+                            <property name="margin_right">6</property>
+                            <property name="draw_value">False</property>
+                            <signal name="value-changed" handler="parole_player_range_value_changed" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
+                            <property name="position">4</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkProgressBar" id="media_buffering_progressbar">
                             <property name="can_focus">False</property>
                             <property name="no_show_all">True</property>
-                            <property name="hexpand">True</property>
-                            <signal name="button-press-event" handler="parole_player_gst_widget_button_press" swapped="no"/>
-                            <child>
-                              <object class="GtkBox" id="hbox_audiobox">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">24</property>
-                                <property name="homogeneous">True</property>
-                                <child>
-                                  <object class="GtkImage" id="audiobox_cover">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">1</property>
-                                    <property name="pixel_size">128</property>
-                                    <property name="icon_name">audio-x-generic</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkBox" id="vbox3">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkLabel" id="audiobox_title">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="yalign">1</property>
-                                        <property name="label" translatable="yes"><span color='#F4F4F4'><b><big>Unknown Song</big></b></span></property>
-                                        <property name="use_markup">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="audiobox_album">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes"><big><span color='#BBBBBB'><i>on</i></span> <span color='#F4F4F4'>Unknown Album</span></big></property>
-                                        <property name="use_markup">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="audiobox_artist">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="yalign">0</property>
-                                        <property name="label" translatable="yes"><big><span color='#BBBBBB'><i>by</i></span> <span color='#F4F4F4'>Unknown Artist</span></big></property>
-                                        <property name="use_markup">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">2</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </object>
-                            </child>
+                            <property name="margin_left">6</property>
+                            <property name="margin_right">6</property>
+                            <property name="text" translatable="yes">Buffering (0%)</property>
+                            <property name="show_text">True</property>
                           </object>
                           <packing>
                             <property name="expand">True</property>
                             <property name="fill">True</property>
-                            <property name="position">2</property>
+                            <property name="position">5</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="media_time_duration">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="margin_right">12</property>
+                            <property name="label" translatable="yes">0:00</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">6</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkBox" id="control">
+                          <object class="GtkVolumeButton" id="media_volumebutton">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="valign">end</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="relief">none</property>
+                            <property name="focus_on_click">False</property>
                             <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkBox" id="play-box">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="orientation">vertical</property>
-                                <child>
-                                  <object class="GtkBox" id="hbox6">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkBox" id="playback_buttons">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <object class="GtkButton" id="back">
-                                            <property name="visible">True</property>
-                                            <property name="sensitive">False</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">True</property>
-                                            <property name="tooltip_text" translatable="yes">Previous</property>
-                                            <property name="image">image_play_prev</property>
-                                            <property name="relief">none</property>
-                                            <property name="focus_on_click">False</property>
-                                            <signal name="clicked" handler="parole_player_back_cb" swapped="no"/>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkButton" id="play-pause">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">True</property>
-                                            <property name="image">image_play_pause</property>
-                                            <property name="relief">none</property>
-                                            <property name="focus_on_click">False</property>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkButton" id="forward">
-                                            <property name="visible">True</property>
-                                            <property name="sensitive">False</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">True</property>
-                                            <property name="tooltip_text" translatable="yes">Next</property>
-                                            <property name="image">image_play_next</property>
-                                            <property name="relief">none</property>
-                                            <property name="focus_on_click">False</property>
-                                            <signal name="clicked" handler="parole_player_forward_cb" swapped="no"/>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">2</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkBox" id="playing_box">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <object class="GtkLabel" id="label_elapsed">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="label" translatable="yes">00:00</property>
-                                            <property name="single_line_mode">True</property>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="padding">6</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkScale" id="scale">
-                                            <property name="visible">True</property>
-                                            <property name="sensitive">False</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="round_digits">1</property>
-                                            <property name="draw_value">False</property>
-                                            <signal name="button-press-event" handler="parole_player_range_button_press" swapped="no"/>
-                                            <signal name="button-release-event" handler="parole_player_range_button_release" swapped="no"/>
-                                            <signal name="value-changed" handler="parole_player_range_value_changed" swapped="no"/>
-                                            <signal name="scroll-event" handler="parole_player_scroll_event_cb" swapped="no"/>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">True</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkLabel" id="label_duration">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="label" translatable="yes">00:00</property>
-                                            <property name="single_line_mode">True</property>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="padding">6</property>
-                                            <property name="position">2</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkProgressBar" id="progressbar_buffering">
-                                        <property name="can_focus">False</property>
-                                        <property name="no_show_all">True</property>
-                                        <property name="text" translatable="yes">Buffering (0%)</property>
-                                        <property name="show_text">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkBox" id="extra_controls">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <child>
-                                          <object class="GtkVolumeButton" id="volume">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">True</property>
-                                            <property name="has_tooltip">True</property>
-                                            <property name="relief">none</property>
-                                            <property name="focus_on_click">False</property>
-                                            <property name="orientation">vertical</property>
-                                            <property name="size">large-toolbar</property>
-                                            <property name="icons">audio-volume-muted
-audio-volume-high
-audio-volume-low
-audio-volume-medium</property>
-                                            <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>
-                                            <property name="fill">True</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkButton" id="go_fs">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">True</property>
-                                            <property name="image">image_fullscreen</property>
-                                            <property name="relief">none</property>
-                                            <property name="focus_on_click">False</property>
-                                            <signal name="clicked" handler="parole_player_full_screen_activated_cb" swapped="no"/>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkButton" id="leave_fs">
-                                            <property name="label">gtk-leave-fullscreen</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">True</property>
-                                            <property name="no_show_all">True</property>
-                                            <property name="relief">none</property>
-                                            <property name="use_stock">True</property>
-                                            <property name="focus_on_click">False</property>
-                                            <signal name="clicked" handler="parole_player_leave_fs_cb" swapped="no"/>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">2</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkButton" id="show-hide-list-button">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">True</property>
-                                            <property name="no_show_all">True</property>
-                                            <property name="image">show-hide-list-image</property>
-                                            <property name="relief">none</property>
-                                            <property name="focus_on_click">False</property>
-                                            <signal name="clicked" handler="parole_player_show_hide_playlist" swapped="no"/>
-                                          </object>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">True</property>
-                                            <property name="position">3</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">3</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
+                            <property name="size">large-toolbar</property>
+                            <property name="icons">audio-volume-muted-symbolic
+audio-volume-high-symbolic
+audio-volume-low-symbolic
+audio-volume-medium-symbolic</property>
+                            <property name="use_symbolic">True</property>
+                            <signal name="value-changed" handler="parole_player_volume_value_changed_cb" swapped="no"/>
                           </object>
                           <packing>
                             <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">3</property>
+                            <property name="fill">True</property>
+                            <property name="position">7</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkButton" id="media_fullscreen">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup" translatable="yes">Fullscreen</property>
+                            <property name="tooltip_text" translatable="yes">Fullscreen</property>
+                            <property name="image">image_media_fullscreen</property>
+                            <property name="relief">none</property>
+                            <signal name="clicked" handler="parole_player_full_screen_activated_cb" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">8</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkToggleButton" id="media_toggleplaylist">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="receives_default">True</property>
+                            <property name="image">image_media_toggleplaylist</property>
+                            <property name="relief">none</property>
+                            <signal name="clicked" handler="parole_player_show_hide_playlist" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">9</property>
                           </packing>
                         </child>
                       </object>
                       <packing>
-                        <property name="resize">True</property>
-                        <property name="shrink">False</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkNotebook" id="notebook-playlist">
-                        <property name="can_focus">True</property>
-                        <property name="no_show_all">True</property>
-                        <property name="show_border">False</property>
-                        <property name="scrollable">True</property>
-                        <property name="enable_popup">True</property>
-                      </object>
-                      <packing>
-                        <property name="resize">False</property>
-                        <property name="shrink">False</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="pack_type">end</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
+                    <property name="expand">False</property>
                     <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
               </object>
+              <packing>
+                <property name="resize">True</property>
+                <property name="shrink">False</property>
+              </packing>
             </child>
-            <child type="tab">
-              <object class="GtkLabel" id="Player">
+            <child>
+              <object class="GtkNotebook" id="notebook-playlist">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Media player</property>
+                <child>
+                  <placeholder/>
+                </child>
+                <child type="tab">
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child type="tab">
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child type="tab">
+                  <placeholder/>
+                </child>
               </object>
               <packing>
-                <property name="tab_fill">False</property>
+                <property name="resize">True</property>
+                <property name="shrink">False</property>
               </packing>
             </child>
           </object>
@@ -1028,10 +890,4 @@ audio-volume-medium</property>
       </object>
     </child>
   </object>
-  <object class="GtkImage" id="show-hide-list-image">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="stock">gtk-go-back</property>
-    <property name="icon-size">3</property>
-  </object>
 </interface>
diff --git a/data/interfaces/playlist-3.ui b/data/interfaces/playlist-3.ui
index 99b23c4..37ff424 100644
--- a/data/interfaces/playlist-3.ui
+++ b/data/interfaces/playlist-3.ui
@@ -237,6 +237,18 @@
       </packing>
     </child>
     <child>
+      <object class="GtkLabel" id="n_items">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Playlist empty</property>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+    <child>
       <object class="GtkBox" id="box1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
@@ -332,7 +344,7 @@
         <property name="expand">False</property>
         <property name="fill">False</property>
         <property name="padding">2</property>
-        <property name="position">1</property>
+        <property name="position">2</property>
       </packing>
     </child>
   </object>
diff --git a/src/gst/parole-gst.c b/src/gst/parole-gst.c
index 6166712..ad63ac3 100644
--- a/src/gst/parole-gst.c
+++ b/src/gst/parole-gst.c
@@ -305,9 +305,9 @@ parole_gst_realize (GtkWidget *widget)
 		      G_CALLBACK (parole_gst_configure_event_cb), gst);
 		      
 #if GTK_CHECK_VERSION(3, 0, 0)
-    g_signal_connect (gtk_widget_get_parent (widget), "draw",
+    g_signal_connect (gtk_widget_get_parent(gtk_widget_get_parent (widget)), "draw",
 #else
-    g_signal_connect (gtk_widget_get_parent (widget), "expose_event",
+    g_signal_connect (gtk_widget_get_parent(gtk_widget_get_parent (widget)), "expose-event",
 #endif
 		      G_CALLBACK (parole_gst_parent_expose_event), gst);
 		      
@@ -603,7 +603,7 @@ parole_gst_set_video_overlay (ParoleGst *gst)
     if ( GDK_IS_WINDOW (gtk_widget_get_window(GTK_WIDGET (gst))) )
 #if GST_CHECK_VERSION(1, 0, 0)
 	gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (video_sink),
-				      GDK_WINDOW_XWINDOW ( gtk_widget_get_window(GTK_WIDGET (gst)) ));
+				      GDK_WINDOW_XID ( gtk_widget_get_window(GTK_WIDGET (gst)) ));
 #else
     gst_x_overlay_set_xwindow_id (GST_X_OVERLAY (video_sink),
                       GDK_WINDOW_XID ( gtk_widget_get_window(GTK_WIDGET (gst)) ));
diff --git a/src/parole-player.c b/src/parole-player.c
index edb1669..9995246 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -314,7 +314,6 @@ struct ParolePlayerPrivate
     GtkWidget 		*window;
     GtkWidget       *recent_menu;
     GtkWidget		*playlist_nt;
-    GtkWidget		*main_nt;	/*Main notebook*/
     GtkWidget		*show_hide_playlist;
     GtkWidget		*show_hide_playlist_button;
     GtkWidget		*show_hide_playlist_image;
@@ -334,8 +333,8 @@ struct ParolePlayerPrivate
 				     * when in full screen mode
 				     */
     GtkWidget		*control; /* contains all play button*/
-    GtkWidget		*go_fs;
-    GtkWidget		*leave_fs;
+    GtkWidget		*fullscreen_button;
+    GtkWidget		*fullscreen_image;
     
     GtkWidget		*hbox_infobar;
     GtkWidget		*infobar;
@@ -354,8 +353,8 @@ struct ParolePlayerPrivate
     GtkWidget		*subtitles_menu;
     GtkWidget		*languages_menu;
     
-    GtkWidget		*main_box;
     GtkWidget		*eventbox_output;
+    GtkWidget       *videobox;
     
     GtkWidget		*audiobox;
     GtkWidget		*audiobox_cover;
@@ -902,12 +901,12 @@ parole_player_show_audiobox (ParolePlayer *player)
         !gst_get_has_vis   ( PAROLE_GST(player->priv->gst) ) )
     {
 	gtk_widget_show(player->priv->audiobox);
-	gtk_widget_hide(player->priv->eventbox_output);
+	gtk_widget_hide(player->priv->videobox);
     }
     else
     {
 	gtk_widget_hide(player->priv->audiobox);
-	gtk_widget_show_all(player->priv->eventbox_output);
+	gtk_widget_show_all(player->priv->videobox);
     }
 }
 
@@ -1260,16 +1259,24 @@ static void
 parole_player_set_playpause_button_image (GtkWidget *widget, const gchar *stock_id)
 {
     GtkWidget *img;
+    gchar *icon_name = NULL;
+    
+    if (stock_id == GTK_STOCK_MEDIA_PLAY) {
+        icon_name = g_strdup("media-playback-start-symbolic");
+    } else if (stock_id == GTK_STOCK_MEDIA_PAUSE) {
+        icon_name = g_strdup("media-playback-pause-symbolic");
+    }
     
     g_object_get (G_OBJECT (widget),
 		  "image", &img,
 		  NULL);
 		  
     g_object_set (G_OBJECT (img),
-		  "stock", stock_id,
-		  NULL);
+	      "icon-name", icon_name,
+	      NULL);
 
     g_object_unref (img);
+    //g_object_unref (icon_name);
 }
 
 static void
@@ -1904,7 +1911,6 @@ parole_player_window_state_event (GtkWidget *widget,
 void
 parole_player_reset_controls (ParolePlayer *player, gboolean fullscreen)
 {
-    gint npages;
     static gint current_page = 0;
     GdkWindow *gdkwindow;
     
@@ -1915,7 +1921,6 @@ parole_player_reset_controls (ParolePlayer *player, gboolean fullscreen)
         /* If the player is in fullscreen mode, change to windowed mode. */
         if ( player->priv->full_screen )
         {
-            npages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (player->priv->main_nt));
             gtk_widget_reparent (player->priv->play_box, player->priv->control);
             gtk_box_set_child_packing( GTK_BOX(player->priv->control), GTK_WIDGET(player->priv->play_box), TRUE, TRUE, 2, GTK_PACK_START );
             gtk_widget_hide (player->priv->fs_window);
@@ -1924,12 +1929,11 @@ parole_player_reset_controls (ParolePlayer *player, gboolean fullscreen)
             show_playlist = gtk_check_menu_item_get_active( GTK_CHECK_MENU_ITEM(player->priv->show_hide_playlist) );
             gtk_widget_show (player->priv->playlist_nt);
             parole_player_set_playlist_visible(player, show_playlist);
-            gtk_widget_show (player->priv->go_fs);
-            gtk_widget_hide (player->priv->leave_fs);
+            gtk_button_set_label (GTK_BUTTON(player->priv->fullscreen_button), "");
+            gtk_widget_set_tooltip_text (player->priv->fullscreen_button, _("Fullscreen"));
+            gtk_image_set_from_icon_name (GTK_IMAGE(player->priv->fullscreen_image), "view-fullscreen-symbolic", 24);
             gtk_widget_show (player->priv->show_hide_playlist_button);
 
-            gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->priv->main_nt), npages > 1);
-
             gtk_window_unfullscreen (GTK_WINDOW (player->priv->window));
             gtk_notebook_set_current_page (GTK_NOTEBOOK (player->priv->playlist_nt), current_page);
             gdkwindow = gtk_widget_get_window (player->priv->window);
@@ -1945,12 +1949,12 @@ parole_player_reset_controls (ParolePlayer *player, gboolean fullscreen)
             gtk_widget_hide (player->priv->menu_bar);
             gtk_widget_hide (player->priv->playlist_nt);
             parole_player_set_playlist_visible(player, FALSE);
-            gtk_widget_hide (player->priv->go_fs);
-            gtk_widget_show (player->priv->leave_fs);
+            gtk_button_set_label (GTK_BUTTON(player->priv->fullscreen_button), _("Leave Fullscreen"));
+            gtk_widget_set_tooltip_text (player->priv->fullscreen_button, "");
+            gtk_image_set_from_icon_name (GTK_IMAGE(player->priv->fullscreen_image), "view-restore-symbolic", 24);
             gtk_widget_hide (player->priv->show_hide_playlist_button);
 
             current_page = gtk_notebook_get_current_page (GTK_NOTEBOOK (player->priv->playlist_nt));
-            gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->priv->main_nt), FALSE);
 
             gtk_window_fullscreen (GTK_WINDOW (player->priv->window));
             player->priv->full_screen = TRUE;
@@ -1961,7 +1965,7 @@ parole_player_reset_controls (ParolePlayer *player, gboolean fullscreen)
     {
         gtk_widget_hide (player->priv->menu_bar);
         gtk_widget_hide (player->priv->playlist_nt);
-        gtk_widget_hide (player->priv->go_fs);
+        gtk_widget_hide (player->priv->fullscreen_button);
         gtk_widget_hide (player->priv->show_hide_playlist);
         gtk_widget_hide (player->priv->show_hide_playlist_button);
     }
@@ -2485,9 +2489,7 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
     
     if ( focused )
     {
-	if ( ( gtk_widget_is_ancestor (focused, player->priv->playlist_nt) ) ||
-	     ( gtk_widget_is_ancestor (focused, player->priv->main_nt) && 
-	       !gtk_widget_is_ancestor (focused, player->priv->main_box) ))
+	if ( gtk_widget_is_ancestor (focused, player->priv->playlist_nt) ) 
 	{
 	    return FALSE;
 	}
@@ -2904,9 +2906,9 @@ parole_player_init (ParolePlayer *player)
     
     gboolean repeat, shuffle;
     
-    GtkWidget *infobar_contents;
     GtkCellRenderer *cell, *sub_cell;
     
+    GtkWidget *audiotrack_box, *audiotrack_label, *subtitle_box, *subtitle_label;
     GtkWidget *content_area;
     
     g_setenv("PULSE_PROP_media.role", "video", TRUE);
@@ -2989,7 +2991,7 @@ parole_player_init (ParolePlayer *player)
     g_signal_connect (G_OBJECT (player->priv->gst), "notify::volume",
 			G_CALLBACK (parole_property_notify_cb_volume), player);
 
-    output = GTK_WIDGET (gtk_builder_get_object (builder, "output"));
+    output = GTK_WIDGET (gtk_builder_get_object (builder, "video_output"));
     
     gtk_drag_dest_set (output, GTK_DEST_DEFAULT_ALL, 
 		       target_entry, G_N_ELEMENTS (target_entry),
@@ -3042,77 +3044,72 @@ parole_player_init (ParolePlayer *player)
 		      G_CALLBACK (parole_player_select_custom_subtitle), player);
     
     player->priv->audio_group = NULL;
-   
-    player->priv->main_nt = GTK_WIDGET (gtk_builder_get_object (builder, "main-notebook"));
     
-    player->priv->playcontrol_box = GTK_WIDGET (gtk_builder_get_object (builder, "playing_box"));
-    player->priv->progressbar_buffering = GTK_WIDGET (gtk_builder_get_object (builder, "progressbar_buffering"));
+    player->priv->progressbar_buffering = GTK_WIDGET (gtk_builder_get_object (builder, "media_buffering_progressbar"));
     
-    player->priv->label_duration = GTK_WIDGET(gtk_builder_get_object(builder, "label_duration"));
-    player->priv->label_elapsed = GTK_WIDGET(gtk_builder_get_object(builder, "label_elapsed"));
-    player->priv->play_pause = GTK_WIDGET (gtk_builder_get_object (builder, "play-pause"));
-    player->priv->seekf = GTK_WIDGET (gtk_builder_get_object (builder, "forward"));
-    player->priv->seekb = GTK_WIDGET (gtk_builder_get_object (builder, "back"));
+    player->priv->label_duration = GTK_WIDGET(gtk_builder_get_object(builder, "media_time_duration"));
+    player->priv->label_elapsed = GTK_WIDGET(gtk_builder_get_object(builder, "media_time_elapsed"));
+    player->priv->play_pause = GTK_WIDGET (gtk_builder_get_object (builder, "media_play"));
+    player->priv->seekf = GTK_WIDGET (gtk_builder_get_object (builder, "media_next"));
+    player->priv->seekb = GTK_WIDGET (gtk_builder_get_object (builder, "media_prev"));
     
     // FIXME: parole-player.c:3057:5: warning: ‘gtk_rc_parse’ is deprecated (declared at /usr/include/gtk-3.0/gtk/deprecated/gtkrc.h:172): Use 'GtkStyleContext' instead [-Wdeprecated-declarations]
     gtk_rc_parse( RC_STYLE_FILE );
      
-    player->priv->range = GTK_WIDGET (gtk_builder_get_object (builder, "scale"));
+    player->priv->range = GTK_WIDGET (gtk_builder_get_object (builder, "media_progress_slider"));
     gtk_widget_set_name( player->priv->range, "ParoleScale" );
     
-    player->priv->volume = GTK_WIDGET (gtk_builder_get_object (builder, "volume"));
+    player->priv->volume = GTK_WIDGET (gtk_builder_get_object (builder, "media_volumebutton"));
     
     player->priv->menu_bar = GTK_WIDGET (gtk_builder_get_object (builder, "menubar"));
     player->priv->play_box = GTK_WIDGET (gtk_builder_get_object (builder, "play-box"));
     player->priv->playlist_nt = GTK_WIDGET (gtk_builder_get_object (builder, "notebook-playlist"));
     player->priv->show_hide_playlist = GTK_WIDGET (gtk_builder_get_object (builder, "show-hide-list"));
-    player->priv->show_hide_playlist_image = GTK_WIDGET (gtk_builder_get_object (builder, "show-hide-list-image"));
-    player->priv->show_hide_playlist_button = GTK_WIDGET (gtk_builder_get_object (builder, "show-hide-list-button"));
+    player->priv->show_hide_playlist_image = GTK_WIDGET (gtk_builder_get_object (builder, "image_media_toggleplaylist"));
+    player->priv->show_hide_playlist_button = GTK_WIDGET (gtk_builder_get_object (builder, "media_toggleplaylist"));
     
     player->priv->shuffle_menu_item = GTK_WIDGET (gtk_builder_get_object (builder, "shuffle"));
     player->priv->repeat_menu_item = GTK_WIDGET (gtk_builder_get_object (builder, "repeat"));
     
     player->priv->control = GTK_WIDGET (gtk_builder_get_object (builder, "control"));
-    player->priv->go_fs = GTK_WIDGET (gtk_builder_get_object (builder, "go_fs"));
-    player->priv->leave_fs = GTK_WIDGET (gtk_builder_get_object (builder, "leave_fs"));
-    player->priv->main_box = GTK_WIDGET (gtk_builder_get_object (builder, "main-box"));
-    player->priv->eventbox_output = GTK_WIDGET (gtk_builder_get_object (builder, "eventbox_output"));
+    player->priv->fullscreen_button = GTK_WIDGET (gtk_builder_get_object (builder, "media_fullscreen"));
+    player->priv->fullscreen_image = GTK_WIDGET (gtk_builder_get_object (builder, "image_media_fullscreen"));
+    player->priv->eventbox_output = GTK_WIDGET (gtk_builder_get_object (builder, "content_area"));
     
     hpaned = GTK_WIDGET (gtk_builder_get_object (builder, "hpaned"));
     gtk_widget_style_get (hpaned, "handle-size", &player->priv->handle_width, NULL);
     
     /* Audio box */
-    hbox_audiobox = GTK_WIDGET (gtk_builder_get_object (builder, "hbox_audiobox"));
+    gdk_color_parse("black", &background);
+    gtk_widget_modify_bg(GTK_WIDGET(player->priv->eventbox_output), GTK_STATE_NORMAL, &background);
+    
+    player->priv->audiobox = GTK_WIDGET (gtk_builder_get_object (builder, "audio_output"));
+    player->priv->videobox = GTK_WIDGET (gtk_builder_get_object (builder, "video_output"));
+    player->priv->audiobox_cover = GTK_WIDGET (gtk_builder_get_object (builder, "audio_cover"));
+    player->priv->audiobox_title = GTK_WIDGET (gtk_builder_get_object (builder, "audio_title"));
+    player->priv->audiobox_album = GTK_WIDGET (gtk_builder_get_object (builder, "audio_album"));
+    player->priv->audiobox_artist = GTK_WIDGET (gtk_builder_get_object (builder, "audio_artist"));
+    
 #if GTK_CHECK_VERSION(3, 0, 0)
-    g_signal_connect(hbox_audiobox, "draw",
+    g_signal_connect(player->priv->audiobox, "draw",
 #else
-    g_signal_connect(hbox_audiobox, "expose-event",
+    g_signal_connect(player->priv->audiobox, "expose-event",
 #endif
         G_CALLBACK(parole_audiobox_expose_event), player);
     
-    gdk_color_parse("black", &background);
-    player->priv->audiobox = GTK_WIDGET (gtk_builder_get_object (builder, "audiobox"));
-    gtk_widget_modify_bg(GTK_WIDGET(player->priv->audiobox), GTK_STATE_NORMAL, &background);
-    
-    player->priv->audiobox_cover = GTK_WIDGET (gtk_builder_get_object (builder, "audiobox_cover"));
-    player->priv->audiobox_title = GTK_WIDGET (gtk_builder_get_object (builder, "audiobox_title"));
-    player->priv->audiobox_album = GTK_WIDGET (gtk_builder_get_object (builder, "audiobox_album"));
-    player->priv->audiobox_artist = GTK_WIDGET (gtk_builder_get_object (builder, "audiobox_artist"));
-    
-    gtk_widget_add_events (GTK_WIDGET (player->priv->audiobox), GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK);
-    g_signal_connect (G_OBJECT (player->priv->audiobox), "motion-notify-event",
+    gtk_widget_add_events (GTK_WIDGET (player->priv->eventbox_output), GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK);
+    g_signal_connect (G_OBJECT (player->priv->eventbox_output), "motion-notify-event",
 		      G_CALLBACK (parole_player_gst_widget_motion_notify_event), player);
     
     gtk_box_set_child_packing( GTK_BOX(player->priv->control), GTK_WIDGET(player->priv->play_box), TRUE, TRUE, 2, GTK_PACK_START );
     
-    player->priv->hbox_infobar = GTK_WIDGET (gtk_builder_get_object (builder, "hbox_infobar"));
-    player->priv->combobox_audiotrack = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_audiotrack"));
-    player->priv->combobox_subtitles = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_subtitles"));
-    player->priv->liststore_audiotrack = GTK_LIST_STORE (gtk_builder_get_object (builder, "liststore_audiotrack"));
-    player->priv->liststore_subtitles = GTK_LIST_STORE (gtk_builder_get_object (builder, "liststore_subtitles"));
+    player->priv->hbox_infobar = GTK_WIDGET (gtk_builder_get_object (builder, "infobar_placeholder"));
+    player->priv->liststore_audiotrack = gtk_list_store_new(1, G_TYPE_STRING);
+    player->priv->liststore_subtitles = gtk_list_store_new(1, G_TYPE_STRING);
+    player->priv->combobox_audiotrack = gtk_combo_box_new_with_model(GTK_TREE_MODEL(player->priv->liststore_audiotrack));
+    player->priv->combobox_subtitles = gtk_combo_box_new_with_model(GTK_TREE_MODEL(player->priv->liststore_subtitles));
     player->priv->audio_list = NULL;
     player->priv->subtitle_list = NULL;
-    infobar_contents = GTK_WIDGET (gtk_builder_get_object( builder, "infobar_contents"));
     
     cell = gtk_cell_renderer_text_new();
 	gtk_cell_layout_pack_start( GTK_CELL_LAYOUT( player->priv->combobox_audiotrack ), cell, TRUE );
@@ -3127,7 +3124,21 @@ parole_player_init (ParolePlayer *player)
 	gtk_widget_set_no_show_all (player->priv->infobar, TRUE);
 
 	content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (player->priv->infobar));
-	gtk_widget_reparent (infobar_contents, content_area);
+	// GtkWidget *audiotrack_box, *audiotrack_label, *subtitle_box, *subtitle_label;
+	audiotrack_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
+	audiotrack_label = gtk_label_new(_("Audio Track:"));
+	gtk_box_pack_start(GTK_BOX(audiotrack_box), audiotrack_label, FALSE, FALSE, 0);
+	gtk_box_pack_end(GTK_BOX(audiotrack_box), player->priv->combobox_audiotrack, FALSE, FALSE, 0);
+	gtk_container_add(GTK_CONTAINER(content_area), audiotrack_box);
+	
+	subtitle_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
+	subtitle_label = gtk_label_new(_("Subtitles:"));
+	gtk_box_pack_start(GTK_BOX(subtitle_box), subtitle_label, FALSE, FALSE, 0);
+	gtk_box_pack_end(GTK_BOX(subtitle_box), player->priv->combobox_subtitles, FALSE, FALSE, 0);
+	gtk_container_add(GTK_CONTAINER(content_area), subtitle_box);
+	
+	gtk_widget_show_all(content_area);
+	
 	gtk_info_bar_add_button (GTK_INFO_BAR (player->priv->infobar),
 		                     GTK_STOCK_CLOSE, GTK_RESPONSE_OK);
 	g_signal_connect (G_OBJECT(player->priv->infobar), "response",
diff --git a/src/parole-plugins-manager.c b/src/parole-plugins-manager.c
index b94385d..3fdfc45 100644
--- a/src/parole-plugins-manager.c
+++ b/src/parole-plugins-manager.c
@@ -104,7 +104,7 @@ static void parole_plugins_manager_set_property    (GObject *object,
 struct ParolePluginsManagerPrivate
 {
     GtkWidget *list_nt;
-    GtkWidget *main_nt;
+    GtkWidget *main_window;
     
     GPtrArray *array;
     
@@ -166,6 +166,13 @@ parole_plugins_manager_get_selected_module_data (PrefData *pref, ParoleProviderM
     GtkTreeIter       iter;
 
     sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (pref->view));
+    
+    if ( !sel )
+    {
+        *module = NULL;
+        *info = NULL;
+        return;
+    }
 
     if ( !gtk_tree_selection_get_selected (sel, &model, &iter))
     {
@@ -389,7 +396,7 @@ parole_plugins_manager_show_plugins_pref (GtkWidget *widget, ParolePluginsManage
     /*No plugins found*/
     if ( manager->priv->array->len == 0 )
     {
-        parole_dialog_info (GTK_WINDOW (gtk_widget_get_toplevel (manager->priv->main_nt)),
+        parole_dialog_info (GTK_WINDOW (manager->priv->main_window),
         _("No installed plugins found on this system"),
         _("No installed plugins found on this system")); 
         return;
@@ -411,7 +418,7 @@ parole_plugins_manager_show_plugins_pref (GtkWidget *widget, ParolePluginsManage
     pref->configure = GTK_WIDGET (gtk_builder_get_object (builder, "configure"));
 
     gtk_window_set_transient_for (GTK_WINDOW (pref->window), 
-    GTK_WINDOW (gtk_widget_get_toplevel (manager->priv->main_nt)));
+    GTK_WINDOW (manager->priv->main_window));
 
     for ( i = 0; i < manager->priv->array->len; i++)
     {
@@ -603,7 +610,7 @@ parole_plugins_manager_init (ParolePluginsManager *manager)
     manager->priv->load_plugins = TRUE;
 
     manager->priv->list_nt = GTK_WIDGET (gtk_builder_get_object (builder, "notebook-playlist"));
-    manager->priv->main_nt = GTK_WIDGET (gtk_builder_get_object (builder, "main-notebook"));
+    manager->priv->main_window = GTK_WIDGET (gtk_builder_get_object (builder, "main-window"));
 
     manager->priv->conf = parole_conf_new();
 
@@ -613,17 +620,10 @@ parole_plugins_manager_init (ParolePluginsManager *manager)
     g_signal_connect   (manager->priv->list_nt, "page-removed",
                         G_CALLBACK (parole_plugins_manager_page_removed_cb), NULL);
 
-    g_signal_connect   (manager->priv->main_nt, "page-added",
-                        G_CALLBACK (parole_plugins_manager_page_added_cb), NULL);
-
-    g_signal_connect   (manager->priv->main_nt, "page-removed",
-                        G_CALLBACK (parole_plugins_manager_page_removed_cb), NULL);
-
     g_signal_connect   (gtk_builder_get_object (builder, "plugins-menu-item"), "activate",
                         G_CALLBACK (parole_plugins_manager_show_plugins_pref), manager);
 
     parole_plugins_manager_set_show_tabs (GTK_NOTEBOOK (manager->priv->list_nt));
-    parole_plugins_manager_set_show_tabs (GTK_NOTEBOOK (manager->priv->main_nt));
 
     g_object_unref (builder);
 }
@@ -728,9 +728,4 @@ parole_plugins_manager_pack (ParolePluginsManager *manager, GtkWidget *widget, c
         gtk_notebook_append_page (GTK_NOTEBOOK (manager->priv->list_nt), widget, gtk_label_new (title));
         gtk_widget_show_all (widget);
     }
-    else if ( container == PAROLE_PLUGIN_CONTAINER_MAIN_VIEW )
-    {
-        gtk_notebook_append_page (GTK_NOTEBOOK (manager->priv->main_nt), widget, gtk_label_new (title));
-        gtk_widget_show_all (widget);
-    }
 }


More information about the Xfce4-commits mailing list