summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrifa75 <yahiaoui.fakhri@gmail.com>2022-11-24 23:12:57 +0100
committerBastien Nocera <hadess@hadess.net>2022-11-25 12:58:21 +0100
commit65de317290740cb75b429c498273edac844c1fe9 (patch)
tree0cd46d025578d189b79e660b1c2b989d5022c09e
parentdc0a72b117ab6bbf13f91f31de378c72da807883 (diff)
downloadtotem-65de317290740cb75b429c498273edac844c1fe9.tar.gz
main: Use HdyApplicationWindow instead of GtkApplicationWindow
Make sure to hide the windowed headerbar in fullscreen mode, as HdyWindow doesn't have a titlebar, unlike GtkWindow, and the documentation warns us not to use gtk_window_set_titlebar().
-rw-r--r--data/totem.ui818
-rw-r--r--src/totem-object.c1
2 files changed, 413 insertions, 406 deletions
diff --git a/data/totem.ui b/data/totem.ui
index 80af565c8..8099e28be 100644
--- a/data/totem.ui
+++ b/data/totem.ui
@@ -186,528 +186,534 @@
<property name="value">0</property>
<signal name="value-changed" handler="seek_slider_changed_cb"/>
</object>
- <object class="GtkApplicationWindow" id="totem_main_window">
+ <object class="HdyApplicationWindow" id="totem_main_window">
<property name="can_focus">False</property>
<property name="events">GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK</property>
<signal name="window-state-event" handler="window_state_event_cb" swapped="no"/>
<signal name="key-release-event" handler="window_key_press_event_cb" swapped="no"/>
<signal name="key-press-event" handler="window_key_press_event_cb" swapped="no"/>
<signal name="delete-event" handler="main_window_destroy_cb" swapped="no"/>
- <child type="titlebar">
- <object class="TotemMainToolbar" id="header">
+ <child>
+ <object class="GtkBox">
<property name="visible">True</property>
- <property name="show-search-button">True</property>
- <property name="show-select-button">True</property>
- <property name="show-close-button">True</property>
- <property name="title" translatable="yes">Videos</property>
- <signal name="back-clicked" handler="back_button_clicked_cb"/>
- <signal name="notify::search-mode" handler="update_add_button_visibility"/>
- <signal name="notify::select-mode" handler="update_add_button_visibility"/>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkMenuButton" id="add_button">
+ <object class="TotemMainToolbar" id="header">
<property name="visible">True</property>
- <property name="valign">center</property>
- <property name="use-popover">True</property>
- <property name="menu-model">addmenu</property>
- <signal name="toggled" handler="popup_menu_shown_cb"/>
- <style>
- <class name="image-button"/>
- </style>
+ <property name="show-search-button">True</property>
+ <property name="show-select-button">True</property>
+ <property name="show-close-button">True</property>
+ <property name="title" translatable="yes">Videos</property>
+ <signal name="back-clicked" handler="back_button_clicked_cb"/>
+ <signal name="notify::search-mode" handler="update_add_button_visibility"/>
+ <signal name="notify::select-mode" handler="update_add_button_visibility"/>
<child>
- <object class="GtkImage">
+ <object class="GtkMenuButton" id="add_button">
<property name="visible">True</property>
- <property name="icon-name">list-add-symbolic</property>
- <property name="icon-size">1</property>
+ <property name="valign">center</property>
+ <property name="use-popover">True</property>
+ <property name="menu-model">addmenu</property>
+ <signal name="toggled" handler="popup_menu_shown_cb"/>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">list-add-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack-type">start</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="pack-type">start</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="main_menu_button">
- <property name="visible">True</property>
- <property name="valign">center</property>
- <property name="use-popover">True</property>
- <property name="menu-model">appmenu</property>
- <signal name="toggled" handler="popup_menu_shown_cb"/>
- <style>
- <class name="image-button"/>
- </style>
<child>
- <object class="GtkImage">
+ <object class="GtkMenuButton" id="main_menu_button">
<property name="visible">True</property>
- <property name="icon-name">open-menu-symbolic</property>
- <property name="icon-size">1</property>
+ <property name="valign">center</property>
+ <property name="use-popover">True</property>
+ <property name="menu-model">appmenu</property>
+ <signal name="toggled" handler="popup_menu_shown_cb"/>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">open-menu-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack-type">end</property>
+ <property name="position">0</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="pack-type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="gear_button">
- <property name="visible">False</property>
- <property name="no-show-all">True</property>
- <property name="valign">center</property>
- <property name="use-popover">True</property>
- <property name="menu-model">playermenu</property>
- <signal name="toggled" handler="popup_menu_shown_cb"/>
- <style>
- <class name="image-button"/>
- </style>
<child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-name">view-more-symbolic</property>
- <property name="icon-size">1</property>
+ <object class="GtkMenuButton" id="gear_button">
+ <property name="visible">False</property>
+ <property name="no-show-all">True</property>
+ <property name="valign">center</property>
+ <property name="use-popover">True</property>
+ <property name="menu-model">playermenu</property>
+ <signal name="toggled" handler="popup_menu_shown_cb"/>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">view-more-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack-type">end</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="subtitles_button">
- <property name="visible">False</property>
- <property name="no-show-all">True</property>
- <property name="valign">center</property>
- <property name="use-popover">True</property>
- <property name="menu-model">subtitlesmenu</property>
- <signal name="toggled" handler="popup_menu_shown_cb"/>
- <style>
- <class name="image-button"/>
- </style>
<child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-name">media-view-subtitles-symbolic</property>
- <property name="icon-size">1</property>
+ <object class="GtkMenuButton" id="subtitles_button">
+ <property name="visible">False</property>
+ <property name="no-show-all">True</property>
+ <property name="valign">center</property>
+ <property name="use-popover">True</property>
+ <property name="menu-model">subtitlesmenu</property>
+ <signal name="toggled" handler="popup_menu_shown_cb"/>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">media-view-subtitles-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack-type">end</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="fullscreen_button">
- <property name="visible">False</property>
- <property name="no-show-all">True</property>
- <property name="valign">center</property>
- <property name="action-name">app.fullscreen</property>
- <style>
- <class name="image-button"/>
- </style>
<child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-name">view-fullscreen-symbolic</property>
- <property name="icon-size">1</property>
+ <object class="GtkButton" id="fullscreen_button">
+ <property name="visible">False</property>
+ <property name="no-show-all">True</property>
+ <property name="valign">center</property>
+ <property name="action-name">app.fullscreen</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">view-fullscreen-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack-type">end</property>
+ </packing>
</child>
</object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
</child>
- </object>
- </child>
- <child>
- <object class="GtkStack" id="tmw_main_stack">
- <property name="visible">True</property>
- <property name="homogeneous">True</property>
<child>
- <object class="BaconVideoWidget" id="bvw">
+ <object class="GtkStack" id="tmw_main_stack">
<property name="visible">True</property>
- <property name="events">GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK</property>
- <signal name="notify::volume" handler="property_notify_cb_volume"/>
- <signal name="notify::seekable" handler="property_notify_cb_seekable"/>
- <signal name="subtitles-changed" handler="totem_subtitles_menu_update" swapped="yes"/>
- <signal name="languages-changed" handler="totem_languages_menu_update" swapped="yes"/>
- <signal name="button-press-event" handler="on_video_button_press_event" after="yes"/>
- <signal name="download-buffering" handler="on_download_buffering_event"/>
- <signal name="motion-notify-event" handler="on_bvw_motion_notify_cb"/>
- <signal name="key-release-event" handler="window_key_press_event_cb"/>
- <signal name="key-press-event" handler="window_key_press_event_cb"/>
- <signal name="scroll-event" handler="seek_slider_scroll_event_cb"/>
- <signal name="channels-change" handler="on_channels_change_event"/>
- <signal name="got-metadata" handler="on_got_metadata_event"/>
- <signal name="drag-data-received" handler="drop_video_cb"/>
- <signal name="play-starting" handler="play_starting_cb"/>
- <signal name="got-redirect" handler="on_got_redirect"/>
- <signal name="buffering" handler="on_buffering_event"/>
- <signal name="tick" handler="update_current_time"/>
- <signal name="error" handler="on_error_event"/>
- <signal name="eos" handler="on_eos_event"/>
- <child type="overlay">
- <object class="GtkGrid" id="bvw_grid">
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="BaconVideoWidget" id="bvw">
<property name="visible">True</property>
- <property name="halign">fill</property>
- <property name="valign">fill</property>
- <child>
- <object class="TotemMainToolbar" id="fullscreen_header">
- <property name="visible">False</property>
- <property name="show-search-button">False</property>
- <property name="show-select-button">False</property>
- <property name="show-back-button">True</property>
- <property name="opacity">0.86</property>
+ <property name="events">GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK</property>
+ <signal name="notify::volume" handler="property_notify_cb_volume"/>
+ <signal name="notify::seekable" handler="property_notify_cb_seekable"/>
+ <signal name="subtitles-changed" handler="totem_subtitles_menu_update" swapped="yes"/>
+ <signal name="languages-changed" handler="totem_languages_menu_update" swapped="yes"/>
+ <signal name="button-press-event" handler="on_video_button_press_event" after="yes"/>
+ <signal name="download-buffering" handler="on_download_buffering_event"/>
+ <signal name="motion-notify-event" handler="on_bvw_motion_notify_cb"/>
+ <signal name="key-release-event" handler="window_key_press_event_cb"/>
+ <signal name="key-press-event" handler="window_key_press_event_cb"/>
+ <signal name="scroll-event" handler="seek_slider_scroll_event_cb"/>
+ <signal name="channels-change" handler="on_channels_change_event"/>
+ <signal name="got-metadata" handler="on_got_metadata_event"/>
+ <signal name="drag-data-received" handler="drop_video_cb"/>
+ <signal name="play-starting" handler="play_starting_cb"/>
+ <signal name="got-redirect" handler="on_got_redirect"/>
+ <signal name="buffering" handler="on_buffering_event"/>
+ <signal name="tick" handler="update_current_time"/>
+ <signal name="error" handler="on_error_event"/>
+ <signal name="eos" handler="on_eos_event"/>
+ <child type="overlay">
+ <object class="GtkGrid" id="bvw_grid">
+ <property name="visible">True</property>
<property name="halign">fill</property>
- <property name="hexpand">True</property>
- <property name="title" bind-source="header" bind-property="title"/>
- <property name="subtitle" bind-source="header" bind-property="subtitle"/>
- <signal name="back-clicked" handler="back_button_clicked_cb"/>
+ <property name="valign">fill</property>
<child>
- <object class="GtkButton">
- <property name="visible">True</property>
- <property name="no-show-all">True</property>
- <property name="valign">center</property>
- <property name="action-name">app.fullscreen</property>
- <style>
- <class name="image-button"/>
- </style>
+ <object class="TotemMainToolbar" id="fullscreen_header">
+ <property name="visible">False</property>
+ <property name="show-search-button">False</property>
+ <property name="show-select-button">False</property>
+ <property name="show-back-button">True</property>
+ <property name="opacity">0.86</property>
+ <property name="halign">fill</property>
+ <property name="hexpand">True</property>
+ <property name="title" bind-source="header" bind-property="title"/>
+ <property name="subtitle" bind-source="header" bind-property="subtitle"/>
+ <signal name="back-clicked" handler="back_button_clicked_cb"/>
<child>
- <object class="GtkImage">
+ <object class="GtkButton">
<property name="visible">True</property>
- <property name="icon-name">view-restore-symbolic</property>
- <property name="icon-size">1</property>
+ <property name="no-show-all">True</property>
+ <property name="valign">center</property>
+ <property name="action-name">app.fullscreen</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">view-restore-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack-type">end</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="fullscreen_gear_button">
- <property name="visible">True</property>
- <property name="valign">center</property>
- <property name="use-popover">True</property>
- <property name="menu-model">playermenu</property>
- <signal name="toggled" handler="popup_menu_shown_cb"/>
- <style>
- <class name="image-button"/>
- </style>
<child>
- <object class="GtkImage">
+ <object class="GtkMenuButton" id="fullscreen_gear_button">
<property name="visible">True</property>
- <property name="icon-name">view-more-symbolic</property>
- <property name="icon-size">1</property>
+ <property name="valign">center</property>
+ <property name="use-popover">True</property>
+ <property name="menu-model">playermenu</property>
+ <signal name="toggled" handler="popup_menu_shown_cb"/>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">view-more-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack-type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="fullscreen_subtitles_button">
+ <property name="visible">True</property>
+ <property name="valign">center</property>
+ <property name="use-popover">True</property>
+ <property name="menu-model">subtitlesmenu</property>
+ <signal name="toggled" handler="popup_menu_shown_cb"/>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">media-view-subtitles-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack-type">end</property>
+ </packing>
</child>
</object>
<packing>
- <property name="pack-type">end</property>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="width">3</property>
+ <property name="height">1</property>
</packing>
</child>
<child>
- <object class="GtkMenuButton" id="fullscreen_subtitles_button">
- <property name="visible">True</property>
- <property name="valign">center</property>
- <property name="use-popover">True</property>
- <property name="menu-model">subtitlesmenu</property>
- <signal name="toggled" handler="popup_menu_shown_cb"/>
+ <object class="GtkSpinner" id="spinner">
+ <property name="visible">False</property>
+ <property name="vexpand">True</property>
+ <property name="hexpand">True</property>
<style>
- <class name="image-button"/>
+ <class name="osd"/>
</style>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-name">media-view-subtitles-symbolic</property>
- <property name="icon-size">1</property>
- </object>
- </child>
</object>
<packing>
- <property name="pack-type">end</property>
+ <property name="left-attach">1</property>
+ <property name="top-attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
</packing>
</child>
- </object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">0</property>
- <property name="width">3</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkSpinner" id="spinner">
- <property name="visible">False</property>
- <property name="vexpand">True</property>
- <property name="hexpand">True</property>
- <style>
- <class name="osd"/>
- </style>
- </object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">2</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolbar" id="toolbar">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="border_width">0</property>
- <property name="opacity">0.86</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
- <property name="valign">end</property>
- <style>
- <class name="osd"/>
- <class name="bottom"/>
- </style>
<child>
- <object class="GtkToolItem" id="controls_toolbutton">
+ <object class="GtkToolbar" id="toolbar">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="border_width">0</property>
+ <property name="opacity">0.86</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="valign">end</property>
+ <style>
+ <class name="osd"/>
+ <class name="bottom"/>
+ </style>
<child>
- <object class="GtkBox" id="controls_box">
+ <object class="GtkToolItem" id="controls_toolbutton">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <style>
- <class name="linked"/>
- </style>
<child>
- <object class="GtkButton">
+ <object class="GtkBox" id="controls_box">
<property name="visible">True</property>
- <property name="valign">center</property>
- <property name="action-name">app.previous-chapter</property>
- <property name="tooltip-text" translatable="yes">Previous Chapter/Movie</property>
- <child internal-child="accessible">
- <object class="AtkObject">
- <property name="AtkObject::accessible-name" translatable="yes">Previous Chapter/Movie</property>
- </object>
- </child>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-name">media-skip-backward-symbolic</property>
- <property name="icon-size">1</property>
- </object>
- </child>
+ <property name="can_focus">False</property>
<style>
- <class name="image-button"/>
+ <class name="linked"/>
</style>
- </object>
- </child>
- <child>
- <object class="GtkButton" id="play_button">
- <property name="visible">True</property>
- <property name="valign">center</property>
- <property name="image">icon_play</property>
- <property name="action-name">app.play</property>
- <property name="tooltip-text" translatable="yes">Play / Pause</property>
- <child internal-child="accessible">
- <object class="AtkObject">
- <property name="AtkObject::accessible-name" translatable="yes">Play / Pause</property>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="valign">center</property>
+ <property name="action-name">app.previous-chapter</property>
+ <property name="tooltip-text" translatable="yes">Previous Chapter/Movie</property>
+ <child internal-child="accessible">
+ <object class="AtkObject">
+ <property name="AtkObject::accessible-name" translatable="yes">Previous Chapter/Movie</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">media-skip-backward-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ <style>
+ <class name="image-button"/>
+ </style>
</object>
</child>
- <style>
- <class name="image-button"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkButton">
- <property name="visible">True</property>
- <property name="valign">center</property>
- <property name="action-name">app.next-chapter</property>
- <property name="tooltip-text" translatable="yes">Next Chapter/Movie</property>
- <child internal-child="accessible">
- <object class="AtkObject">
- <property name="AtkObject::accessible-name" translatable="yes">Next Chapter/Movie</property>
+ <child>
+ <object class="GtkButton" id="play_button">
+ <property name="visible">True</property>
+ <property name="valign">center</property>
+ <property name="image">icon_play</property>
+ <property name="action-name">app.play</property>
+ <property name="tooltip-text" translatable="yes">Play / Pause</property>
+ <child internal-child="accessible">
+ <object class="AtkObject">
+ <property name="AtkObject::accessible-name" translatable="yes">Play / Pause</property>
+ </object>
+ </child>
+ <style>
+ <class name="image-button"/>
+ </style>
</object>
</child>
<child>
- <object class="GtkImage">
+ <object class="GtkButton">
<property name="visible">True</property>
- <property name="icon-name">media-skip-forward-symbolic</property>
- <property name="icon-size">1</property>
+ <property name="valign">center</property>
+ <property name="action-name">app.next-chapter</property>
+ <property name="tooltip-text" translatable="yes">Next Chapter/Movie</property>
+ <child internal-child="accessible">
+ <object class="AtkObject">
+ <property name="AtkObject::accessible-name" translatable="yes">Next Chapter/Movie</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">media-skip-forward-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ <style>
+ <class name="image-button"/>
+ </style>
</object>
</child>
- <style>
- <class name="image-button"/>
- </style>
</object>
</child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">False</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="slider_toolbutton">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<child>
- <object class="GtkBox" id="bottom_row">
+ <object class="GtkToolItem" id="slider_toolbutton">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="border_width">0</property>
- <property name="spacing">4</property>
- <child>
- <object class="BaconTimeLabel" id="time_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="margin_start">16</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkScale" id="seek_scale">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="draw_value">False</property>
- <property name="restrict-to-fill-level">False</property>
- <signal name="button-press-event" handler="seek_slider_pressed_cb"/>
- <signal name="button-release-event" handler="seek_slider_released_cb"/>
- <signal name="scroll-event" handler="seek_slider_scroll_event_cb"/>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
<child>
- <object class="BaconTimeLabel" id="time_rem_label">
+ <object class="GtkBox" id="bottom_row">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="remaining">True</property>
- <property name="margin_end">16</property>
+ <property name="border_width">0</property>
+ <property name="spacing">4</property>
+ <child>
+ <object class="BaconTimeLabel" id="time_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_start">16</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale" id="seek_scale">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="draw_value">False</property>
+ <property name="restrict-to-fill-level">False</property>
+ <signal name="button-press-event" handler="seek_slider_pressed_cb"/>
+ <signal name="button-release-event" handler="seek_slider_released_cb"/>
+ <signal name="scroll-event" handler="seek_slider_scroll_event_cb"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="BaconTimeLabel" id="time_rem_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="remaining">True</property>
+ <property name="margin_end">16</property>
+ </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">2</property>
- </packing>
</child>
</object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="homogeneous">False</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="homogeneous">False</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="box_toolbutton">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<child>
- <object class="GtkBox" id="box2">
+ <object class="GtkToolItem" id="box_toolbutton">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="orientation">vertical</property>
<child>
- <object class="GtkMenuButton" id="go_button">
+ <object class="GtkBox" id="box2">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="relief">normal</property>
- <property name="valign">center</property>
- <property name="use-popover">True</property>
- <property name="menu-model">gomenu</property>
- <signal name="toggled" handler="popup_menu_shown_cb"/>
- <style>
- <class name="image-button"/>
- </style>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkImage" id="go_button_image">
+ <object class="GtkMenuButton" id="go_button">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon_name">go-jump-symbolic</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="relief">normal</property>
+ <property name="valign">center</property>
+ <property name="use-popover">True</property>
+ <property name="menu-model">gomenu</property>
+ <signal name="toggled" handler="popup_menu_shown_cb"/>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="go_button_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">go-jump-symbolic</property>
+ </object>
+ </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>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolItem" id="volume_toolbutton">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<child>
- <object class="GtkBox" id="box1">
+ <object class="GtkToolItem" id="volume_toolbutton">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="orientation">vertical</property>
<child>
- <object class="GtkVolumeButton" id="volume_button">
+ <object class="GtkBox" id="box1">
<property name="visible">True</property>
- <property name="sensitive">False</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="can_focus">False</property>
<property name="orientation">vertical</property>
- <property name="valign">center</property>
- <property name="icons">audio-volume-muted-symbolic
+ <child>
+ <object class="GtkVolumeButton" id="volume_button">
+ <property name="visible">True</property>
+ <property name="sensitive">False</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="valign">center</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="volume_button_value_changed_cb"/>
- <signal name="scroll-event" handler="volume_button_scroll_event_cb"/>
- <style>
- <class name="image-button"/>
- </style>
+ <property name="use_symbolic">True</property>
+ <signal name="value-changed" handler="volume_button_value_changed_cb"/>
+ <signal name="scroll-event" handler="volume_button_scroll_event_cb"/>
+ <style>
+ <class name="image-button"/>
+ </style>
+ </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>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ <property name="width">3</property>
+ <property name="height">1</property>
</packing>
</child>
- </object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">2</property>
- <property name="width">3</property>
- <property name="height">1</property>
- </packing>
- </child>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="name">player</property>
+ </packing>
</child>
</object>
- <packing>
- <property name="name">player</property>
- </packing>
</child>
</object>
</child>
diff --git a/src/totem-object.c b/src/totem-object.c
index 25c07d0e4..342168ace 100644
--- a/src/totem-object.c
+++ b/src/totem-object.c
@@ -3899,6 +3899,7 @@ totem_setup_window (TotemObject *totem)
/* Headerbar */
totem->header = GTK_WIDGET (gtk_builder_get_object (totem->xml, "header"));
+ g_object_bind_property (totem, "fullscreen", totem->header, "visible", G_BINDING_SYNC_CREATE | G_BINDING_INVERT_BOOLEAN);
return;
}