Add refresh

This commit is contained in:
Jan Hamal Dvořák 2025-03-09 22:49:42 +01:00
parent 8be5a56ac5
commit 0433dee8c1

View file

@ -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