diff --git a/gui/__main__.py b/gui/__main__.py index adfd618..4a547e1 100755 --- a/gui/__main__.py +++ b/gui/__main__.py @@ -107,8 +107,6 @@ def emergency_sync(): # BEGIN PROGRAM # ============================================================================ - - # ============================================================================ # ASSETS FOLDER # ============================================================================ diff --git a/gui/main_ui.py b/gui/main_ui.py index 30a4a0f..72dca63 100755 --- a/gui/main_ui.py +++ b/gui/main_ui.py @@ -17,6 +17,7 @@ from PyQt6 import QtGui from PyQt6.QtCore import Qt, QTimer, QEvent from core.Constants import Constants +from core.infrastructure.global_state_coordinator import evaluate_state_on_startup from core.infrastructure.service_registry import ServiceLocator from core.controllers.ConfigurationController import ConfigurationController from core.controllers.ProfileController import ProfileController @@ -909,6 +910,10 @@ class CustomWindow(QMainWindow): def start_ui(force_sync): + worked = evaluate_state_on_startup() + if worked.valid: + core_logger.info("State evaluated.") + app = QApplication(sys.argv) calculate_max_screensize(app) window = CustomWindow(force_sync=force_sync) diff --git a/gui/v2/actions/profile_status.py b/gui/v2/actions/profile_status.py index 59b3a60..1825c54 100755 --- a/gui/v2/actions/profile_status.py +++ b/gui/v2/actions/profile_status.py @@ -1,3 +1,4 @@ +from core.infrastructure.global_state import ProfileStateRepository from core.controllers.ProfileController import ProfileController from core.controllers.SystemStateController import SystemStateController from core.models.system.SystemProfile import SystemProfile @@ -21,7 +22,16 @@ def _system_state_profile_id(): return None -def is_profile_enabled_for_gui(profile): - if isinstance(profile, SystemProfile) and _connection_code(profile) in SINGBOX_PROTOCOLS: - return _system_state_profile_id() == int(profile.id) - return ProfileController.is_enabled(profile) + + +def is_profile_enabled_for_gui(profile) -> bool: + """Checks Profile State Against in-memory Repo""" + is_enabled = ProfileStateRepository().is_profile_active(profile.id) + print(f"profile id: {profile.id} | Enabled: {is_enabled}") + return is_enabled + + + +# if isinstance(profile, SystemProfile) and _connection_code(profile) in SINGBOX_PROTOCOLS: +# return _system_state_profile_id() == int(profile.id) +# return ProfileController.is_enabled(profile)