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