update: preloading fixes to fast reg and edit pages

This commit is contained in:
JOhn 2026-07-04 20:39:34 -04:00
parent 2f0ffe0351
commit 95f753f1fb
6 changed files with 22 additions and 5 deletions

View file

@ -40,6 +40,8 @@ PRELOAD_SKIP = {
ASYNC_PREPARE = {
"settings",
"fast_registration",
"editor",
}
REGULAR_FLOW_ONLY = {

View file

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

View file

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

0
gui/v2/ui/popups/Database_version.py Normal file → Executable file
View file

0
gui/v2/ui/popups/pick_folder_to_move.py Normal file → Executable file
View file

0
gui/v2/ui/styles/css/main_ui_css.py Normal file → Executable file
View file