From 9a5b4227a29380df5fa9afaba5e756720a0b9290 Mon Sep 17 00:00:00 2001 From: Jonas Weinz Date: Fri, 23 Oct 2020 20:06:37 +0200 Subject: [PATCH] fade out video controls if there is no mouse movement --- src/gtk_mediathek_player/main_window.py | 5 +++++ src/gtk_mediathek_player/player_widget.py | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/gtk_mediathek_player/main_window.py b/src/gtk_mediathek_player/main_window.py index 6b7b11c..c2cbe62 100644 --- a/src/gtk_mediathek_player/main_window.py +++ b/src/gtk_mediathek_player/main_window.py @@ -43,6 +43,11 @@ class MainApp(Gtk.Window): self.add(self._main_container) + self.connect('motion-notify-event', self.on_mouse_move) + + def on_mouse_move(self, _, __): + self._player_widget.show_controls() + def on_search(self, _ = None): if self.get_active_pane() == "player": self._player_widget.pause() diff --git a/src/gtk_mediathek_player/player_widget.py b/src/gtk_mediathek_player/player_widget.py index c4f6e52..22cb93e 100644 --- a/src/gtk_mediathek_player/player_widget.py +++ b/src/gtk_mediathek_player/player_widget.py @@ -28,6 +28,8 @@ class PlayerWidget(Gtk.Overlay): self._is_update = False + self._seconds_after_mouse_move = 0 + GLib.timeout_add_seconds(1, self.update_controls) self._slider.connect("value-changed", self._on_user_slider_change) @@ -49,6 +51,11 @@ class PlayerWidget(Gtk.Overlay): self._is_update = False + if self._seconds_after_mouse_move > 3: + self._controls.set_reveal_child(False) + + self._seconds_after_mouse_move += 1 + return True def _on_user_slider_change(self, range): @@ -101,6 +108,7 @@ class PlayerWidget(Gtk.Overlay): self._controls.set_valign(Gtk.Align.END) + self._controls.set_transition_type(Gtk.RevealerTransitionType.SLIDE_UP) self._controls.set_reveal_child(True) style_context = self._controls.get_style_context() @@ -128,3 +136,7 @@ class PlayerWidget(Gtk.Overlay): def get_state(self): return self._videoarea.get_state() + + def show_controls(self): + self._controls.set_reveal_child(True) + self._seconds_after_mouse_move = 0