explicitly create translated pages
This commit is contained in:
@@ -34,6 +34,9 @@ class GlobalState:
|
||||
def advance_without_return(self, page):
|
||||
self._uninitialized()
|
||||
|
||||
def load_translated_pages(self):
|
||||
self._uninitialized()
|
||||
|
||||
def reload_title_image(self):
|
||||
self._uninitialized()
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@ class LanguagePage(Gtk.Stack, Page):
|
||||
global_state.get_config('language_code') != row.info.language_code):
|
||||
self.language_chosen = True
|
||||
set_system_language(row.info)
|
||||
global_state.load_translated_pages()
|
||||
global_state.advance(self)
|
||||
|
||||
### public methods ###
|
||||
|
||||
@@ -65,6 +65,7 @@ class OsInstallerWindow(Adw.ApplicationWindow):
|
||||
# set advancing functions in global state
|
||||
global_state.advance = self.advance
|
||||
global_state.advance_without_return = self.advance_without_return
|
||||
global_state.load_translated_pages = self.load_translated_pages
|
||||
global_state.reload_title_image = self._reload_title_image
|
||||
global_state.installation_failed = self.show_failed_page
|
||||
|
||||
@@ -120,25 +121,12 @@ class OsInstallerWindow(Adw.ApplicationWindow):
|
||||
self.main_stack.add_named(page, page_name)
|
||||
self.pages.append(page_name)
|
||||
|
||||
def _initialize_pages_translated(self):
|
||||
# delete pages that are not the language page
|
||||
self._remove_pages(self.pages[1:])
|
||||
self.pages = ['language']
|
||||
|
||||
for page_name in self.available_pages.keys():
|
||||
if page_name != 'language':
|
||||
self._initialize_page(page_name)
|
||||
|
||||
def _remove_pages(self, page_names):
|
||||
for page_name in page_names:
|
||||
child = self.main_stack.get_child_by_name(page_name)
|
||||
self.main_stack.remove(child)
|
||||
|
||||
def _load_page(self, page_number):
|
||||
# special case language page
|
||||
if type(self.current_page) == LanguagePage:
|
||||
self._initialize_pages_translated()
|
||||
|
||||
assert page_number >= 0, 'Tried to go to non-existent page (underflow)'
|
||||
assert page_number < len(self.pages), 'Tried to go to non-existent page (overflow)'
|
||||
|
||||
@@ -209,6 +197,16 @@ class OsInstallerWindow(Adw.ApplicationWindow):
|
||||
for page in previous_pages:
|
||||
del page
|
||||
|
||||
def load_translated_pages(self):
|
||||
with self.navigation_lock:
|
||||
# delete pages that are not the language page
|
||||
self._remove_pages(self.pages[1:])
|
||||
self.pages = ['language']
|
||||
|
||||
for page_name in self.available_pages.keys():
|
||||
if page_name != 'language':
|
||||
self._initialize_page(page_name)
|
||||
|
||||
def navigate_backward(self):
|
||||
with self.navigation_lock:
|
||||
if self.current_page.can_navigate_backward:
|
||||
|
||||
Reference in New Issue
Block a user