From 95f753f1fb17dc1df053a8bfa6f580509e2437ef Mon Sep 17 00:00:00 2001 From: JOhn Date: Sat, 4 Jul 2026 20:39:34 -0400 Subject: [PATCH] update: preloading fixes to fast reg and edit pages --- gui/v2/infrastructure/page_registry.py | 2 ++ gui/v2/ui/pages/editor_page.py | 21 ++++++++++++++++++--- gui/v2/ui/pages/fast_registration_page.py | 4 ++-- gui/v2/ui/popups/Database_version.py | 0 gui/v2/ui/popups/pick_folder_to_move.py | 0 gui/v2/ui/styles/css/main_ui_css.py | 0 6 files changed, 22 insertions(+), 5 deletions(-) mode change 100644 => 100755 gui/v2/ui/popups/Database_version.py mode change 100644 => 100755 gui/v2/ui/popups/pick_folder_to_move.py mode change 100644 => 100755 gui/v2/ui/styles/css/main_ui_css.py diff --git a/gui/v2/infrastructure/page_registry.py b/gui/v2/infrastructure/page_registry.py index c74f069..9d761b2 100755 --- a/gui/v2/infrastructure/page_registry.py +++ b/gui/v2/infrastructure/page_registry.py @@ -40,6 +40,8 @@ PRELOAD_SKIP = { ASYNC_PREPARE = { "settings", + "fast_registration", + "editor", } REGULAR_FLOW_ONLY = { diff --git a/gui/v2/ui/pages/editor_page.py b/gui/v2/ui/pages/editor_page.py index aafcb6b..89d7974 100755 --- a/gui/v2/ui/pages/editor_page.py +++ b/gui/v2/ui/pages/editor_page.py @@ -20,7 +20,7 @@ from gui.v2.workers.page_data_worker import PageDataWorker class EditorPage(Page): - def __init__(self, page_stack, main_window): + def __init__(self, page_stack, main_window, prepared=None): super().__init__("Editor", page_stack, main_window) self.page_stack = page_stack self.update_status = main_window @@ -81,7 +81,7 @@ class EditorPage(Page): self.brow_disp.hide() self.brow_disp.lower() - self._prefetched_profiles = None + self._prefetched_profiles = prepared self._editor_workers = set() @staticmethod @@ -125,6 +125,9 @@ class EditorPage(Page): def showEvent(self, event): super().showEvent(event) self.res_hint_shown = False + if self._selected_profile_in_cache(): + self.extraccion() + return worker = PageDataWorker("editor", EditorPage.prepare_data, self.custom_window) worker.data_ready.connect( lambda name, profiles: self._on_editor_data_ready(profiles)) @@ -147,6 +150,18 @@ class EditorPage(Page): self._editor_workers.discard(worker) worker.deleteLater() + def _selected_profile_in_cache(self): + if not self._prefetched_profiles: + return False + selected = self._selected_profiles_str() + if not selected: + return False + try: + profile_id = int(selected.split('_')[1]) + except (IndexError, ValueError): + return False + return profile_id in self._prefetched_profiles + def extraccion(self): self.data_profile = {} for label in self.labels: @@ -161,7 +176,6 @@ class EditorPage(Page): if menu_page: if self._prefetched_profiles is not None: new_profiles = self._prefetched_profiles - self._prefetched_profiles = None else: new_profiles = ProfileController.get_all() self.profiles_data = menu_page.match_core_profiles( @@ -778,6 +792,7 @@ class EditorPage(Page): self.temp_changes.pop(selected_profiles_str, None) self.original_values.pop(selected_profiles_str, None) + self._prefetched_profiles = None def update_core_profiles(self, key, new_value): profile = ProfileController.get( diff --git a/gui/v2/ui/pages/fast_registration_page.py b/gui/v2/ui/pages/fast_registration_page.py index 3199b47..4a2a2c4 100755 --- a/gui/v2/ui/pages/fast_registration_page.py +++ b/gui/v2/ui/pages/fast_registration_page.py @@ -20,7 +20,7 @@ from gui.v2.workers.worker_thread import WorkerThread class FastRegistrationPage(Page): - def __init__(self, page_stack, main_window): + def __init__(self, page_stack, main_window, prepared=None): super().__init__("FastRegistration", page_stack, main_window) self.page_stack = page_stack self.update_status = main_window @@ -74,7 +74,7 @@ class FastRegistrationPage(Page): 'resolution': '1024x760' } self.res_index = 1 - self._prefetched_profiles = None + self._prefetched_profiles = prepared self._fast_reg_workers = set() self.initialize_default_selections() diff --git a/gui/v2/ui/popups/Database_version.py b/gui/v2/ui/popups/Database_version.py old mode 100644 new mode 100755 diff --git a/gui/v2/ui/popups/pick_folder_to_move.py b/gui/v2/ui/popups/pick_folder_to_move.py old mode 100644 new mode 100755 diff --git a/gui/v2/ui/styles/css/main_ui_css.py b/gui/v2/ui/styles/css/main_ui_css.py old mode 100644 new mode 100755