[Xfce4-commits] <parole:0.2.2> New interface, lot of changes, lot of broken feature.
Ali Abdallah
noreply at xfce.org
Sun May 30 15:10:01 CEST 2010
Updating branch refs/heads/0.2.2
to 5153e30227040aceb108774b205fc8392d92b3a8 (commit)
from 4521a54c722d159177736348c26461b9355dbb9d (commit)
commit 5153e30227040aceb108774b205fc8392d92b3a8
Author: Ali Abdallah <aliov at xfce.org>
Date: Sun May 30 15:08:03 2010 +0200
New interface, lot of changes, lot of broken feature.
data/interfaces/parole.ui | 1396 ++++++++++++++++++++++---------------------
data/interfaces/playlist.ui | 213 ++++---
src/Makefile.am | 2 -
src/main.c | 9 +-
src/parole-conf.c | 18 +-
src/parole-conf.h | 7 +-
src/parole-disc-menu.c | 334 -----------
src/parole-disc-menu.h | 60 --
src/parole-iso-image.c | 2 +-
src/parole-medialist.c | 2 +-
src/parole-player.c | 806 +++++++++++++------------
src/parole-player.h | 16 +-
12 files changed, 1295 insertions(+), 1570 deletions(-)
diff --git a/data/interfaces/parole.ui b/data/interfaces/parole.ui
index 4ffad80..c1d6994 100644
--- a/data/interfaces/parole.ui
+++ b/data/interfaces/parole.ui
@@ -2,684 +2,752 @@
<interface>
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy project-wide -->
+ <object class="GtkListStore" id="sidebar_liststore">
+ <columns>
+ <!-- column-name img -->
+ <column type="GdkPixbuf"/>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
<object class="GtkWindow" id="main-window">
<property name="title" translatable="yes">Parole Media Player</property>
<property name="window_position">center</property>
- <property name="default_width">780</property>
- <property name="default_height">480</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"/>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkHPaned" id="hpaned1">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
+ <property name="can_focus">True</property>
<child>
- <object class="GtkMenuBar" id="menubar">
+ <object class="GtkAlignment" id="sidebar">
<property name="visible">True</property>
+ <property name="top_padding">2</property>
+ <property name="left_padding">5</property>
<child>
- <object class="GtkMenuItem" id="media-menu-item">
+ <object class="GtkViewport" id="viewport1">
<property name="visible">True</property>
- <property name="label" translatable="yes">_Media</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="media-menu">
+ <property name="resize_mode">queue</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkVBox" id="vbox4">
<property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">4</property>
<child>
- <object class="GtkImageMenuItem" id="menu-add">
- <property name="label">gtk-open</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="parole_player_menu_add_cb"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="menu-open-location">
- <property name="label" translatable="yes">_Open location</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="image">image5</property>
- <property name="use_stock">False</property>
- <signal name="activate" handler="parole_player_menu_open_location_cb"/>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="dvd-menu">
- <property name="label" translatable="yes">DVD</property>
+ <object class="GtkComboBox" id="combobox1">
<property name="visible">True</property>
- <property name="image">image14</property>
- <property name="use_stock">False</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu6">
- <property name="visible">True</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="image">image15</property>
- <property name="use_stock">False</property>
- <signal name="activate" handler="dvd_iso_mi_activated_cb"/>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem5">
- <property name="visible">True</property>
- </object>
- </child>
- </object>
+ <property name="model">sidebar-combo-liststore</property>
+ <property name="active">0</property>
+ <child>
+ <object class="GtkCellRendererPixbuf" id="cellrenderertext1"/>
+ <attributes>
+ <attribute name="icon-name">0</attribute>
+ </attributes>
</child>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="cd-menu">
- <property name="label">gtk-cdrom</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu7">
- <property name="visible">True</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="image">image16</property>
- <property name="use_stock">False</property>
- <signal name="activate" handler="cd_iso_mi_activated_cb"/>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem6">
- <property name="visible">True</property>
- </object>
- </child>
- </object>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext2"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
</child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
</child>
<child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem4">
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="menu-exit">
- <property name="label">gtk-quit</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="parole_player_menu_exit_cb"/>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="edit-menu">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Edit</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu4">
- <property name="visible">True</property>
- <child>
- <object class="GtkCheckMenuItem" id="repeat">
- <property name="visible">True</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="shuffle">
- <property name="visible">True</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>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="plugins-menu-item">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Plugins</property>
- <property name="use_underline">True</property>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="preferences">
- <property name="label">gtk-preferences</property>
+ <object class="GtkNotebook" id="sidebar-notebook">
<property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="parole_player_open_preferences_cb"/>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</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="position">1</property>
+ </packing>
</child>
</object>
</child>
</object>
</child>
+ </object>
+ <packing>
+ <property name="resize">False</property>
+ <property name="shrink">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="top_padding">2</property>
<child>
- <object class="GtkMenuItem" id="view-menu">
+ <object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
- <property name="label" translatable="yes">_View</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu2">
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkViewport" id="menu-view">
<property name="visible">True</property>
+ <property name="resize_mode">queue</property>
+ <property name="shadow_type">none</property>
<child>
- <object class="GtkMenuItem" id="menuitem1">
+ <object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
- <property name="label" translatable="yes">Aspect Ratio</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu5">
+ <property name="spacing">30</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="image">image10</property>
+ <property name="relief">none</property>
+ <property name="focus_on_click">False</property>
+ <signal name="toggled" handler="parole_player_show_hide_playlist"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHButtonBox" id="hbuttonbox2">
<property name="visible">True</property>
<child>
- <object class="GtkRadioMenuItem" id="ratio_none">
- <property name="visible">True</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"/>
- </object>
- </child>
- <child>
- <object class="GtkRadioMenuItem" id="ratio_auto">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Auto</property>
- <property name="use_underline">True</property>
- <property name="draw_as_radio">True</property>
- <property name="group">ratio_none</property>
- <signal name="toggled" handler="ratio_auto_toggled_cb"/>
- </object>
- </child>
- <child>
- <object class="GtkRadioMenuItem" id="ratio_square">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Square</property>
- <property name="use_underline">True</property>
- <property name="draw_as_radio">True</property>
- <property name="group">ratio_none</property>
- <signal name="toggled" handler="ratio_square_toggled_cb"/>
- </object>
- </child>
- <child>
- <object class="GtkRadioMenuItem" id="ratio_4_3">
- <property name="visible">True</property>
- <property name="label" translatable="yes">4:3 (TV)</property>
- <property name="use_underline">True</property>
- <property name="draw_as_radio">True</property>
- <property name="group">ratio_none</property>
- <signal name="toggled" handler="ratio_4_3_toggled_cb"/>
- </object>
- </child>
- <child>
- <object class="GtkRadioMenuItem" id="ratio_16_9">
- <property name="visible">True</property>
- <property name="label" translatable="yes">16:9 (Widescreen)</property>
- <property name="use_underline">True</property>
- <property name="draw_as_radio">True</property>
- <property name="group">ratio_none</property>
- <signal name="toggled" handler="ratio_16_9_toggled_cb"/>
- </object>
- </child>
- <child>
- <object class="GtkRadioMenuItem" id="ratio_20_9">
+ <object class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
- <property name="label" translatable="yes">20:9 (DVB)</property>
- <property name="use_underline">True</property>
- <property name="draw_as_radio">True</property>
- <property name="group">ratio_none</property>
- <signal name="toggled" handler="ratio_20_9_toggled_cb"/>
+ <child>
+ <object class="GtkImageMenuItem" id="menuitem1">
+ <property name="label" translatable="yes">_Media</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="image">image11</property>
+ <property name="use_stock">False</property>
+ <property name="always_show_image">True</property>
+ <child type="submenu">
+ <object class="GtkMenu" id="menu1">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImageMenuItem" id="menu-add">
+ <property name="label">gtk-open</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ <signal name="activate" handler="parole_player_menu_add_cb"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem2">
+ <property name="label" translatable="yes">_Open location</property>
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem1">
+ <property name="label">gtk-quit</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ <signal name="activate" handler="parole_player_menu_exit_cb"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="menuitem2">
+ <property name="label" translatable="yes">_Device</property>
+ <property name="visible">True</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>
+ <child>
+ <object class="GtkImageMenuItem" id="dvd-menu">
+ <property name="label" translatable="yes">_DVD</property>
+ <property name="visible">True</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>
+ <child>
+ <object class="GtkImageMenuItem" id="dvd-iso-mi">
+ <property name="label" translatable="yes">From _ISO image</property>
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="cd-menu">
+ <property name="label">gtk-cdrom</property>
+ <property name="visible">True</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>
+ <child>
+ <object class="GtkImageMenuItem" id="cd-iso-mi">
+ <property name="label" translatable="yes">From _ISO image</property>
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="edit-menu">
+ <property name="label" translatable="yes">_Edit</property>
+ <property name="visible">True</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>
+ <child>
+ <object class="GtkCheckMenuItem" id="menu-repeat">
+ <property name="visible">True</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="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>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="plugins-menu-item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Plugins</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="preferences">
+ <property name="label">gtk-preferences</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ <signal name="activate" handler="parole_player_open_preferences_cb"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="menuitem4">
+ <property name="label" translatable="yes">_Video</property>
+ <property name="visible">True</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>
+ <child>
+ <object class="GtkMenuItem" id="menuitem7">
+ <property name="visible">True</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>
+ <child>
+ <object class="GtkRadioMenuItem" id="radiomenuitem1">
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioMenuItem" id="radiomenuitem2">
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioMenuItem" id="radiomenuitem3">
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioMenuItem" id="radiomenuitem4">
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioMenuItem" id="radiomenuitem5">
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioMenuItem" id="radiomenuitem6">
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorMenuItem" id="separatormenuitem3">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem6">
+ <property name="label">gtk-fullscreen</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ <signal name="activate" handler="parole_player_full_screen_activated_cb"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="menuitem5">
+ <property name="label" translatable="yes">_Volume</property>
+ <property name="visible">True</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>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem4">
+ <property name="label" translatable="yes">_Mute</property>
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem5">
+ <property name="label" translatable="yes">Volume _Up</property>
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem7">
+ <property name="label" translatable="yes">Volume _Down</property>
+ <property name="visible">True</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"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="menuitem6">
+ <property name="label" translatable="yes">_Help</property>
+ <property name="visible">True</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>
+ <child>
+ <object class="GtkImageMenuItem" id="imagemenuitem3">
+ <property name="label">gtk-about</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ <signal name="activate" handler="parole_show_about"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">70</property>
+ <property name="position">0</property>
+ </packing>
</child>
</object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
</child>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem3">
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="fullscreen-menu">
- <property name="label">gtk-fullscreen</property>
- <property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <accelerator key="F11" signal="activate"/>
- <signal name="activate" handler="parole_player_full_screen_activated_cb"/>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="sound">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Sound</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu1">
- <property name="visible">True</property>
- <child>
- <object class="GtkImageMenuItem" id="volume-mute-menu">
- <property name="label" translatable="yes">Mute</property>
- <property name="visible">True</property>
- <property name="image">image12</property>
- <property name="use_stock">False</property>
- <signal name="activate" handler="parole_player_volume_mute"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="volume-up-menu">
- <property name="label" translatable="yes">Volume Up</property>
- <property name="visible">True</property>
- <property name="image">image11</property>
- <property name="use_stock">False</property>
- <accelerator key="plus" signal="activate"/>
- <signal name="activate" handler="parole_player_volume_up"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="volume-down-menu">
- <property name="label" translatable="yes">Volume Down</property>
- <property name="visible">True</property>
- <property name="image">image10</property>
- <property name="use_stock">False</property>
- <accelerator key="minus" signal="activate"/>
- <signal name="activate" handler="parole_player_volume_down"/>
</object>
</child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
</child>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="help-menu">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Help</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu3">
+ <child>
+ <object class="GtkAlignment" id="video-view">
<property name="visible">True</property>
+ <property name="right_padding">5</property>
<child>
- <object class="GtkImageMenuItem" id="about">
- <property name="label">gtk-about</property>
+ <object class="GtkViewport" id="viewport2">
<property name="visible">True</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <signal name="activate" handler="parole_show_about"/>
+ <property name="resize_mode">queue</property>
+ <property name="shadow_type">out</property>
+ <child>
+ <object class="GtkHBox" id="output">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
</object>
</child>
</object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
</child>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox" id="hbox1">
- <property name="visible">True</property>
- <child>
- <object class="GtkNotebook" id="main-notebook">
- <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="group_id">0</property>
<child>
- <object class="GtkVBox" id="main-box">
+ <object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">5</property>
+ <property name="top_padding">2</property>
+ <property name="bottom_padding">2</property>
+ <property name="left_padding">2</property>
+ <property name="right_padding">2</property>
<child>
- <object class="GtkHPaned" id="hpaned">
+ <object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkAlignment" id="alignment1">
+ <object class="GtkAlignment" id="alignment4">
<property name="visible">True</property>
+ <property name="left_padding">5</property>
+ <property name="right_padding">5</property>
<child>
- <object class="GtkVBox" id="vbox8">
+ <object class="GtkHScale" id="scale">
+ <property name="visible">True</property>
+ <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"/>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkAlignment" id="alignment6">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkHBox" id="hbox2">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkHBox" id="output">
- <property name="visible">True</property>
- <property name="app_paintable">True</property>
- <child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
<child>
- <object class="GtkVBox" id="control">
+ <object class="GtkHButtonBox" id="hbuttonbox1">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
<child>
- <object class="GtkAlignment" id="alignment3">
+ <object class="GtkHBox" id="hbox3">
<property name="visible">True</property>
- <property name="top_padding">3</property>
- <property name="bottom_padding">3</property>
+ <property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="play-box">
+ <object class="GtkToggleButton" id="shuffle">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">5</property>
- <child>
- <object class="GtkEventBox" id="disc-box">
- <property name="no_show_all">True</property>
- <child>
- <object class="GtkHBox" id="disc-menu-box">
- <property name="visible">True</property>
- <property name="spacing">5</property>
- <child>
- <object class="GtkButton" id="prev-chapter">
- <property name="label" translatable="yes">Previous Chapter</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="no_show_all">True</property>
- <property name="image">image1</property>
- <property name="relief">none</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="dvd-chapters-menu">
- <property name="label" translatable="yes">DVD Menu</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="no_show_all">True</property>
- <property name="image">image2</property>
- <property name="relief">none</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="chapter-menu">
- <property name="label" translatable="yes">Chapter Menu</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="no_show_all">True</property>
- <property name="image">image3</property>
- <property name="relief">none</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkEventBox" id="eventboxinfo">
- <property name="no_show_all">True</property>
- <child>
- <object class="GtkLabel" id="info">
- <property name="no_show_all">True</property>
- <property name="use_markup">True</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <object class="GtkButton" id="select-track">
- <property name="label" translatable="yes">Select Track</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="no_show_all">True</property>
- <property name="image">image13</property>
- <property name="relief">none</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">5</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="next-chapter">
- <property name="label" translatable="yes">Next Chapter</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="no_show_all">True</property>
- <property name="image">image4</property>
- <property name="relief">none</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">6</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkHScale" id="scale">
- <property name="visible">True</property>
- <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="scroll_event" handler="parole_player_scroll_event_cb"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</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="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="repeat">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</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="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="stop">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</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"/>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkViewport" id="viewport3">
+ <property name="visible">True</property>
+ <property name="resize_mode">queue</property>
+ <property name="shadow_type">out</property>
<child>
- <object class="GtkHBox" id="hbox7">
+ <object class="GtkHBox" id="hbox4">
<property name="visible">True</property>
+ <property name="spacing">2</property>
<child>
- <object class="GtkVBox" id="vbox6">
+ <object class="GtkButton" id="backward">
+ <property name="width_request">60</property>
<property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">5</property>
- <child>
- <object class="GtkHBox" id="hbox6">
- <property name="visible">True</property>
- <property name="spacing">5</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="image">image6</property>
- <property name="relief">none</property>
- <property name="focus_on_click">False</property>
- <signal name="clicked" handler="parole_player_seekb_cb"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="stop">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="image">image7</property>
- <property name="relief">none</property>
- <property name="focus_on_click">False</property>
- <signal name="clicked" handler="parole_player_stop_clicked"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="play-pause">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="image">image8</property>
- <property name="relief">none</property>
- <property name="focus_on_click">False</property>
- <signal name="clicked" handler="parole_player_play_pause_clicked"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</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="image">image9</property>
- <property name="relief">none</property>
- <property name="focus_on_click">False</property>
- <signal name="clicked" handler="parole_player_seekf_cb"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox" id="hbox8">
- <property name="visible">True</property>
- <property name="spacing">5</property>
- <child>
- <object class="GtkImage" id="volume-image">
- <property name="visible">True</property>
- <property name="stock">gtk-missing-image</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkHScale" id="volume">
- <property name="width_request">100</property>
- <property name="height_request">10</property>
- <property name="visible">True</property>
- <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"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="padding">30</property>
- <property name="pack_type">end</property>
- <property name="position">4</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">image3</property>
+ <property name="relief">none</property>
+ <property name="focus_on_click">False</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="leave_fs">
- <property name="label">gtk-leave-fullscreen</property>
+ <object class="GtkButton" id="play">
+ <property name="width_request">80</property>
+ <property name="height_request">35</property>
+ <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="relief">none</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="parole_player_leave_fs_cb"/>
+ <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"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="position">2</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="show-hide-list">
+ <object class="GtkButton" id="forward">
+ <property name="width_request">60</property>
<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">image18</property>
+ <property name="image">image2</property>
<property name="relief">none</property>
- <signal name="clicked" handler="parole_player_show_hide_playlist"/>
+ <property name="focus_on_click">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="pack_type">end</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
</child>
</object>
+ <packing>
+ <property name="padding">5</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="volume-image">
+ <property name="height_request">10</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</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"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHScale" id="volume">
+ <property name="width_request">100</property>
+ <property name="height_request">2</property>
+ <property name="visible">True</property>
+ <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"/>
+ </object>
+ <packing>
+ <property name="position">5</property>
+ </packing>
</child>
</object>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkButton" id="button2">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">image8</property>
+ <property name="relief">none</property>
+ <property name="focus_on_click">False</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="min-view">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</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"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
<property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
@@ -687,89 +755,24 @@
</child>
</object>
<packing>
- <property name="resize">True</property>
- <property name="shrink">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkNotebook" id="notebook-playlist">
- <property name="visible">True</property>
- <property name="can_focus">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="position">1</property>
</packing>
</child>
</object>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
</object>
- </child>
- <child type="tab">
- <object class="GtkLabel" id="Player">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Media player</property>
- </object>
<packing>
- <property name="tab_fill">False</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
- <child type="tab">
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child type="tab">
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkHSeparator" id="status-sep">
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkAlignment" id="statusalign">
- <property name="visible">True</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="no_show_all">True</property>
- <property name="spacing">5</property>
- <child>
- <placeholder/>
- </child>
</object>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="position">3</property>
+ <property name="resize">True</property>
+ <property name="shrink">False</property>
</packing>
</child>
</object>
@@ -777,74 +780,121 @@
</object>
<object class="GtkImage" id="image10">
<property name="visible">True</property>
- <property name="icon_name">audio-volume-low</property>
+ <property name="stock">gtk-go-back</property>
</object>
<object class="GtkImage" id="image11">
<property name="visible">True</property>
- <property name="icon_name">audio-volume-high</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="icon_name">audio-volume-muted</property>
+ <property name="stock">gtk-cdrom</property>
+ <property name="icon-size">1</property>
</object>
- <object class="GtkImage" id="image1">
+ <object class="GtkImage" id="image13">
<property name="visible">True</property>
- <property name="stock">gtk-media-previous</property>
+ <property name="stock">gtk-edit</property>
+ <property name="icon-size">1</property>
</object>
- <object class="GtkImage" id="image2">
+ <object class="GtkImage" id="image14">
<property name="visible">True</property>
- <property name="stock">gtk-index</property>
+ <property name="pixel_size">18</property>
+ <property name="icon_name">applications-multimedia</property>
</object>
- <object class="GtkImage" id="image3">
+ <object class="GtkImage" id="image15">
<property name="visible">True</property>
- <property name="no_show_all">True</property>
- <property name="stock">gtk-index</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="image13">
+ <object class="GtkImage" id="image16">
<property name="visible">True</property>
- <property name="stock">gtk-cdrom</property>
+ <property name="stock">gtk-about</property>
+ <property name="icon-size">1</property>
</object>
- <object class="GtkImage" id="image4">
+ <object class="GtkImage" id="image7">
<property name="visible">True</property>
- <property name="stock">gtk-media-next</property>
+ <property name="icon_name">media-playlist-shuffle</property>
</object>
- <object class="GtkImage" id="image6">
+ <object class="GtkImage" id="image5">
<property name="visible">True</property>
- <property name="stock">gtk-media-rewind</property>
+ <property name="icon_name">media-playlist-repeat</property>
</object>
- <object class="GtkImage" id="image7">
+ <object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="stock">gtk-media-stop</property>
</object>
- <object class="GtkImage" id="image8">
+ <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="image9">
+ <object class="GtkImage" id="image2">
<property name="visible">True</property>
- <property name="stock">gtk-media-forward</property>
+ <property name="stock">gtk-media-next</property>
</object>
- <object class="GtkImage" id="image18">
+ <object class="GtkImage" id="image6">
<property name="visible">True</property>
- <property name="stock">gtk-go-forward</property>
+ <property name="icon_name">audio-volume-high</property>
</object>
- <object class="GtkImage" id="image5">
+ <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="image17">
<property name="visible">True</property>
<property name="stock">gtk-network</property>
</object>
- <object class="GtkImage" id="image14">
+ <object class="GtkImage" id="image18">
<property name="visible">True</property>
<property name="stock">gtk-cdrom</property>
- <property name="icon-size">1</property>
</object>
- <object class="GtkImage" id="image15">
+ <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="image16">
+ <object class="GtkImage" id="image20">
<property name="visible">True</property>
- <property name="stock">gtk-file</property>
- <property name="icon-size">1</property>
+ <property name="stock">gtk-cdrom</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="GtkListStore" id="sidebar-combo-liststore">
+ <columns>
+ <!-- column-name pix -->
+ <column type="gchararray"/>
+ <!-- column-name title -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">playlist</col>
+ <col id="1" translatable="yes">Playlist</col>
+ </row>
+ </data>
</object>
</interface>
diff --git a/data/interfaces/playlist.ui b/data/interfaces/playlist.ui
index 44304e7..1b1ad2f 100644
--- a/data/interfaces/playlist.ui
+++ b/data/interfaces/playlist.ui
@@ -7,22 +7,120 @@
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
- <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <object class="GtkAlignment" id="alignment1">
<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="shadow_type">in</property>
<child>
- <object class="GtkTreeView" id="media-list">
+ <object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">False</property>
- <property name="rules_hint">True</property>
- <signal name="key_press_event" handler="parole_media_list_key_press"/>
- <signal name="row_activated" handler="parole_media_list_row_activated_cb"/>
- <signal name="button_release_event" handler="parole_media_list_button_release_event"/>
- <signal name="drag_data_received" handler="parole_media_list_drag_data_received_cb"/>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <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="window_placement">top-right</property>
+ <property name="window_placement_set">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="media-list">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">False</property>
+ <property name="rules_hint">True</property>
+ <signal name="key_press_event" handler="parole_media_list_key_press"/>
+ <signal name="row_activated" handler="parole_media_list_row_activated_cb"/>
+ <signal name="button_release_event" handler="parole_media_list_button_release_event"/>
+ <signal name="drag_data_received" handler="parole_media_list_drag_data_received_cb"/>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="spacing">2</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkButton" id="add-media">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">image1</property>
+ <signal name="clicked" handler="parole_media_list_add_clicked_cb"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="save-playlist">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">image5</property>
+ <signal name="clicked" handler="parole_media_list_save_cb"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="remove-media">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">image2</property>
+ <signal name="clicked" handler="parole_media_list_remove_clicked_cb"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="media-up">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">image3</property>
+ <signal name="clicked" handler="parole_media_list_media_up_clicked_cb"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="media-down">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">image4</property>
+ <signal name="clicked" handler="parole_media_list_media_down_clicked_cb"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">4</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
</child>
</object>
@@ -30,92 +128,15 @@
<property name="position">0</property>
</packing>
</child>
- <child>
- <object class="GtkHBox" id="hbox3">
- <property name="visible">True</property>
- <property name="spacing">2</property>
- <property name="homogeneous">True</property>
- <child>
- <object class="GtkButton" id="add-media">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="image">image1</property>
- <signal name="clicked" handler="parole_media_list_add_clicked_cb"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="save-playlist">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="image">image5</property>
- <signal name="clicked" handler="parole_media_list_save_cb"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="remove-media">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="image">image2</property>
- <signal name="clicked" handler="parole_media_list_remove_clicked_cb"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="media-up">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="image">image3</property>
- <signal name="clicked" handler="parole_media_list_media_up_clicked_cb"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="media-down">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="image">image4</property>
- <signal name="clicked" handler="parole_media_list_media_down_clicked_cb"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">4</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
</object>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
</object>
+ <object class="GtkImage" id="image5">
+ <property name="visible">True</property>
+ <property name="stock">gtk-save-as</property>
+ </object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="stock">gtk-remove</property>
@@ -128,8 +149,4 @@
<property name="visible">True</property>
<property name="stock">gtk-go-down</property>
</object>
- <object class="GtkImage" id="image5">
- <property name="visible">True</property>
- <property name="stock">gtk-save-as</property>
- </object>
</interface>
diff --git a/src/Makefile.am b/src/Makefile.am
index eb5aa05..9ed3fa8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -64,8 +64,6 @@ parole_SOURCES = \
parole-subtitle-encoding.h \
parole-open-location.c \
parole-open-location.h \
- parole-disc-menu.c \
- parole-disc-menu.h \
parole-button.c \
parole-button.h \
parole-plugin-player.c \
diff --git a/src/main.c b/src/main.c
index 51bab94..5669091 100644
--- a/src/main.c
+++ b/src/main.c
@@ -196,7 +196,8 @@ xv_option_given (const gchar *name, const gchar *value, gpointer data, GError **
int main (int argc, char **argv)
{
ParolePlayer *player;
- ParolePluginsManager *plugins;
+ //ParolePluginsManager *plugins;
+
GtkBuilder *builder;
GOptionContext *ctx;
GOptionGroup *gst_option_group;
@@ -353,15 +354,15 @@ int main (int argc, char **argv)
g_error_free (error);
}
- plugins = parole_plugins_manager_new (!no_plugins);
- parole_plugins_manager_load (plugins);
+ //plugins = parole_plugins_manager_new (!no_plugins);
+ //parole_plugins_manager_load (plugins);
g_object_unref (builder);
gdk_notify_startup_complete ();
gtk_main ();
parole_dbus_release_name (PAROLE_DBUS_NAME);
- g_object_unref (plugins);
+ //g_object_unref (plugins);
}
gst_deinit ();
diff --git a/src/parole-conf.c b/src/parole-conf.c
index da0ff8a..d45a64f 100644
--- a/src/parole-conf.c
+++ b/src/parole-conf.c
@@ -317,7 +317,7 @@ parole_conf_class_init (ParoleConfClass *klass)
NULL, NULL,
320,
G_MAXINT16,
- 780,
+ 760,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
@@ -326,7 +326,7 @@ parole_conf_class_init (ParoleConfClass *klass)
NULL, NULL,
220,
G_MAXINT16,
- 480,
+ 420,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
@@ -462,3 +462,17 @@ parole_conf_new (void)
return PAROLE_CONF (parole_conf_object);
}
+
+
+gboolean parole_conf_get_property_bool (ParoleConf *conf,
+ const gchar *name)
+{
+ gboolean value;
+
+ g_object_get (G_OBJECT (conf),
+ name, &value,
+ NULL);
+
+ return value;
+}
+
diff --git a/src/parole-conf.h b/src/parole-conf.h
index 79910a2..73021aa 100644
--- a/src/parole-conf.h
+++ b/src/parole-conf.h
@@ -45,9 +45,12 @@ typedef struct
} ParoleConfClass;
-GType parole_conf_get_type (void) G_GNUC_CONST;
+GType parole_conf_get_type (void) G_GNUC_CONST;
-ParoleConf *parole_conf_new (void);
+ParoleConf *parole_conf_new (void);
+
+gboolean parole_conf_get_property_bool (ParoleConf *conf,
+ const gchar *name);
G_END_DECLS
diff --git a/src/parole-disc-menu.c b/src/parole-disc-menu.c
deleted file mode 100644
index 58aac16..0000000
--- a/src/parole-disc-menu.c
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- * * Copyright (C) 2009 Ali <aliov at xfce.org>
- *
- * Licensed under the GNU General Public License Version 2
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <libxfce4util/libxfce4util.h>
-
-#include "parole-disc-menu.h"
-#include "parole-builder.h"
-#include "parole-statusbar.h"
-#include "parole-gst.h"
-
-static void parole_disc_menu_finalize (GObject *object);
-
-#define PAROLE_DISC_MENU_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), PAROLE_TYPE_DISC_MENU, ParoleDiscMenuPrivate))
-
-struct ParoleDiscMenuPrivate
-{
- ParoleGst *gst;
- ParoleMediaType current_media_type;
-
- GtkWidget *disc_track;
- GtkWidget *disc_box;
-
- GtkWidget *next_chapter;
- GtkWidget *prev_chapter;
- GtkWidget *dvd_menu;
- GtkWidget *chapter_menu;
- GtkWidget *info;
- GtkWidget *eventboxinfo;
-
- guint tracks;
-};
-
-G_DEFINE_TYPE (ParoleDiscMenu, parole_disc_menu, G_TYPE_OBJECT)
-
-static void
-parole_disc_menu_hide (ParoleDiscMenu *menu)
-{
- gtk_widget_hide (menu->priv->disc_track);
- gtk_widget_hide (menu->priv->next_chapter);
- gtk_widget_hide (menu->priv->prev_chapter);
- gtk_widget_hide (menu->priv->info);
- gtk_widget_hide (menu->priv->eventboxinfo);
- gtk_widget_hide (menu->priv->disc_box);
- //gtk_widget_hide (menu->priv->dvd_menu);
- //gtk_widget_hide (menu->priv->chapter_menu);
-}
-
-static void
-parole_disc_menu_show (ParoleDiscMenu *menu, gboolean show_label)
-{
- gtk_widget_show (menu->priv->next_chapter);
- gtk_widget_show (menu->priv->prev_chapter);
-
- if ( show_label )
- {
- gtk_widget_show (menu->priv->eventboxinfo);
- gtk_widget_show (menu->priv->info);
- gtk_widget_show (menu->priv->disc_track);
- }
-
- //gtk_widget_show (menu->priv->dvd_menu);
- //gtk_widget_show (menu->priv->dvd_menu);
- gtk_widget_show (menu->priv->disc_box);
-
-}
-
-static void
-parole_disc_menu_media_state_cb (ParoleGst *gst, const ParoleStream *stream,
- ParoleMediaState state, ParoleDiscMenu *menu)
-{
- ParoleMediaType media_type;
- menu->priv->tracks = 0;
-
- if ( state < PAROLE_MEDIA_STATE_PAUSED )
- {
- gtk_label_set_markup (GTK_LABEL (menu->priv->info), NULL);
- parole_disc_menu_hide (menu);
- }
- else if ( state == PAROLE_MEDIA_STATE_PLAYING )
- {
- g_object_get (G_OBJECT (stream),
- "media-type", &media_type,
- NULL);
-
- if ( media_type == PAROLE_MEDIA_TYPE_DVD )
- {
- gtk_button_set_label (GTK_BUTTON (menu->priv->next_chapter), _("Next Chapter"));
- gtk_button_set_label (GTK_BUTTON (menu->priv->prev_chapter), _("Previous Chapter"));
- parole_disc_menu_show (menu, FALSE);
- }
- else if ( media_type == PAROLE_MEDIA_TYPE_CDDA )
- {
- guint num_tracks;
- guint current;
- gchar *text;
- gtk_button_set_label (GTK_BUTTON (menu->priv->next_chapter), _("Next Track"));
- gtk_button_set_label (GTK_BUTTON (menu->priv->prev_chapter), _("Previous Track"));
-
- g_object_get (G_OBJECT (stream),
- "num-tracks", &num_tracks,
- "track", ¤t,
- NULL);
-
- text = g_strdup_printf ("<span font_desc='sans 8' font_size='xx-large' color='#510DEC'>%s %i/%i</span>", _("Playing Track"), current, num_tracks);
-
- gtk_label_set_markup (GTK_LABEL (menu->priv->info), text);
-
- g_free (text);
- parole_disc_menu_show (menu, TRUE);
- menu->priv->tracks = num_tracks;
- }
- menu->priv->current_media_type = media_type;
- }
-}
-
-static void
-parole_disc_menu_next_chapter_cb (ParoleDiscMenu *menu)
-{
- if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_DVD )
- parole_gst_next_dvd_chapter (menu->priv->gst);
- else if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_CDDA)
- parole_gst_next_cdda_track (menu->priv->gst);
-}
-
-static void
-parole_disc_menu_prev_chapter_cb (ParoleDiscMenu *menu)
-{
- if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_DVD )
- parole_gst_prev_dvd_chapter (menu->priv->gst);
- else if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_CDDA)
- parole_gst_prev_cdda_track (menu->priv->gst);
-}
-
-static void
-parole_disc_menu_dvd_menu_cb (ParoleDiscMenu *menu)
-{
-
-}
-
-static void
-parole_disc_menu_chapter_menu_cb (ParoleDiscMenu *menu)
-{
-
-}
-
-static void
-track_menu_item_activated_cb (GtkWidget *widget, ParoleDiscMenu *menu)
-{
- guint track;
-
- track = GPOINTER_TO_UINT ( g_object_get_data (G_OBJECT (widget), "track"));
-
- parole_gst_seek_cdda (menu->priv->gst, track);
-}
-
-static void
-parole_disc_menu_show_disc_track_menu (ParoleDiscMenu *disc_menu, guint button, guint activate_time)
-{
- GtkWidget *menu, *mi, *img;
- gchar track[128];
- guint i;
-
- menu = gtk_menu_new ();
-
- for ( i = 0; i < disc_menu->priv->tracks; i++)
- {
- img = gtk_image_new_from_stock (GTK_STOCK_CDROM, GTK_ICON_SIZE_MENU);
- g_snprintf (track, 128, _("Track %i"), i+1);
- mi = gtk_image_menu_item_new_with_label (track);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
- gtk_widget_show (mi);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
- g_object_set_data (G_OBJECT (mi), "track", GUINT_TO_POINTER (i+1));
- g_signal_connect (mi, "activate",
- G_CALLBACK (track_menu_item_activated_cb), disc_menu);
- }
-
- g_signal_connect_swapped (menu, "selection-done",
- G_CALLBACK (gtk_widget_destroy), menu);
-
- gtk_menu_popup (GTK_MENU (menu),
- NULL, NULL,
- NULL, NULL,
- button, activate_time);
-}
-
-static gboolean
-parole_disc_menu_show_disc_track (GtkWidget *widget, GdkEventButton *ev, ParoleDiscMenu *menu)
-{
- if ( ev->button == 1 )
- {
- parole_disc_menu_show_disc_track_menu (menu, ev->button, ev->time);
- }
-
- return FALSE;
-}
-
-static void
-parole_disc_menu_class_init (ParoleDiscMenuClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- object_class->finalize = parole_disc_menu_finalize;
-
- g_type_class_add_private (klass, sizeof (ParoleDiscMenuPrivate));
-}
-
-static void
-parole_disc_menu_init (ParoleDiscMenu *menu)
-{
- GtkBuilder *builder;
- GdkColor color;
-
- menu->priv = PAROLE_DISC_MENU_GET_PRIVATE (menu);
-
- menu->priv->tracks = 0;
-
- builder = parole_builder_get_main_interface ();
-
- menu->priv->disc_track = GTK_WIDGET (gtk_builder_get_object (builder, "select-track"));
- menu->priv->next_chapter = GTK_WIDGET (gtk_builder_get_object (builder, "next-chapter"));
- menu->priv->prev_chapter = GTK_WIDGET (gtk_builder_get_object (builder, "prev-chapter"));
- menu->priv->chapter_menu = GTK_WIDGET (gtk_builder_get_object (builder, "chapter-menu"));
- menu->priv->dvd_menu = GTK_WIDGET (gtk_builder_get_object (builder, "dvd-chapters-menu"));
- menu->priv->info = GTK_WIDGET (gtk_builder_get_object (builder, "info"));
- menu->priv->eventboxinfo = GTK_WIDGET (gtk_builder_get_object (builder, "eventboxinfo"));
- menu->priv->disc_box = GTK_WIDGET (gtk_builder_get_object (builder, "disc-box"));
-
- gdk_color_parse ("black", &color);
-
- gtk_widget_modify_bg (menu->priv->eventboxinfo, GTK_STATE_NORMAL, &color);
- gtk_widget_modify_bg (menu->priv->disc_box, GTK_STATE_NORMAL, &color);
-
- menu->priv->current_media_type = PAROLE_MEDIA_TYPE_UNKNOWN;
-
- g_signal_connect (menu->priv->disc_track, "button-press-event",
- G_CALLBACK (parole_disc_menu_show_disc_track), menu);
-
- g_signal_connect_swapped (menu->priv->next_chapter, "clicked",
- G_CALLBACK (parole_disc_menu_next_chapter_cb), menu);
-
- g_signal_connect_swapped (menu->priv->prev_chapter, "clicked",
- G_CALLBACK (parole_disc_menu_prev_chapter_cb), menu);
-
- g_signal_connect_swapped (menu->priv->dvd_menu, "clicked",
- G_CALLBACK (parole_disc_menu_dvd_menu_cb), menu);
-
- g_signal_connect_swapped (menu->priv->chapter_menu, "clicked",
- G_CALLBACK (parole_disc_menu_chapter_menu_cb), menu);
-
- menu->priv->gst = PAROLE_GST (parole_gst_get ());
-
- g_signal_connect (G_OBJECT (menu->priv->gst), "media_state",
- G_CALLBACK (parole_disc_menu_media_state_cb), menu);
-
- g_object_unref (builder);
-}
-
-static void
-parole_disc_menu_finalize (GObject *object)
-{
- ParoleDiscMenu *menu;
-
- menu = PAROLE_DISC_MENU (object);
-
- G_OBJECT_CLASS (parole_disc_menu_parent_class)->finalize (object);
-}
-
-ParoleDiscMenu *
-parole_disc_menu_new (void)
-{
- ParoleDiscMenu *menu = NULL;
- menu = g_object_new (PAROLE_TYPE_DISC_MENU, NULL);
- return menu;
-}
-
-gboolean parole_disc_menu_visible (ParoleDiscMenu *menu)
-{
- return (GTK_WIDGET_VISIBLE (menu->priv->next_chapter));
-}
-
-gboolean parole_disc_menu_seek_next (ParoleDiscMenu *menu)
-{
- if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_DVD ||
- menu->priv->current_media_type == PAROLE_MEDIA_TYPE_CDDA )
- {
- parole_disc_menu_next_chapter_cb (menu);
- return TRUE;
- }
-
- return FALSE;
-}
-
-gboolean parole_disc_menu_seek_prev (ParoleDiscMenu *menu)
-{
- if ( menu->priv->current_media_type == PAROLE_MEDIA_TYPE_DVD ||
- menu->priv->current_media_type == PAROLE_MEDIA_TYPE_CDDA )
- {
- parole_disc_menu_prev_chapter_cb (menu);
- return TRUE;
- }
-
- return FALSE;
-}
-
-void parole_disc_menu_set_fullscreen (ParoleDiscMenu *menu, gboolean fullscreen)
-{
-}
diff --git a/src/parole-disc-menu.h b/src/parole-disc-menu.h
deleted file mode 100644
index 02ff929..0000000
--- a/src/parole-disc-menu.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * * Copyright (C) 2009 Ali <aliov at xfce.org>
- *
- * Licensed under the GNU General Public License Version 2
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef __PAROLE_DISC_MENU_H
-#define __PAROLE_DISC_MENU_H
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-#define PAROLE_TYPE_DISC_MENU (parole_disc_menu_get_type () )
-#define PAROLE_DISC_MENU(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PAROLE_TYPE_DISC_MENU, ParoleDiscMenu))
-#define PAROLE_IS_DISC_MENU(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PAROLE_TYPE_DISC_MENU))
-
-typedef struct ParoleDiscMenuPrivate ParoleDiscMenuPrivate;
-
-typedef struct
-{
- GObject parent;
- ParoleDiscMenuPrivate *priv;
-} ParoleDiscMenu;
-
-typedef struct
-{
- GObjectClass parent_class;
-} ParoleDiscMenuClass;
-
-GType parole_disc_menu_get_type (void) G_GNUC_CONST;
-
-ParoleDiscMenu *parole_disc_menu_new (void);
-
-gboolean parole_disc_menu_visible (ParoleDiscMenu *menu);
-
-gboolean parole_disc_menu_seek_next (ParoleDiscMenu *menu);
-
-gboolean parole_disc_menu_seek_prev (ParoleDiscMenu *menu);
-
-void parole_disc_menu_set_fullscreen (ParoleDiscMenu *menu,
- gboolean fullscreen);
-
-G_END_DECLS
-
-#endif /* __PAROLE_DISC_MENU_H */
diff --git a/src/parole-iso-image.c b/src/parole-iso-image.c
index 40aa587..65fe4f2 100644
--- a/src/parole-iso-image.c
+++ b/src/parole-iso-image.c
@@ -57,7 +57,7 @@ gchar *parole_open_iso_image (GtkWindow *parent, ParoleIsoImage image)
const gchar *folder;
gint response;
- dialog = xfce_titled_dialog_new_with_buttons (PAROLE_ISO_IMAGE_CD ? _("Open IS CD image") : _("Open ISO DVD image"),
+ dialog = xfce_titled_dialog_new_with_buttons (PAROLE_ISO_IMAGE_CD ? _("Open CD iso image") : _("Open DVD iso image"),
parent,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
diff --git a/src/parole-medialist.c b/src/parole-medialist.c
index 89bd834..86eddc1 100644
--- a/src/parole-medialist.c
+++ b/src/parole-medialist.c
@@ -1,4 +1,4 @@
-/*f
+/*
* * Copyright (C) 2009 Ali <aliov at xfce.org>
*
* Licensed under the GNU General Public License Version 2
diff --git a/src/parole-player.c b/src/parole-player.c
index 428b61e..6927220 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -52,7 +52,6 @@
#include "parole-mediachooser.h"
#include "parole-filters.h"
#include "parole-disc.h"
-#include "parole-disc-menu.h"
#include "parole-statusbar.h"
#include "parole-screensaver.h"
#include "parole-conf-dialog.h"
@@ -162,6 +161,9 @@ gboolean parole_player_volume_scroll_event_cb (GtkWidget *widget,
GdkEventScroll *ev,
ParolePlayer *player);
+void parole_player_volume_toggled (GtkWidget *widget,
+ ParolePlayer *player);
+
void parole_player_full_screen_activated_cb (GtkWidget *widget,
ParolePlayer *player);
@@ -170,7 +172,10 @@ void parole_player_shuffle_toggled_cb (GtkWidget *widget,
void parole_player_repeat_toggled_cb (GtkWidget *widget,
ParolePlayer *player);
-
+
+void parole_player_minimize_clicked_cb (GtkWidget *widget,
+ ParolePlayer *player);
+
/*
* Aspect ratio
*/
@@ -208,18 +213,25 @@ static GtkTargetEntry target_entry[] =
/*
* End of GtkBuilder Callbacks
*/
-#define PAROLE_PLAYER_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), PAROLE_TYPE_PLAYER, ParolePlayerPrivate))
-struct ParolePlayerPrivate
+struct _ParolePlayerClass
{
+ GObjectClass parent_class;
+
+};
+
+struct _ParolePlayer
+{
+ GObject parent;
+
+
DBusGConnection *bus;
ParoleMediaList *list;
ParoleStatusbar *status;
ParoleDisc *disc;
ParoleScreenSaver *screen_saver;
ParoleConf *conf;
- ParoleDiscMenu *disc_menu;
+
#ifdef HAVE_XF86_KEYSYM
ParoleButton *button;
#endif
@@ -233,6 +245,9 @@ struct ParolePlayerPrivate
GtkWidget *gst;
GtkWidget *window;
+ GtkWidget *sidebar;
+ GtkWidget *menu_view;
+ GtkWidget *video_view;
GtkWidget *playlist_nt;
GtkWidget *main_nt; /*Main notebook*/
GtkWidget *show_hide_playlist;
@@ -258,6 +273,7 @@ struct ParolePlayerPrivate
gboolean exit;
gboolean full_screen;
+ gboolean minimized;
ParoleMediaState state;
gboolean user_seeking;
@@ -278,47 +294,47 @@ G_DEFINE_TYPE (ParolePlayer, parole_player, G_TYPE_OBJECT)
void parole_show_about (GtkWidget *widget, ParolePlayer *player)
{
- parole_about (GTK_WINDOW (player->priv->window));
+ parole_about (GTK_WINDOW (player->window));
}
void ratio_none_toggled_cb (GtkWidget *widget, ParolePlayer *player)
{
- g_object_set (G_OBJECT (player->priv->conf),
+ g_object_set (G_OBJECT (player->conf),
"aspect-ratio", PAROLE_ASPECT_RATIO_NONE,
NULL);
}
void ratio_auto_toggled_cb (GtkWidget *widget, ParolePlayer *player)
{
- g_object_set (G_OBJECT (player->priv->conf),
+ g_object_set (G_OBJECT (player->conf),
"aspect-ratio", PAROLE_ASPECT_RATIO_AUTO,
NULL);
}
void ratio_square_toggled_cb (GtkWidget *widget, ParolePlayer *player)
{
- g_object_set (G_OBJECT (player->priv->conf),
+ g_object_set (G_OBJECT (player->conf),
"aspect-ratio", PAROLE_ASPECT_RATIO_SQUARE,
NULL);
}
void ratio_4_3_toggled_cb (GtkWidget *widget, ParolePlayer *player)
{
- g_object_set (G_OBJECT (player->priv->conf),
+ g_object_set (G_OBJECT (player->conf),
"aspect-ratio", PAROLE_ASPECT_RATIO_4_3,
NULL);
}
void ratio_16_9_toggled_cb (GtkWidget *widget, ParolePlayer *player)
{
- g_object_set (G_OBJECT (player->priv->conf),
+ g_object_set (G_OBJECT (player->conf),
"aspect-ratio", PAROLE_ASPECT_RATIO_16_9,
NULL);
}
void ratio_20_9_toggled_cb (GtkWidget *widget, ParolePlayer *player)
{
- g_object_set (G_OBJECT (player->priv->conf),
+ g_object_set (G_OBJECT (player->conf),
"aspect-ratio", PAROLE_ASPECT_RATIO_DVB,
NULL);
}
@@ -328,29 +344,29 @@ void parole_player_show_hide_playlist (GtkButton *button, ParolePlayer *player)
GtkWidget *img;
gboolean visible;
- g_object_get (G_OBJECT (player->priv->show_hide_playlist),
+ g_object_get (G_OBJECT (player->show_hide_playlist),
"image", &img,
NULL);
- visible = GTK_WIDGET_VISIBLE (player->priv->playlist_nt);
+ visible = GTK_WIDGET_VISIBLE (player->sidebar);
if ( !visible )
{
g_object_set (G_OBJECT (img),
- "stock", GTK_STOCK_GO_FORWARD,
+ "stock", GTK_STOCK_GO_BACK,
NULL);
- gtk_widget_show_all (player->priv->playlist_nt);
- gtk_widget_set_tooltip_text (GTK_WIDGET (player->priv->show_hide_playlist), _("Hide playlist"));
+ gtk_widget_show_all (player->sidebar);
+ gtk_widget_set_tooltip_text (GTK_WIDGET (player->show_hide_playlist), _("Hide playlist"));
}
else
{
g_object_set (G_OBJECT (img),
- "stock", GTK_STOCK_GO_BACK,
+ "stock", GTK_STOCK_GO_FORWARD,
NULL);
- gtk_widget_hide_all (player->priv->playlist_nt);
- gtk_widget_set_tooltip_text (GTK_WIDGET (player->priv->show_hide_playlist), _("Show playlist"));
+ gtk_widget_hide_all (player->sidebar);
+ gtk_widget_set_tooltip_text (GTK_WIDGET (player->show_hide_playlist), _("Show playlist"));
}
g_object_unref (img);
}
@@ -360,7 +376,7 @@ parole_player_open_iso_image (ParolePlayer *player, ParoleIsoImage image)
{
gchar *uri;
- uri = parole_open_iso_image (GTK_WINDOW (player->priv->window), PAROLE_ISO_IMAGE_CD);
+ uri = parole_open_iso_image (GTK_WINDOW (player->window), image);
if ( uri )
{
@@ -383,13 +399,13 @@ void cd_iso_mi_activated_cb (GtkWidget *widget, ParolePlayer *player)
static void
parole_player_change_range_value (ParolePlayer *player, gdouble value)
{
- if ( !player->priv->user_seeking )
+ if ( !player->user_seeking )
{
- player->priv->internal_range_change = TRUE;
+ player->internal_range_change = TRUE;
- gtk_range_set_value (GTK_RANGE (player->priv->range), value);
+ gtk_range_set_value (GTK_RANGE (player->range), value);
- player->priv->internal_range_change = FALSE;
+ player->internal_range_change = FALSE;
}
}
@@ -398,11 +414,11 @@ parole_player_reset (ParolePlayer *player)
{
parole_player_change_range_value (player, 0);
- if ( player->priv->row )
+ if ( player->row )
{
- parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, NULL);
- gtk_tree_row_reference_free (player->priv->row);
- player->priv->row = NULL;
+ parole_media_list_set_row_pixbuf (player->list, player->row, NULL);
+ gtk_tree_row_reference_free (player->row);
+ player->row = NULL;
}
}
@@ -415,7 +431,7 @@ parole_player_media_activated_cb (ParoleMediaList *list, GtkTreeRowReference *ro
parole_player_reset (player);
- player->priv->row = gtk_tree_row_reference_copy (row);
+ player->row = gtk_tree_row_reference_copy (row);
model = gtk_tree_row_reference_get_model (row);
@@ -432,7 +448,7 @@ parole_player_media_activated_cb (ParoleMediaList *list, GtkTreeRowReference *ro
if ( g_str_has_prefix (uri, "file:/") )
{
- if ( parole_file_filter (player->priv->video_filter, file) )
+ if ( parole_file_filter (player->video_filter, file) )
{
sub = parole_get_subtitle_path (uri);
}
@@ -440,9 +456,9 @@ 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->priv->stop, TRUE);
+ gtk_widget_set_sensitive (player->stop, TRUE);
- parole_gst_play_uri (PAROLE_GST (player->priv->gst),
+ parole_gst_play_uri (PAROLE_GST (player->gst),
parole_file_get_uri (file),
sub);
g_free (sub);
@@ -455,26 +471,26 @@ static void
parole_player_disc_selected_cb (ParoleDisc *disc, const gchar *uri, const gchar *device, ParolePlayer *player)
{
parole_player_reset (player);
- gtk_widget_set_sensitive (player->priv->stop, TRUE);
+ gtk_widget_set_sensitive (player->stop, TRUE);
- parole_gst_play_device_uri (PAROLE_GST (player->priv->gst), uri, device);
+ parole_gst_play_device_uri (PAROLE_GST (player->gst), uri, device);
}
static void
parole_player_uri_opened_cb (ParoleMediaList *list, const gchar *uri, ParolePlayer *player)
{
parole_player_reset (player);
- gtk_widget_set_sensitive (player->priv->stop, TRUE);
- parole_gst_play_uri (PAROLE_GST (player->priv->gst), uri, NULL);
+ gtk_widget_set_sensitive (player->stop, TRUE);
+ parole_gst_play_uri (PAROLE_GST (player->gst), uri, NULL);
}
static void
parole_player_media_cursor_changed_cb (ParoleMediaList *list, gboolean media_selected, ParolePlayer *player)
{
- if (player->priv->state < PAROLE_MEDIA_STATE_PAUSED)
+ if (player->state < PAROLE_MEDIA_STATE_PAUSED)
{
- gtk_widget_set_sensitive (player->priv->play_pause,
- media_selected || !parole_media_list_is_empty (player->priv->list));
+ gtk_widget_set_sensitive (player->play_pause,
+ media_selected || !parole_media_list_is_empty (player->list));
}
}
@@ -485,7 +501,7 @@ parole_player_media_progressed_cb (ParoleGst *gst, const ParoleStream *stream, g
g_return_if_fail (value > 0);
#endif
- if ( !player->priv->user_seeking && player->priv->state == PAROLE_MEDIA_STATE_PLAYING )
+ if ( !player->user_seeking && player->state == PAROLE_MEDIA_STATE_PLAYING )
{
parole_player_change_range_value (player, value);
}
@@ -526,7 +542,7 @@ parole_player_save_uri (ParolePlayer *player, const ParoleStream *stream)
if ( media_type == PAROLE_MEDIA_TYPE_LOCAL_FILE )
{
- gtk_recent_manager_add_item (player->priv->recent, uri);
+ gtk_recent_manager_add_item (player->recent, uri);
goto out;
}
@@ -568,7 +584,7 @@ parole_player_playing (ParolePlayer *player, const ParoleStream *stream)
if ( !pix )
pix = parole_icon_load ("gtk-media-play-ltr", 16);
- parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, pix);
+ parole_media_list_set_row_pixbuf (player->list, player->row, pix);
g_object_get (G_OBJECT (stream),
"seekable", &seekable,
@@ -576,31 +592,31 @@ parole_player_playing (ParolePlayer *player, const ParoleStream *stream)
"live", &live,
NULL);
- gtk_widget_set_sensitive (player->priv->play_pause, TRUE);
- gtk_widget_set_sensitive (player->priv->stop, TRUE);
-
- parole_player_set_playpause_button_image (player->priv->play_pause, GTK_STOCK_MEDIA_PAUSE);
+ gtk_widget_set_sensitive (player->play_pause, TRUE);
+ gtk_widget_set_sensitive (player->stop, TRUE);
+
+ parole_player_set_playpause_button_image (player->play_pause, GTK_STOCK_MEDIA_PAUSE);
- gtk_widget_set_sensitive (player->priv->range, seekable);
+ gtk_widget_set_sensitive (player->range, seekable);
- player->priv->internal_range_change = TRUE;
+ player->internal_range_change = TRUE;
if ( live || duration == 0)
parole_player_change_range_value (player, 0);
else
- gtk_range_set_range (GTK_RANGE (player->priv->range), 0, duration);
+ gtk_range_set_range (GTK_RANGE (player->range), 0, duration);
- player->priv->internal_range_change = FALSE;
+ player->internal_range_change = FALSE;
- gtk_widget_set_sensitive (player->priv->seekf, seekable);
- gtk_widget_set_sensitive (player->priv->seekb, seekable);
- gtk_widget_set_tooltip_text (GTK_WIDGET (player->priv->range), seekable ? NULL : _("Media stream is not seekable"));
+ gtk_widget_set_sensitive (player->seekf, seekable);
+ gtk_widget_set_sensitive (player->seekb, seekable);
+ gtk_widget_set_tooltip_text (GTK_WIDGET (player->range), seekable ? NULL : _("Media stream is not seekable"));
if ( pix )
g_object_unref (pix);
parole_player_save_uri (player, stream);
- gtk_widget_grab_focus (player->priv->gst);
+ gtk_widget_grab_focus (player->gst);
}
static void
@@ -611,13 +627,13 @@ parole_player_paused (ParolePlayer *player)
TRACE ("Player paused");
pix = parole_icon_load (GTK_STOCK_MEDIA_PAUSE, 16);
- parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, pix);
+ parole_media_list_set_row_pixbuf (player->list, player->row, pix);
- gtk_widget_set_sensitive (player->priv->play_pause, TRUE);
- gtk_widget_set_sensitive (player->priv->stop, TRUE);
+ gtk_widget_set_sensitive (player->play_pause, TRUE);
+ gtk_widget_set_sensitive (player->stop, TRUE);
- if ( player->priv->user_seeking == FALSE)
- parole_player_set_playpause_button_image (player->priv->play_pause, GTK_STOCK_MEDIA_PLAY);
+ if ( player->user_seeking == FALSE)
+ parole_player_set_playpause_button_image (player->play_pause, GTK_STOCK_MEDIA_PLAY);
if ( pix )
g_object_unref (pix);
@@ -627,9 +643,9 @@ parole_player_paused (ParolePlayer *player)
static void
parole_player_quit (ParolePlayer *player)
{
- parole_media_list_save_list (player->priv->list);
- parole_gst_shutdown (PAROLE_GST (player->priv->gst));
- gtk_widget_destroy (player->priv->window);
+ parole_media_list_save_list (player->list);
+ parole_gst_shutdown (PAROLE_GST (player->gst));
+ gtk_widget_destroy (player->window);
g_object_unref (player);
gtk_main_quit ();
}
@@ -639,31 +655,31 @@ parole_player_stopped (ParolePlayer *player)
{
TRACE ("Player stopped");
- gtk_widget_set_sensitive (player->priv->play_pause,
- parole_media_list_is_selected_row (player->priv->list) ||
- !parole_media_list_is_empty (player->priv->list));
+ gtk_widget_set_sensitive (player->play_pause,
+ parole_media_list_is_selected_row (player->list) ||
+ !parole_media_list_is_empty (player->list));
/*
* Set the stop widget insensitive only if we are not going to got to playing
* state, this give the possibility to press on it if the media get stuck
* for some reason.
*/
- if ( parole_gst_get_gst_target_state (PAROLE_GST (player->priv->gst)) != GST_STATE_PLAYING)
+ if ( parole_gst_get_gst_target_state (PAROLE_GST (player->gst)) != GST_STATE_PLAYING)
{
- gtk_widget_set_sensitive (player->priv->stop, FALSE);
+ gtk_widget_set_sensitive (player->stop, FALSE);
}
parole_player_change_range_value (player, 0);
- gtk_widget_set_sensitive (player->priv->range, FALSE);
+ gtk_widget_set_sensitive (player->range, FALSE);
- gtk_widget_set_sensitive (player->priv->seekf, FALSE);
- gtk_widget_set_sensitive (player->priv->seekb, FALSE);
+ gtk_widget_set_sensitive (player->seekf, FALSE);
+ gtk_widget_set_sensitive (player->seekb, FALSE);
- parole_player_set_playpause_button_image (player->priv->play_pause, GTK_STOCK_MEDIA_PLAY);
+ parole_player_set_playpause_button_image (player->play_pause, GTK_STOCK_MEDIA_PLAY);
- parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, NULL);
+ parole_media_list_set_row_pixbuf (player->list, player->row, NULL);
- if ( player->priv->exit )
+ if ( player->exit )
{
parole_player_quit (player);
}
@@ -674,13 +690,13 @@ parole_player_play_selected_row (ParolePlayer *player)
{
GtkTreeRowReference *row;
- row = parole_media_list_get_selected_row (player->priv->list);
+ row = parole_media_list_get_selected_row (player->list);
if ( row == NULL )
- row = parole_media_list_get_first_row (player->priv->list);
+ row = parole_media_list_get_first_row (player->list);
if ( row )
- parole_player_media_activated_cb (player->priv->list, row, player);
+ parole_player_media_activated_cb (player->list, row, player);
}
static void
@@ -690,34 +706,34 @@ parole_player_play_next (ParolePlayer *player, gboolean allow_shuffle)
GtkTreeRowReference *row;
- g_object_get (G_OBJECT (player->priv->conf),
+ g_object_get (G_OBJECT (player->conf),
"shuffle", &shuffle,
"repeat", &repeat,
NULL);
- if ( player->priv->row )
+ if ( player->row )
{
- parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, NULL);
+ parole_media_list_set_row_pixbuf (player->list, player->row, NULL);
if ( shuffle && allow_shuffle )
- row = parole_media_list_get_row_random (player->priv->list);
+ row = parole_media_list_get_row_random (player->list);
else
- row = parole_media_list_get_next_row (player->priv->list, player->priv->row, repeat);
+ row = parole_media_list_get_next_row (player->list, player->row, repeat);
if ( row )
{
- parole_player_media_activated_cb (player->priv->list, row, player);
+ parole_player_media_activated_cb (player->list, row, player);
return;
}
else
{
TRACE ("No remaining media in the list");
- gtk_tree_row_reference_free (player->priv->row);
- player->priv->row = NULL;
+ gtk_tree_row_reference_free (player->row);
+ player->row = NULL;
}
}
- parole_gst_stop (PAROLE_GST (player->priv->gst));
+ parole_gst_stop (PAROLE_GST (player->gst));
}
static void
@@ -725,26 +741,26 @@ parole_player_play_prev (ParolePlayer *player)
{
GtkTreeRowReference *row;
- if ( player->priv->row )
+ if ( player->row )
{
- parole_media_list_set_row_pixbuf (player->priv->list, player->priv->row, NULL);
+ parole_media_list_set_row_pixbuf (player->list, player->row, NULL);
- row = parole_media_list_get_prev_row (player->priv->list, player->priv->row);
+ row = parole_media_list_get_prev_row (player->list, player->row);
if ( row )
{
- parole_player_media_activated_cb (player->priv->list, row, player);
+ parole_player_media_activated_cb (player->list, row, player);
return;
}
else
{
TRACE ("No remaining media in the list");
- gtk_tree_row_reference_free (player->priv->row);
- player->priv->row = NULL;
+ gtk_tree_row_reference_free (player->row);
+ player->row = NULL;
}
}
- parole_gst_stop (PAROLE_GST (player->priv->gst));
+ parole_gst_stop (PAROLE_GST (player->gst));
}
static void
@@ -754,13 +770,13 @@ parole_player_reset_saver_changed (ParolePlayer *player, const ParoleStream *str
TRACE ("Start");
- g_object_get (G_OBJECT (player->priv->conf),
+ g_object_get (G_OBJECT (player->conf),
"reset-saver", &reset_saver,
NULL);
if ( !reset_saver )
- parole_screen_saver_uninhibit (player->priv->screen_saver);
- else if ( player->priv->state == PAROLE_MEDIA_STATE_PLAYING )
+ parole_screen_saver_uninhibit (player->screen_saver);
+ else if ( player->state == PAROLE_MEDIA_STATE_PLAYING )
{
gboolean has_video;
@@ -770,11 +786,11 @@ parole_player_reset_saver_changed (ParolePlayer *player, const ParoleStream *str
if ( has_video )
{
- parole_screen_saver_inhibit (player->priv->screen_saver);
+ parole_screen_saver_inhibit (player->screen_saver);
}
}
else
- parole_screen_saver_uninhibit (player->priv->screen_saver);
+ parole_screen_saver_uninhibit (player->screen_saver);
}
static void
@@ -783,7 +799,7 @@ parole_player_media_state_cb (ParoleGst *gst, const ParoleStream *stream, Parole
PAROLE_DEBUG_ENUM ("State callback", state, GST_ENUM_TYPE_MEDIA_STATE);
- player->priv->state = state;
+ player->state = state;
parole_player_reset_saver_changed (player, stream);
@@ -809,10 +825,10 @@ parole_player_media_state_cb (ParoleGst *gst, const ParoleStream *stream, Parole
void
parole_player_play_pause_clicked (GtkButton *button, ParolePlayer *player)
{
- if ( player->priv->state == PAROLE_MEDIA_STATE_PLAYING )
- parole_gst_pause (PAROLE_GST (player->priv->gst));
- else if ( player->priv->state == PAROLE_MEDIA_STATE_PAUSED )
- parole_gst_resume (PAROLE_GST (player->priv->gst));
+ if ( player->state == PAROLE_MEDIA_STATE_PLAYING )
+ parole_gst_pause (PAROLE_GST (player->gst));
+ else if ( player->state == PAROLE_MEDIA_STATE_PAUSED )
+ parole_gst_resume (PAROLE_GST (player->gst));
else
parole_player_play_selected_row (player);
}
@@ -820,7 +836,7 @@ parole_player_play_pause_clicked (GtkButton *button, ParolePlayer *player)
void
parole_player_stop_clicked (GtkButton *button, ParolePlayer *player)
{
- parole_gst_stop (PAROLE_GST (player->priv->gst));
+ parole_gst_stop (PAROLE_GST (player->gst));
}
/*
@@ -832,7 +848,7 @@ parole_player_get_seek_value (ParolePlayer *player)
gint64 val;
gint64 dur;
- dur = parole_gst_get_stream_duration (PAROLE_GST (player->priv->gst));
+ dur = parole_gst_get_stream_duration (PAROLE_GST (player->gst));
val = dur * 5 /100;
@@ -843,22 +859,22 @@ void parole_player_seekf_cb (GtkButton *button, ParolePlayer *player)
{
gdouble seek;
- seek = parole_gst_get_stream_position (PAROLE_GST (player->priv->gst) )
+ seek = parole_gst_get_stream_position (PAROLE_GST (player->gst) )
+
parole_player_get_seek_value (player);
- parole_gst_seek (PAROLE_GST (player->priv->gst), seek);
+ parole_gst_seek (PAROLE_GST (player->gst), seek);
}
void parole_player_seekb_cb (GtkButton *button, ParolePlayer *player)
{
gdouble seek;
- seek = parole_gst_get_stream_position (PAROLE_GST (player->priv->gst) )
+ seek = parole_gst_get_stream_position (PAROLE_GST (player->gst) )
-
parole_player_get_seek_value (player);
- parole_gst_seek (PAROLE_GST (player->priv->gst), seek);
+ parole_gst_seek (PAROLE_GST (player->gst), seek);
}
gboolean parole_player_scroll_event_cb (GtkWidget *widget, GdkEventScroll *ev, ParolePlayer *player)
@@ -884,7 +900,7 @@ parole_player_range_button_release (GtkWidget *widget, GdkEventButton *ev, Parol
{
ev->button = 2;
- player->priv->user_seeking = FALSE;
+ player->user_seeking = FALSE;
return FALSE;
}
@@ -894,7 +910,7 @@ parole_player_range_button_press (GtkWidget *widget, GdkEventButton *ev, ParoleP
{
ev->button = 2;
- player->priv->user_seeking = TRUE;
+ player->user_seeking = TRUE;
return FALSE;
}
@@ -904,21 +920,42 @@ parole_player_range_value_changed (GtkRange *range, ParolePlayer *player)
{
gdouble value;
- if ( !player->priv->internal_range_change )
+ if ( !player->internal_range_change )
{
value = gtk_range_get_value (GTK_RANGE (range));
- player->priv->user_seeking = TRUE;
+ player->user_seeking = TRUE;
TRACE ("Sending a seek request with value :%e", value);
- parole_gst_seek (PAROLE_GST (player->priv->gst), value);
- player->priv->user_seeking = FALSE;
+ parole_gst_seek (PAROLE_GST (player->gst), value);
+ player->user_seeking = FALSE;
+ }
+}
+
+void parole_player_minimize_clicked_cb (GtkWidget *widget, ParolePlayer *player)
+{
+ if ( player->minimized )
+ {
+ gtk_widget_show (GTK_WIDGET (player->gst));
+ gtk_widget_show (GTK_WIDGET (player->video_view));
+ gtk_widget_show (GTK_WIDGET (player->menu_view));
+ gtk_widget_show (GTK_WIDGET (player->sidebar));
+
+ player->minimized = FALSE;
+ }
+ else
+ {
+ gtk_widget_hide (GTK_WIDGET (player->gst));
+ gtk_widget_hide (GTK_WIDGET (player->video_view));
+ gtk_widget_hide (GTK_WIDGET (player->menu_view));
+ gtk_widget_hide (GTK_WIDGET (player->sidebar));
+ player->minimized = TRUE;
}
}
static void
parole_player_error_cb (ParoleGst *gst, const gchar *error, ParolePlayer *player)
{
- parole_dialog_error (GTK_WINDOW (player->priv->window), _("GStreamer backend error"), error);
- parole_screen_saver_uninhibit (player->priv->screen_saver);
+ parole_dialog_error (GTK_WINDOW (player->window), _("GStreamer backend error"), error);
+ parole_screen_saver_uninhibit (player->screen_saver);
parole_player_stopped (player);
}
@@ -927,14 +964,14 @@ parole_player_media_tag_cb (ParoleGst *gst, const ParoleStream *stream, ParolePl
{
gchar *title;
- if ( player->priv->row )
+ if ( player->row )
{
g_object_get (G_OBJECT (stream),
"title", &title,
NULL);
if ( title )
{
- parole_media_list_set_row_name (player->priv->list, player->priv->row, title);
+ parole_media_list_set_row_name (player->list, player->row, title);
g_free (title);
}
}
@@ -945,24 +982,24 @@ parole_player_buffering_cb (ParoleGst *gst, const ParoleStream *stream, gint per
{
if ( percentage == 100 )
{
- player->priv->buffering = FALSE;
- parole_gst_resume (PAROLE_GST (player->priv->gst));
+ player->buffering = FALSE;
+ parole_gst_resume (PAROLE_GST (player->gst));
}
else
{
- player->priv->buffering = TRUE;
+ player->buffering = TRUE;
- if ( player->priv->state == PAROLE_MEDIA_STATE_PLAYING )
- parole_gst_pause (PAROLE_GST (player->priv->gst));
+ if ( player->state == PAROLE_MEDIA_STATE_PLAYING )
+ parole_gst_pause (PAROLE_GST (player->gst));
}
}
gboolean parole_player_delete_event_cb (GtkWidget *widget, GdkEvent *ev, ParolePlayer *player)
{
- parole_window_busy_cursor (GTK_WIDGET (player->priv->window)->window);
+ parole_window_busy_cursor (GTK_WIDGET (player->window)->window);
- player->priv->exit = TRUE;
- parole_gst_terminate (PAROLE_GST (player->priv->gst));
+ player->exit = TRUE;
+ parole_gst_terminate (PAROLE_GST (player->gst));
return TRUE;
}
@@ -975,25 +1012,13 @@ parole_player_destroy_cb (GtkObject *window, ParolePlayer *player)
static void
parole_player_play_menu_item_activate (ParolePlayer *player)
{
- gtk_widget_activate (player->priv->play_pause);
+ gtk_widget_activate (player->play_pause);
}
static void
parole_player_stop_menu_item_activate (ParolePlayer *player)
{
- gtk_widget_activate (player->priv->stop);
-}
-
-static void
-parole_player_next_menu_item_activate (ParolePlayer *player)
-{
- parole_disc_menu_seek_next (player->priv->disc_menu);
-}
-
-static void
-parole_player_previous_menu_item_activate (ParolePlayer *player)
-{
- parole_disc_menu_seek_prev (player->priv->disc_menu);
+ gtk_widget_activate (player->stop);
}
static void
@@ -1002,19 +1027,19 @@ parole_player_move_fs_window (ParolePlayer *player)
GdkScreen *screen;
GdkRectangle rect;
- screen = gtk_window_get_screen (GTK_WINDOW (player->priv->fs_window));
+ screen = gtk_window_get_screen (GTK_WINDOW (player->fs_window));
gdk_screen_get_monitor_geometry (screen,
- gdk_screen_get_monitor_at_window (screen, player->priv->window->window),
+ gdk_screen_get_monitor_at_window (screen, player->window->window),
&rect);
- gtk_window_resize (GTK_WINDOW (player->priv->fs_window),
+ gtk_window_resize (GTK_WINDOW (player->fs_window),
rect.width,
- player->priv->play_box->allocation.width);
+ player->play_box->allocation.width);
- gtk_window_move (GTK_WINDOW (player->priv->fs_window),
+ gtk_window_move (GTK_WINDOW (player->fs_window),
0,
- rect.height + rect.y - player->priv->play_box->allocation.height);
+ rect.height + rect.y - player->play_box->allocation.height);
}
static void
@@ -1023,54 +1048,52 @@ parole_player_full_screen (ParolePlayer *player, gboolean fullscreen)
gint npages;
static gint current_page = 0;
- if ( player->priv->full_screen == fullscreen )
+ if ( player->full_screen == fullscreen )
return;
- if ( player->priv->full_screen )
+ if ( player->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_widget_hide (player->priv->fs_window);
- parole_statusbar_set_visible (player->priv->status, TRUE);
- parole_disc_menu_set_fullscreen (player->priv->disc_menu, FALSE);
- gtk_widget_show (player->priv->play_box);
- gtk_widget_show (player->priv->menu_bar);
- gtk_widget_show (player->priv->playlist_nt);
- gtk_widget_show (player->priv->show_hide_playlist);
- gtk_widget_hide (player->priv->leave_fs);
+ npages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (player->main_nt));
+ gtk_widget_reparent (player->play_box, player->control);
+ gtk_widget_hide (player->fs_window);
+ parole_statusbar_set_visible (player->status, TRUE);
+ gtk_widget_show (player->play_box);
+ gtk_widget_show (player->menu_bar);
+ gtk_widget_show (player->playlist_nt);
+ gtk_widget_show (player->show_hide_playlist);
+ gtk_widget_hide (player->leave_fs);
- gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->priv->main_nt), npages > 1);
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->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);
- player->priv->full_screen = FALSE;
+ gtk_window_unfullscreen (GTK_WINDOW (player->window));
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (player->playlist_nt), current_page);
+ player->full_screen = FALSE;
}
else
{
- parole_disc_menu_set_fullscreen (player->priv->disc_menu, TRUE);
parole_player_move_fs_window (player);
- gtk_widget_reparent (player->priv->play_box, player->priv->fs_window);
+ gtk_widget_reparent (player->play_box, player->fs_window);
- parole_statusbar_set_visible (player->priv->status, FALSE);
+ parole_statusbar_set_visible (player->status, FALSE);
- gtk_widget_hide (player->priv->play_box);
- gtk_widget_hide (player->priv->menu_bar);
- gtk_widget_hide (player->priv->playlist_nt);
- gtk_widget_hide (player->priv->show_hide_playlist);
- gtk_widget_show (player->priv->leave_fs);
+ gtk_widget_hide (player->play_box);
+ gtk_widget_hide (player->menu_bar);
+ gtk_widget_hide (player->playlist_nt);
+ gtk_widget_hide (player->show_hide_playlist);
+ gtk_widget_show (player->leave_fs);
- 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);
+ current_page = gtk_notebook_get_current_page (GTK_NOTEBOOK (player->playlist_nt));
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->main_nt), FALSE);
- gtk_window_fullscreen (GTK_WINDOW (player->priv->window));
- player->priv->full_screen = TRUE;
+ gtk_window_fullscreen (GTK_WINDOW (player->window));
+ player->full_screen = TRUE;
}
}
static void
parole_player_full_screen_menu_item_activate (ParolePlayer *player)
{
- parole_player_full_screen (player, !player->priv->full_screen);
+ parole_player_full_screen (player, !player->full_screen);
}
void parole_player_full_screen_activated_cb (GtkWidget *widget, ParolePlayer *player)
@@ -1088,22 +1111,19 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
{
GtkWidget *menu, *mi, *img;
gboolean sensitive;
- gboolean dvd_menu;
ParoleMediaType media_type;
- dvd_menu = parole_disc_menu_visible (player->priv->disc_menu);
-
- media_type = parole_gst_get_current_stream_type (PAROLE_GST (player->priv->gst));
+ media_type = parole_gst_get_current_stream_type (PAROLE_GST (player->gst));
menu = gtk_menu_new ();
/*Play menu item
*/
- mi = gtk_image_menu_item_new_from_stock (player->priv->state == PAROLE_MEDIA_STATE_PLAYING
+ mi = gtk_image_menu_item_new_from_stock (player->state == PAROLE_MEDIA_STATE_PLAYING
? GTK_STOCK_MEDIA_PAUSE : GTK_STOCK_MEDIA_PLAY,
NULL);
- g_object_get (G_OBJECT (player->priv->play_pause),
+ g_object_get (G_OBJECT (player->play_pause),
"sensitive", &sensitive,
NULL);
@@ -1118,7 +1138,7 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
*/
mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_MEDIA_FORWARD, NULL);
- gtk_widget_set_sensitive (mi, (player->priv->state >= PAROLE_MEDIA_STATE_PAUSED));
+ gtk_widget_set_sensitive (mi, (player->state >= PAROLE_MEDIA_STATE_PAUSED));
gtk_widget_show (mi);
g_signal_connect (mi, "activate",
G_CALLBACK (parole_player_seekf_cb), player);
@@ -1129,7 +1149,7 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
*/
mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_MEDIA_REWIND, NULL);
- gtk_widget_set_sensitive (mi, (player->priv->state >= PAROLE_MEDIA_STATE_PAUSED));
+ gtk_widget_set_sensitive (mi, (player->state >= PAROLE_MEDIA_STATE_PAUSED));
gtk_widget_show (mi);
g_signal_connect (mi, "activate",
G_CALLBACK (parole_player_seekb_cb), player);
@@ -1140,7 +1160,7 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
*/
mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_MEDIA_STOP, NULL);
- gtk_widget_set_sensitive (mi, player->priv->state == PAROLE_MEDIA_STATE_PLAYING);
+ gtk_widget_set_sensitive (mi, player->state == PAROLE_MEDIA_STATE_PLAYING);
gtk_widget_show (mi);
g_signal_connect_swapped (mi, "activate",
G_CALLBACK (parole_player_stop_menu_item_activate), player);
@@ -1152,10 +1172,10 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
mi = gtk_image_menu_item_new_with_label (media_type == PAROLE_MEDIA_TYPE_CDDA ? _("Next Track") : _("Next Chapter"));
img = gtk_image_new_from_stock (GTK_STOCK_MEDIA_NEXT, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi),img);
- gtk_widget_set_sensitive (mi, (player->priv->state == PAROLE_MEDIA_STATE_PLAYING) && dvd_menu);
+ gtk_widget_set_sensitive (mi, (player->state == PAROLE_MEDIA_STATE_PLAYING));
gtk_widget_show (mi);
- g_signal_connect_swapped (mi, "activate",
- G_CALLBACK (parole_player_next_menu_item_activate), player);
+// g_signal_connect_swapped (mi, "activate",
+// G_CALLBACK (parole_player_next_menu_item_activate), player);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
/*
@@ -1165,10 +1185,10 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
img = gtk_image_new_from_stock (GTK_STOCK_MEDIA_PREVIOUS, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
- gtk_widget_set_sensitive (mi, (player->priv->state == PAROLE_MEDIA_STATE_PLAYING) && dvd_menu);
+ gtk_widget_set_sensitive (mi, (player->state == PAROLE_MEDIA_STATE_PLAYING));
gtk_widget_show (mi);
- g_signal_connect_swapped (mi, "activate",
- G_CALLBACK (parole_player_previous_menu_item_activate), player);
+ // g_signal_connect_swapped (mi, "activate",
+// G_CALLBACK (parole_player_previous_menu_item_activate), player);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
mi = gtk_separator_menu_item_new ();
@@ -1178,7 +1198,7 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
/*
* Un/Full screen
*/
- mi = gtk_image_menu_item_new_from_stock (player->priv->full_screen ? GTK_STOCK_LEAVE_FULLSCREEN:
+ mi = gtk_image_menu_item_new_from_stock (player->full_screen ? GTK_STOCK_LEAVE_FULLSCREEN:
GTK_STOCK_FULLSCREEN, NULL);
gtk_widget_show (mi);
g_signal_connect_swapped (mi, "activate",
@@ -1236,18 +1256,18 @@ static gboolean parole_player_hide_fs_window (gpointer data)
player = PAROLE_PLAYER (data);
- if ( GTK_WIDGET_VISIBLE (player->priv->fs_window) )
+ if ( GTK_WIDGET_VISIBLE (player->fs_window) )
{
/* Don't hide the popup if the pointer is above it*/
- w = player->priv->fs_window->allocation.width;
- h = player->priv->fs_window->allocation.height;
+ w = player->fs_window->allocation.width;
+ h = player->fs_window->allocation.height;
- gtk_widget_get_pointer (player->priv->fs_window, &x, &y);
+ gtk_widget_get_pointer (player->fs_window, &x, &y);
if ((x >= 0) && (x <= w) && (y >= 0) && (y <= h))
return TRUE;
- gtk_widget_hide (player->priv->fs_window);
+ gtk_widget_hide (player->fs_window);
}
return FALSE;
@@ -1258,9 +1278,9 @@ parole_player_gst_widget_motion_notify_event (GtkWidget *widget, GdkEventMotion
{
static gulong hide_timeout = 0;
- if ( player->priv->full_screen )
+ if ( player->full_screen )
{
- gtk_widget_show_all (player->priv->fs_window);
+ gtk_widget_show_all (player->fs_window);
if ( hide_timeout != 0 )
{
g_source_remove (hide_timeout);
@@ -1281,13 +1301,13 @@ parole_player_gst_widget_motion_notify_event (GtkWidget *widget, GdkEventMotion
void
parole_player_menu_open_location_cb (GtkWidget *widget, ParolePlayer *player)
{
- parole_media_list_open_location (player->priv->list);
+ parole_media_list_open_location (player->list);
}
void
parole_player_menu_add_cb (GtkWidget *widget, ParolePlayer *player)
{
- parole_media_list_open (player->priv->list);
+ parole_media_list_open (player->list);
}
void parole_player_open_preferences_cb (GtkWidget *widget, ParolePlayer *player)
@@ -1296,7 +1316,7 @@ void parole_player_open_preferences_cb (GtkWidget *widget, ParolePlayer *player)
dialog = parole_conf_dialog_new ();
- parole_conf_dialog_open (dialog, player->priv->window);
+ parole_conf_dialog_open (dialog, player->window);
}
void
@@ -1309,10 +1329,17 @@ parole_player_menu_exit_cb (GtkWidget *widget, ParolePlayer *player)
void parole_player_shuffle_toggled_cb (GtkWidget *widget, ParolePlayer *player)
{
gboolean toggled;
-
- toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
-
- g_object_set (G_OBJECT (player->priv->conf),
+
+ 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);
}
@@ -1321,9 +1348,16 @@ void parole_player_repeat_toggled_cb (GtkWidget *widget, ParolePlayer *player)
{
gboolean toggled;
- toggled = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
+ 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->priv->conf),
+ g_object_set (G_OBJECT (player->conf),
"repeat", toggled,
NULL);
}
@@ -1335,7 +1369,7 @@ parole_player_get_volume_icon_name (gdouble value)
return "audio-volume-high";
else if ( value > 0.5 )
return "audio-volume-medium";
- else if ( value > 0 )
+ else if ( value > 0. )
return "audio-volume-low";
return "audio-volume-muted";
@@ -1344,23 +1378,22 @@ parole_player_get_volume_icon_name (gdouble value)
static void
parole_player_set_volume_image (ParolePlayer *player, gdouble value)
{
- GdkPixbuf *icon;
+ GtkWidget *img;
- icon = parole_icon_load (parole_player_get_volume_icon_name (value),
- player->priv->volume_image->allocation.width);
- if ( icon )
- {
- g_object_set (G_OBJECT (player->priv->volume_image),
- "pixbuf", icon,
- NULL);
- gdk_pixbuf_unref (icon);
- }
+ g_object_get (player->volume_image,
+ "image", &img,
+ NULL);
+
+ gtk_image_set_from_icon_name (GTK_IMAGE (img),
+ parole_player_get_volume_icon_name (value),
+ GTK_ICON_SIZE_BUTTON);
+ g_object_unref (img);
}
static void
parole_player_change_volume (ParolePlayer *player, gdouble value)
{
- parole_gst_set_volume (PAROLE_GST (player->priv->gst), value);
+ parole_gst_set_volume (PAROLE_GST (player->gst), value);
parole_player_set_volume_image (player, value);
}
@@ -1379,7 +1412,7 @@ parole_player_volume_scroll_event_cb (GtkWidget *widget, GdkEventScroll *ev, Par
parole_player_volume_down (NULL, player);
ret_val = TRUE;
}
-
+
return ret_val;
}
@@ -1388,43 +1421,73 @@ parole_player_volume_value_changed_cb (GtkRange *range, ParolePlayer *player)
{
gdouble value;
value = gtk_range_get_value (range);
+
parole_player_change_volume (player, value);
parole_rc_write_entry_int ("volume", PAROLE_RC_GROUP_GENERAL, (gint)(value * 100));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (player->volume_image), value > 0 ? FALSE : TRUE);
}
void
parole_player_volume_up (GtkWidget *widget, ParolePlayer *player)
{
gdouble value;
- value = gtk_range_get_value (GTK_RANGE (player->priv->volume));
- gtk_range_set_value (GTK_RANGE (player->priv->volume), value + 0.1);
+ value = gtk_range_get_value (GTK_RANGE (player->volume));
+ gtk_range_set_value (GTK_RANGE (player->volume), MIN (value + 0.1, 1));
}
void
parole_player_volume_down (GtkWidget *widget, ParolePlayer *player)
{
gdouble value;
- value = gtk_range_get_value (GTK_RANGE (player->priv->volume));
- gtk_range_set_value (GTK_RANGE (player->priv->volume), value - 0.1);
+ value = MAX (gtk_range_get_value (GTK_RANGE (player->volume)) - 0.1, 0);
+ gtk_range_set_value (GTK_RANGE (player->volume), value);
}
void parole_player_volume_mute (GtkWidget *widget, ParolePlayer *player)
{
- gtk_range_set_value (GTK_RANGE (player->priv->volume), 0);
+ gdouble value;
+ value = gtk_range_get_value (GTK_RANGE (player->volume));
+ parole_rc_write_entry_int ("last-volume", PAROLE_RC_GROUP_GENERAL, (gint)(value * 100));
+ gtk_range_set_value (GTK_RANGE (player->volume), 0);
+}
+
+static void
+parole_player_volume_unmute (ParolePlayer *player)
+{
+ gtk_range_set_value (GTK_RANGE (player->volume),
+ (gdouble) (parole_rc_read_entry_int ("last-volume", PAROLE_RC_GROUP_GENERAL, 100)/100.));
+}
+
+void parole_player_volume_toggled (GtkWidget *widget, ParolePlayer *player)
+{
+ gboolean active;
+ gdouble value;
+
+ active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
+ value = gtk_range_get_value (GTK_RANGE (player->volume));
+
+ if (active && value != 0)
+ {
+ parole_player_volume_mute (NULL, player);
+ }
+ else if (!active && value == 0 )
+ {
+ parole_player_volume_unmute (player);
+ }
}
static void
parole_player_screen_size_change_changed_cb (GdkScreen *screen, ParolePlayer *player)
{
- if ( player->priv->full_screen )
+ if ( player->full_screen )
parole_player_move_fs_window (player);
}
static void
parole_player_sm_quit_requested_cb (ParolePlayer *player)
{
- player->priv->exit = TRUE;
- parole_gst_terminate (PAROLE_GST (player->priv->gst));
+ player->exit = TRUE;
+ parole_gst_terminate (PAROLE_GST (player->gst));
}
static void
@@ -1436,25 +1499,24 @@ parole_player_finalize (GObject *object)
TRACE ("start");
- dbus_g_connection_unref (player->priv->bus);
+ dbus_g_connection_unref (player->bus);
- g_object_unref (player->priv->conf);
- g_object_unref (player->priv->video_filter);
- g_object_unref (player->priv->status);
- g_object_unref (player->priv->disc);
- g_object_unref (player->priv->disc_menu);
- g_object_unref (player->priv->screen_saver);
+ g_object_unref (player->conf);
+ g_object_unref (player->video_filter);
+ g_object_unref (player->status);
+ g_object_unref (player->disc);
+ g_object_unref (player->screen_saver);
- if ( player->priv->client_id )
- g_free (player->priv->client_id);
+ if ( player->client_id )
+ g_free (player->client_id);
- g_object_unref (player->priv->sm_client);
+ g_object_unref (player->sm_client);
#ifdef HAVE_XF86_KEYSYM
- g_object_unref (player->priv->button);
+ g_object_unref (player->button);
#endif
- gtk_widget_destroy (player->priv->fs_window);
+ gtk_widget_destroy (player->fs_window);
G_OBJECT_CLASS (parole_player_parent_class)->finalize (object);
}
@@ -1470,7 +1532,7 @@ static void parole_player_set_property (GObject *object,
switch (prop_id)
{
case PROP_CLIENT_ID:
- player->priv->client_id = g_value_dup_string (value);
+ player->client_id = g_value_dup_string (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -1489,7 +1551,7 @@ static void parole_player_get_property (GObject *object,
switch (prop_id)
{
case PROP_CLIENT_ID:
- g_value_set_string (value, player->priv->client_id);
+ g_value_set_string (value, player->client_id);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -1517,16 +1579,16 @@ parole_player_constructed (GObject *object)
current_dir = g_get_current_dir ();
- player->priv->sm_client = xfce_sm_client_get_full (XFCE_SM_CLIENT_RESTART_NORMAL,
+ player->sm_client = xfce_sm_client_get_full (XFCE_SM_CLIENT_RESTART_NORMAL,
XFCE_SM_CLIENT_PRIORITY_DEFAULT,
- player->priv->client_id,
+ player->client_id,
current_dir,
restart_command,
DESKTOPDIR "/" PACKAGE_NAME ".desktop");
- if ( xfce_sm_client_connect (player->priv->sm_client, NULL ) )
+ if ( xfce_sm_client_connect (player->sm_client, NULL ) )
{
- g_signal_connect_swapped (player->priv->sm_client, "quit-requested",
+ g_signal_connect_swapped (player->sm_client, "quit-requested",
G_CALLBACK (parole_player_sm_quit_requested_cb), player);
}
@@ -1558,8 +1620,6 @@ parole_player_class_init (ParolePlayerClass *klass)
NULL,
G_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY));
- g_type_class_add_private (klass, sizeof (ParolePlayerPrivate));
-
parole_player_dbus_class_init (klass);
}
@@ -1574,7 +1634,7 @@ parole_player_reset_saver_changed_cb (ParolePlayer *player)
{
const ParoleStream *stream;
- stream = parole_gst_get_stream (PAROLE_GST (player->priv->gst));
+ stream = parole_gst_get_stream (PAROLE_GST (player->gst));
TRACE ("Reset saver configuration changed");
parole_player_reset_saver_changed (player, stream);
}
@@ -1586,13 +1646,13 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
gboolean ret_val = FALSE;
- focused = gtk_window_get_focus (GTK_WINDOW (player->priv->window));
+ focused = gtk_window_get_focus (GTK_WINDOW (player->window));
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->playlist_nt) ) ||
+ ( gtk_widget_is_ancestor (focused, player->main_nt) &&
+ !gtk_widget_is_ancestor (focused, player->main_box) ))
{
return FALSE;
}
@@ -1622,12 +1682,12 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
break;
case GDK_Right:
/* Media seekable ?*/
- if ( GTK_WIDGET_SENSITIVE (player->priv->range) )
+ if ( GTK_WIDGET_SENSITIVE (player->range) )
parole_player_seekf_cb (NULL, player);
ret_val = TRUE;
break;
case GDK_Left:
- if ( GTK_WIDGET_SENSITIVE (player->priv->range) )
+ if ( GTK_WIDGET_SENSITIVE (player->range) )
parole_player_seekb_cb (NULL, player);
ret_val = TRUE;
break;
@@ -1642,7 +1702,7 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
#ifdef HAVE_XF86_KEYSYM
case XF86XK_OpenURL:
parole_player_full_screen (player, FALSE);
- parole_media_list_open_location (player->priv->list);
+ parole_media_list_open_location (player->list);
break;
#endif
case GDK_O:
@@ -1650,7 +1710,7 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
if ( ev->state & GDK_CONTROL_MASK )
{
parole_player_full_screen (player, FALSE);
- parole_media_list_open (player->priv->list);
+ parole_media_list_open (player->list);
}
break;
/*
@@ -1660,7 +1720,7 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
case GDK_Down:
case GDK_Return:
case GDK_Delete:
- parole_media_list_grab_focus (player->priv->list);
+ parole_media_list_grab_focus (player->list);
break;
default:
break;
@@ -1700,11 +1760,9 @@ parole_player_key_press (GtkWidget *widget, GdkEventKey *ev, ParolePlayer *playe
parole_player_volume_mute (NULL, player);
return TRUE;
case XF86XK_AudioPrev:
- if ( !parole_disc_menu_seek_prev (player->priv->disc_menu))
parole_player_play_prev (player);
return TRUE;
case XF86XK_AudioNext:
- if ( !parole_disc_menu_seek_next (player->priv->disc_menu))
parole_player_play_next (player, FALSE);
return TRUE;
#endif /* HAVE_XF86_KEYSYM */
@@ -1730,12 +1788,10 @@ parole_player_button_pressed_cb (ParoleButton *button, ParoleButtonKey key, Paro
parole_player_stop_clicked (NULL, player);
break;
case PAROLE_KEY_AUDIO_PREV:
- if ( !parole_disc_menu_seek_prev (player->priv->disc_menu))
- parole_player_play_prev (player);
+ parole_player_play_prev (player);
break;
case PAROLE_KEY_AUDIO_NEXT:
- if ( !parole_disc_menu_seek_next (player->priv->disc_menu))
- parole_player_play_next (player, FALSE);
+ parole_player_play_next (player, FALSE);
break;
default:
break;
@@ -1749,7 +1805,7 @@ parole_gst_set_default_aspect_ratio (ParolePlayer *player, GtkBuilder *builder)
ParoleAspectRatio ratio;
const gchar *widget_name;
- g_object_get (G_OBJECT (player->priv->conf),
+ g_object_get (G_OBJECT (player->conf),
"aspect-ratio", &ratio,
NULL);
@@ -1782,30 +1838,15 @@ parole_gst_set_default_aspect_ratio (ParolePlayer *player, GtkBuilder *builder)
TRUE);
}
-static void
-parole_player_set_sound_menu_items_image (GtkBuilder *builder)
-{
- GtkWidget *img;
-
- img = gtk_image_new_from_icon_name ("audio-volume-muted", GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (gtk_builder_get_object (builder, "volume-mute-menu")), img);
-
- img = gtk_image_new_from_icon_name ("audio-volume-high", GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (gtk_builder_get_object (builder, "volume-up-menu")), img);
-
- img = gtk_image_new_from_icon_name ("audio-volume-low", GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (gtk_builder_get_object (builder, "volume-down-menu")), img);
-}
-
gboolean
parole_player_configure_event_cb (GtkWidget *widget, GdkEventConfigure *ev, ParolePlayer *player)
{
gint w,h;
- if ( !player->priv->full_screen )
+ if ( !player->full_screen )
{
gtk_window_get_size (GTK_WINDOW (widget), &w, &h);
- g_object_set (G_OBJECT (player->priv->conf),
+ g_object_set (G_OBJECT (player->conf),
"window-width", w,
"window-height", h,
NULL);
@@ -1836,7 +1877,7 @@ parole_player_drag_data_received_cb (GtkWidget *widget,
{
gchar *path;
path = g_filename_from_uri (uri_list[i], NULL, NULL);
- added += parole_media_list_add_by_path (player->priv->list, path, i == 0 ? TRUE : FALSE);
+ added += parole_media_list_add_by_path (player->list, path, i == 0 ? TRUE : FALSE);
g_free (path);
}
@@ -1850,17 +1891,17 @@ parole_player_drag_data_received_cb (GtkWidget *widget,
static void
parole_player_window_notify_is_active (ParolePlayer *player)
{
- if ( !player->priv->full_screen )
+ if ( !player->full_screen )
return;
- if (!gtk_window_is_active (GTK_WINDOW (player->priv->window)) )
+ if (!gtk_window_is_active (GTK_WINDOW (player->window)) )
{
- gtk_widget_hide (player->priv->fs_window);
- parole_gst_set_cursor_visible (PAROLE_GST (player->priv->gst), TRUE);
+ gtk_widget_hide (player->fs_window);
+ parole_gst_set_cursor_visible (PAROLE_GST (player->gst), TRUE);
}
else
{
- parole_gst_set_cursor_visible (PAROLE_GST (player->priv->gst), FALSE);
+ parole_gst_set_cursor_visible (PAROLE_GST (player->gst), FALSE);
}
}
@@ -1907,14 +1948,14 @@ parole_player_setup_multimedia_keys (ParolePlayer *player)
{
#ifdef HAVE_XF86_KEYSYM
gboolean enabled;
- g_object_get (G_OBJECT (player->priv->conf),
+ g_object_get (G_OBJECT (player->conf),
"multimedia-keys", &enabled,
NULL);
if ( enabled )
{
- player->priv->button = parole_button_new ();
- g_signal_connect (player->priv->button, "button-pressed",
+ player->button = parole_button_new ();
+ g_signal_connect (player->button, "button-pressed",
G_CALLBACK (parole_player_button_pressed_cb), player);
}
#endif
@@ -1927,75 +1968,73 @@ parole_player_init (ParolePlayer *player)
GtkBuilder *builder;
GdkScreen *screen;
gint w, h;
+ gdouble volume;
gboolean repeat, shuffle;
- player->priv = PAROLE_PLAYER_GET_PRIVATE (player);
+ player->client_id = NULL;
+ player->sm_client = NULL;
+ player->minimized = FALSE;
+ player->full_screen = FALSE;
- player->priv->client_id = NULL;
- player->priv->sm_client = NULL;
+ player->bus = parole_g_session_bus_get ();
- player->priv->bus = parole_g_session_bus_get ();
-
- player->priv->video_filter = parole_get_supported_video_filter ();
- g_object_ref_sink (player->priv->video_filter);
+ player->video_filter = parole_get_supported_video_filter ();
+ g_object_ref_sink (player->video_filter);
builder = parole_builder_get_main_interface ();
- player->priv->conf = parole_conf_new ();
+ player->conf = parole_conf_new ();
- g_signal_connect_swapped (player->priv->conf, "notify::reset-saver",
+ g_signal_connect_swapped (player->conf, "notify::reset-saver",
G_CALLBACK (parole_player_reset_saver_changed_cb), player);
- player->priv->gst = parole_gst_new (FALSE, player->priv->conf);
+ player->gst = parole_gst_new (FALSE, player->conf);
- player->priv->status = parole_statusbar_new ();
+ player->status = parole_statusbar_new ();
- player->priv->disc = parole_disc_new ();
- g_signal_connect (player->priv->disc, "disc-selected",
+ player->disc = parole_disc_new ();
+ g_signal_connect (player->disc, "disc-selected",
G_CALLBACK (parole_player_disc_selected_cb), player);
-
- player->priv->disc_menu = parole_disc_menu_new ();
-
- player->priv->screen_saver = parole_screen_saver_new ();
- player->priv->list = PAROLE_MEDIA_LIST (parole_media_list_get ());
+
+ player->screen_saver = parole_screen_saver_new ();
+ player->list = PAROLE_MEDIA_LIST (parole_media_list_get ());
- player->priv->state = PAROLE_MEDIA_STATE_STOPPED;
- player->priv->user_seeking = FALSE;
- player->priv->internal_range_change = FALSE;
- player->priv->exit = FALSE;
- player->priv->full_screen = FALSE;
- player->priv->buffering = FALSE;
- player->priv->row = NULL;
+ player->state = PAROLE_MEDIA_STATE_STOPPED;
+ player->user_seeking = FALSE;
+ player->internal_range_change = FALSE;
+ player->exit = FALSE;
+ player->full_screen = FALSE;
+ player->buffering = FALSE;
+ player->row = NULL;
- player->priv->recent = gtk_recent_manager_get_default ();
+ player->recent = gtk_recent_manager_get_default ();
- parole_player_set_sound_menu_items_image (builder);
/*
* Gst signals
*/
- g_signal_connect (G_OBJECT (player->priv->gst), "media-state",
+ g_signal_connect (G_OBJECT (player->gst), "media-state",
G_CALLBACK (parole_player_media_state_cb), player);
- g_signal_connect (G_OBJECT (player->priv->gst), "media-progressed",
+ g_signal_connect (G_OBJECT (player->gst), "media-progressed",
G_CALLBACK (parole_player_media_progressed_cb), player);
- g_signal_connect (G_OBJECT (player->priv->gst), "media-tag",
+ g_signal_connect (G_OBJECT (player->gst), "media-tag",
G_CALLBACK (parole_player_media_tag_cb), player);
- g_signal_connect (G_OBJECT (player->priv->gst), "error",
+ g_signal_connect (G_OBJECT (player->gst), "error",
G_CALLBACK (parole_player_error_cb), player);
- g_signal_connect (G_OBJECT (player->priv->gst), "buffering",
+ g_signal_connect (G_OBJECT (player->gst), "buffering",
G_CALLBACK (parole_player_buffering_cb), player);
- g_signal_connect_after (G_OBJECT (player->priv->gst), "button-release-event",
+ g_signal_connect_after (G_OBJECT (player->gst), "button-release-event",
G_CALLBACK (parole_player_gst_widget_button_release), player);
- g_signal_connect_after (G_OBJECT (player->priv->gst), "button-press-event",
+ g_signal_connect_after (G_OBJECT (player->gst), "button-press-event",
G_CALLBACK (parole_player_gst_widget_button_press), player);
- g_signal_connect (G_OBJECT (player->priv->gst), "motion-notify-event",
+ g_signal_connect (G_OBJECT (player->gst), "motion-notify-event",
G_CALLBACK (parole_player_gst_widget_motion_notify_event), player);
output = GTK_WIDGET (gtk_builder_get_object (builder, "output"));
@@ -2007,96 +2046,107 @@ parole_player_init (ParolePlayer *player)
g_signal_connect (output, "drag-data-received",
G_CALLBACK (parole_player_drag_data_received_cb), player);
- player->priv->window = GTK_WIDGET (gtk_builder_get_object (builder, "main-window"));
+ player->window = GTK_WIDGET (gtk_builder_get_object (builder, "main-window"));
- player->priv->main_nt = GTK_WIDGET (gtk_builder_get_object (builder, "main-notebook"));
+ player->main_nt = GTK_WIDGET (gtk_builder_get_object (builder, "main-notebook"));
- player->priv->play_pause = GTK_WIDGET (gtk_builder_get_object (builder, "play-pause"));
- player->priv->stop = GTK_WIDGET (gtk_builder_get_object (builder, "stop"));
- player->priv->seekf = GTK_WIDGET (gtk_builder_get_object (builder, "forward"));
- player->priv->seekb = GTK_WIDGET (gtk_builder_get_object (builder, "back"));
+ player->play_pause = GTK_WIDGET (gtk_builder_get_object (builder, "play"));
+ player->stop = GTK_WIDGET (gtk_builder_get_object (builder, "stop"));
+ player->seekf = GTK_WIDGET (gtk_builder_get_object (builder, "forward"));
+ player->seekb = GTK_WIDGET (gtk_builder_get_object (builder, "back"));
- player->priv->range = GTK_WIDGET (gtk_builder_get_object (builder, "scale"));
+ player->range = GTK_WIDGET (gtk_builder_get_object (builder, "scale"));
- player->priv->volume = GTK_WIDGET (gtk_builder_get_object (builder, "volume"));
- player->priv->volume_image = GTK_WIDGET (gtk_builder_get_object (builder, "volume-image"));
+ player->volume = GTK_WIDGET (gtk_builder_get_object (builder, "volume"));
+ player->volume_image = GTK_WIDGET (gtk_builder_get_object (builder, "volume-image"));
- 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->control = GTK_WIDGET (gtk_builder_get_object (builder, "control"));
- 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->menu_bar = GTK_WIDGET (gtk_builder_get_object (builder, "menubar"));
+ player->play_box = GTK_WIDGET (gtk_builder_get_object (builder, "play-box"));
+ player->playlist_nt = GTK_WIDGET (gtk_builder_get_object (builder, "sidebar-notebook"));
+ player->show_hide_playlist = GTK_WIDGET (gtk_builder_get_object (builder, "show-hide-list"));
+ player->sidebar = GTK_WIDGET (gtk_builder_get_object (builder, "sidebar"));
+ player->video_view = GTK_WIDGET (gtk_builder_get_object (builder, "video-view"));
+ player->menu_view = GTK_WIDGET (gtk_builder_get_object (builder, "menu-view"));
+ player->control = GTK_WIDGET (gtk_builder_get_object (builder, "control"));
+ player->leave_fs = GTK_WIDGET (gtk_builder_get_object (builder, "leave_fs"));
+ player->main_box = GTK_WIDGET (gtk_builder_get_object (builder, "main-box"));
- gtk_range_set_range (GTK_RANGE (player->priv->volume), 0, 1.0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "repeat")),
+ parole_conf_get_property_bool (player->conf, "repeat"));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "shuffle")),
+ parole_conf_get_property_bool (player->conf, "shuffle"));
- gtk_range_set_value (GTK_RANGE (player->priv->volume),
- (gdouble) (parole_rc_read_entry_int ("volume", PAROLE_RC_GROUP_GENERAL, 100)/100.));
+ /*VOLUME*/
+ gtk_range_set_range (GTK_RANGE (player->volume), 0, 1.0);
+ volume = (gdouble) (parole_rc_read_entry_int ("volume", PAROLE_RC_GROUP_GENERAL, 100)/100.);
+
+ parole_player_change_volume (player, volume);
+ gtk_range_set_value (GTK_RANGE (player->volume), volume);
+
+ parole_player_volume_value_changed_cb (GTK_RANGE (player->volume), player);
/*
* Pack the playlist.
*/
- gtk_notebook_append_page (GTK_NOTEBOOK (player->priv->playlist_nt),
- GTK_WIDGET (player->priv->list),
+ gtk_notebook_append_page (GTK_NOTEBOOK (player->playlist_nt),
+ GTK_WIDGET (player->list),
gtk_label_new (_("Playlist")));
- g_object_get (G_OBJECT (player->priv->conf),
+ g_object_get (G_OBJECT (player->conf),
"window-width", &w,
"window-height", &h,
NULL);
- gtk_window_set_default_size (GTK_WINDOW (player->priv->window), w, h);
+ gtk_window_set_default_size (GTK_WINDOW (player->window), w, h);
- gtk_widget_show_all (player->priv->window);
+ gtk_widget_show_all (player->window);
- parole_player_set_wm_opacity_hint (player->priv->window);
+ parole_player_set_wm_opacity_hint (player->window);
gtk_box_pack_start (GTK_BOX (output),
- player->priv->gst,
+ player->gst,
TRUE, TRUE, 0);
- gtk_widget_realize (player->priv->gst);
- gtk_widget_show (player->priv->gst);
+ gtk_widget_realize (player->gst);
+ gtk_widget_show (player->gst);
- parole_player_change_volume (player,
- (gdouble) (parole_rc_read_entry_int ("volume", PAROLE_RC_GROUP_GENERAL, 100)/100.));
- g_signal_connect (player->priv->list, "media_activated",
+ g_signal_connect (player->list, "media_activated",
G_CALLBACK (parole_player_media_activated_cb), player);
- g_signal_connect (player->priv->list, "media_cursor_changed",
+ g_signal_connect (player->list, "media_cursor_changed",
G_CALLBACK (parole_player_media_cursor_changed_cb), player);
- g_signal_connect (player->priv->list, "uri-opened",
+ g_signal_connect (player->list, "uri-opened",
G_CALLBACK (parole_player_uri_opened_cb), player);
/*
* Load auto saved media list.
*/
- parole_media_list_load (player->priv->list);
+ parole_media_list_load (player->list);
- g_object_get (G_OBJECT (player->priv->conf),
+ g_object_get (G_OBJECT (player->conf),
"repeat", &repeat,
"shuffle", &shuffle,
NULL);
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "repeat")),
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "menu-repeat")),
repeat);
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "shuffle")),
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "menu-shuffle")),
shuffle);
- player->priv->fs_window = gtk_window_new (GTK_WINDOW_POPUP);
+ player->fs_window = gtk_window_new (GTK_WINDOW_POPUP);
- gtk_window_set_gravity (GTK_WINDOW (player->priv->fs_window), GDK_GRAVITY_SOUTH_WEST);
- gtk_window_set_position (GTK_WINDOW (player->priv->fs_window), GTK_WIN_POS_NONE);
+ gtk_window_set_gravity (GTK_WINDOW (player->fs_window), GDK_GRAVITY_SOUTH_WEST);
+ gtk_window_set_position (GTK_WINDOW (player->fs_window), GTK_WIN_POS_NONE);
parole_gst_set_default_aspect_ratio (player, builder);
gtk_builder_connect_signals (builder, player);
- screen = gtk_widget_get_screen (player->priv->window);
+
+ screen = gtk_widget_get_screen (player->window);
g_signal_connect (G_OBJECT (screen), "size-changed",
G_CALLBACK (parole_player_screen_size_change_changed_cb), player);
@@ -2104,7 +2154,7 @@ parole_player_init (ParolePlayer *player)
parole_player_setup_multimedia_keys (player);
- g_signal_connect_swapped (player->priv->window, "notify::is-active",
+ g_signal_connect_swapped (player->window, "notify::is-active",
G_CALLBACK (parole_player_window_notify_is_active), player);
parole_player_dbus_init (player);
@@ -2120,7 +2170,7 @@ parole_player_new (const gchar *client_id)
ParoleMediaList *parole_player_get_media_list (ParolePlayer *player)
{
- return player->priv->list;
+ return player->list;
}
void parole_player_play_uri_disc (ParolePlayer *player, const gchar *uri, const gchar *device)
@@ -2195,7 +2245,7 @@ parole_player_dbus_class_init (ParolePlayerClass *klass)
static void
parole_player_dbus_init (ParolePlayer *player)
{
- dbus_g_connection_register_g_object (player->priv->bus,
+ dbus_g_connection_register_g_object (player->bus,
PAROLE_DBUS_PATH,
G_OBJECT (player));
}
@@ -2211,23 +2261,21 @@ static gboolean parole_player_dbus_play (ParolePlayer *player,
static gboolean parole_player_dbus_stop (ParolePlayer *player,
GError *error)
{
- parole_gst_stop (PAROLE_GST (player->priv->gst));
+ parole_gst_stop (PAROLE_GST (player->gst));
return TRUE;
}
static gboolean parole_player_dbus_next_track (ParolePlayer *player,
GError *error)
{
- if ( !parole_disc_menu_seek_next (player->priv->disc_menu))
- parole_player_play_next (player, FALSE);
+ parole_player_play_next (player, FALSE);
return TRUE;
}
static gboolean parole_player_dbus_prev_track (ParolePlayer *player,
GError *error)
{
- if ( !parole_disc_menu_seek_prev (player->priv->disc_menu))
- parole_player_play_prev (player);
+ parole_player_play_prev (player);
return TRUE;
}
@@ -2262,7 +2310,7 @@ static gboolean parole_player_dbus_lower_volume (ParolePlayer *player,
static gboolean parole_player_dbus_mute (ParolePlayer *player,
GError *error)
{
- gtk_range_set_value (GTK_RANGE (player->priv->volume), 0);
+ gtk_range_set_value (GTK_RANGE (player->volume), 0);
return TRUE;
}
@@ -2273,7 +2321,7 @@ static gboolean parole_player_dbus_play_disc (ParolePlayer *player,
{
TRACE ("uri : %s", in_uri);
- gtk_window_present (GTK_WINDOW (player->priv->window));
+ gtk_window_present (GTK_WINDOW (player->window));
if ( parole_is_uri_disc (in_uri) )
parole_player_disc_selected_cb (NULL, in_uri, in_device, player);
diff --git a/src/parole-player.h b/src/parole-player.h
index 3fdf46b..f7d8e39 100644
--- a/src/parole-player.h
+++ b/src/parole-player.h
@@ -30,20 +30,8 @@ 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 ParolePlayerPrivate ParolePlayerPrivate;
-
-typedef struct
-{
- GObject parent;
- ParolePlayerPrivate *priv;
-
-} ParolePlayer;
-
-typedef struct
-{
- GObjectClass parent_class;
-
-} ParolePlayerClass;
+typedef struct _ParolePlayer ParolePlayer;
+typedef struct _ParolePlayerClass ParolePlayerClass;
GType parole_player_get_type (void) G_GNUC_CONST;
More information about the Xfce4-commits
mailing list