mirror of
https://github.com/morgan9e/warehouse
synced 2026-04-14 00:04:08 +09:00
open the same package page again instead of resetting to the first row, if there are still snapshots left to delete for the current app
This commit is contained in:
@@ -94,8 +94,7 @@ class SnapshotBox(Gtk.Box):
|
||||
self.toast_overlay.add_toast(ErrorToast(_("Could not trash snapshot"), error[0]).toast)
|
||||
return
|
||||
|
||||
self.parent_page.parent_page.start_loading()
|
||||
self.parent_page.parent_page.end_loading()
|
||||
self.parent_page.on_trash()
|
||||
self.toast_overlay.add_toast(Adw.Toast.new(_("Trashed snapshot")))
|
||||
|
||||
def on_response(_, response):
|
||||
|
||||
@@ -31,7 +31,7 @@ template $SnapshotsListPage : Adw.NavigationPage {
|
||||
}
|
||||
[bottom]
|
||||
ActionBar {
|
||||
revealed: bind new_button.visible;
|
||||
revealed: bind new_button.sensitive;
|
||||
[center]
|
||||
Button new_button {
|
||||
margin-top: 3;
|
||||
|
||||
@@ -26,6 +26,10 @@ class SnapshotsListPage(Adw.NavigationPage):
|
||||
self.snapshots_rows.append(row)
|
||||
|
||||
def callback(self, *args):
|
||||
if len(self.snapshots_rows) == 0:
|
||||
self.parent_page.refresh()
|
||||
return
|
||||
|
||||
for i, row in enumerate(self.snapshots_rows):
|
||||
self.listbox.append(row)
|
||||
self.listbox.get_row_at_index(i).set_activatable(False)
|
||||
@@ -39,11 +43,11 @@ class SnapshotsListPage(Adw.NavigationPage):
|
||||
if type(package_or_folder) is str:
|
||||
self.set_title(package_or_folder)
|
||||
folder = package_or_folder
|
||||
self.new_button.set_visible(False)
|
||||
self.new_button.set_sensitive(False)
|
||||
else:
|
||||
folder = package_or_folder.info["id"]
|
||||
self.set_title(_("{} Snapshots").format(package_or_folder.info["name"]))
|
||||
self.new_button.set_visible(os.path.exists(package_or_folder.data_path))
|
||||
self.new_button.set_sensitive(os.path.exists(package_or_folder.data_path))
|
||||
|
||||
self.current_folder = folder
|
||||
self.snapshots_rows.clear()
|
||||
@@ -75,6 +79,9 @@ class SnapshotsListPage(Adw.NavigationPage):
|
||||
row1 = row1.get_child()
|
||||
row2 = row2.get_child()
|
||||
return row1.epoch > row2.epoch
|
||||
|
||||
def on_trash(self):
|
||||
self.set_snapshots(self.package_or_folder, refresh=True)
|
||||
|
||||
def __init__(self, parent_page, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
Reference in New Issue
Block a user