diff --git a/main.py b/main.py index 8ac04026..81071fc4 100644 --- a/main.py +++ b/main.py @@ -540,6 +540,11 @@ if config.ENABLE_LOGGER is True: # set UI and callback view.register( + window_action_registers={ + "callback_open_config_window": callbackOpenConfigWindow, + "callback_close_config_window": callbackCloseConfigWindow, + }, + sidebar_features_registers={ "callback_toggle_translation": callbackToggleTranslation, "callback_toggle_transcription_send": callbackToggleTranscriptionSend, diff --git a/view.py b/view.py index 2015937c..ea7d1e71 100644 --- a/view.py +++ b/view.py @@ -43,6 +43,11 @@ class View(): ) self.view_variable = SimpleNamespace( + # Open Config Window + CALLBACK_OPEN_CONFIG_WINDOW=None, + CALLBACK_CLOSE_CONFIG_WINDOW=None, + + # Main Window # Sidebar # Sidebar Compact Mode @@ -255,12 +260,21 @@ class View(): def register( self, + window_action_registers=None, sidebar_features_registers=None, language_presets_registers=None, entry_message_box_registers=None, config_window_registers=None ): + + # Open Config Window + if window_action_registers is not None: + self.view_variable.CALLBACK_OPEN_CONFIG_WINDOW=window_action_registers.get("callback_open_config_window", None) + self.view_variable.CALLBACK_CLOSE_CONFIG_WINDOW=window_action_registers.get("callback_close_config_window", None) + + + self.view_variable.CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = self._toggleMainWindowSidebarCompactMode if sidebar_features_registers is not None: diff --git a/vrct_gui/vrct_gui.py b/vrct_gui/vrct_gui.py index 25c67b57..8ac42492 100644 --- a/vrct_gui/vrct_gui.py +++ b/vrct_gui/vrct_gui.py @@ -1,5 +1,3 @@ -from types import SimpleNamespace - from customtkinter import CTk, CTkImage # from window_help_and_info import ToplevelWindowInformation @@ -16,6 +14,7 @@ from .ui_utils import _setDefaultActiveTab from .main_window.widgets import createMinimizeSidebarButton +from utils import callFunctionIfCallable class VRCT_GUI(CTk): def __init__(self): @@ -54,12 +53,14 @@ class VRCT_GUI(CTk): def openConfigWindow(self, e): + callFunctionIfCallable(self._view_variable.CALLBACK_OPEN_CONFIG_WINDOW) self.config_window.deiconify() self.config_window.focus_set() self.config_window.focus() self.config_window.grab_set() def closeConfigWindow(self): + callFunctionIfCallable(self._view_variable.CALLBACK_CLOSE_CONFIG_WINDOW) self.config_window.withdraw() self.config_window.grab_release()