From 34cd261128329b82ae8e400a858cc0f9062d82d0 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Fri, 15 Sep 2023 11:40:36 +0900 Subject: [PATCH] =?UTF-8?q?[Add]=20Config=20Window=E9=96=8B=E9=96=89?= =?UTF-8?q?=E6=99=82=E3=81=AECALLBACK=E9=96=A2=E6=95=B0=E3=81=AE=E5=8F=97?= =?UTF-8?q?=E3=81=91=E5=8F=96=E3=82=8A=E3=80=81=E5=AE=9F=E8=A1=8C=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 5 +++++ view.py | 14 ++++++++++++++ vrct_gui/vrct_gui.py | 5 +++-- 3 files changed, 22 insertions(+), 2 deletions(-) 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()