window: special case one-way pages

This commit is contained in:
Peter Eisenmann
2024-06-09 21:55:44 +02:00
parent c00b7c1785
commit befeaa52c8
3 changed files with 7 additions and 6 deletions

View File

@@ -14,7 +14,7 @@ class Page:
Called before the page is shown.
Pages can overwrite this to receive a call every time.
Specialld handled return values are:
"load_prev", "pass", "prevent_back_navigation".
"load_prev", "pass".
'''
pass

View File

@@ -86,5 +86,3 @@ class SummaryPage(Gtk.Box, Page):
reset_model(self.feature_model, features)
else:
self.feature_stack.set_visible_child_name('none')
return "prevent_back_navigation"

View File

@@ -55,6 +55,9 @@ page_name_to_type = {
}
non_returnable_pages = ['done', 'failed', 'summary']
forward = 1
backwards = -1
@@ -203,8 +206,9 @@ class OsInstallerWindow(Adw.ApplicationWindow):
case "pass":
self._load_next_page(offset + (1 if offset > 0 else -1))
return
case "prevent_back_navigation":
self._remove_all_but_one_page(page_name)
if page_name in non_returnable_pages:
self._remove_all_but_one_page(page_name)
self.main_stack.set_visible_child(page_to_load)
self._reload_title_image()
@@ -278,7 +282,6 @@ class OsInstallerWindow(Adw.ApplicationWindow):
self._load_next_page(backwards)
case "load_next":
self._load_next_page()
# ignore case "prevent_back_navigation"
def _show_about_page(self, _, __):
with self.navigation_lock: