From 561f68d221d4a931ea4ad8e9b67dc254b8ac9959 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Hamal=20Dvo=C5=99=C3=A1k?= <mordae@anilinux.org>
Date: Sat, 8 Mar 2025 21:36:27 +0100
Subject: [PATCH] Add pause

---
 lazy_player/__init__.py | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

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()