[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