From 0433dee8c1359172578813aab801e236413e9e73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Hamal=20Dvo=C5=99=C3=A1k?= <mordae@anilinux.org> Date: Sun, 9 Mar 2025 22:49:42 +0100 Subject: [PATCH] Add refresh --- lazy_player/__init__.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/lazy_player/__init__.py b/lazy_player/__init__.py index 40fb9be..1ce6f27 100644 --- a/lazy_player/__init__.py +++ b/lazy_player/__init__.py @@ -231,6 +231,23 @@ class MainWindow(Gtk.ApplicationWindow): item.connect("notify::saved-position", update_icon) update_icon() + def _refresh(self): + selected = self.selection.full_path + self._populate_file_list() + + for i in range(self.list_model.get_n_items()): + item = self.list_model.get_item(i) + if not item: + continue + + file_item = cast(FileItem, item) + + if file_item.full_path == selected: + self.list_view.scroll_to( + i, Gtk.ListScrollFlags.SELECT | Gtk.ListScrollFlags.FOCUS, None + ) + break + def _navigate_to(self, path: Path): self.directory_history.append(Path(os.getcwd())) os.chdir(path) @@ -262,8 +279,6 @@ class MainWindow(Gtk.ApplicationWindow): ) break - return True - def _on_selection_changed( self, selection_model: Gtk.SingleSelection, @@ -373,6 +388,10 @@ class MainWindow(Gtk.ApplicationWindow): self.close() return True + elif keyval == Gdk.keyval_from_name("r"): + self._refresh() + return True + elif keyval == Gdk.keyval_from_name("w"): self._toggle_watched_status() return True