diff --git a/lazy_player/__init__.py b/lazy_player/__init__.py index 6781809..e6a3895 100644 --- a/lazy_player/__init__.py +++ b/lazy_player/__init__.py @@ -166,13 +166,25 @@ class MainWindow(Gtk.ApplicationWindow): string_obj = cast(Gtk.StringObject, selected_item) self.file_info_label.set_text(string_obj.get_string()) + def _toggle_play_pause(self) -> None: + """Toggle between play and pause states""" + _, state, _ = self.pipeline.get_state(0) + if state == Gst.State.PLAYING: + self.pipeline.set_state(Gst.State.PAUSED) + else: + self.pipeline.set_state(Gst.State.PLAYING) + def _on_video_key_pressed( self, keyval: int, keycode: int, state: Gdk.ModifierType, ) -> bool: - if keyval == Gdk.keyval_from_name("Escape"): + if keyval == Gdk.keyval_from_name("space"): + self._toggle_play_pause() + return True + + elif keyval == Gdk.keyval_from_name("Escape"): self.pipeline.set_state(Gst.State.NULL) self.stack.set_visible_child_name("menu") self.list_view.grab_focus()