From 2270cff00616e6ccb16dd626a6d502bd148cfbc5 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Wed, 27 Sep 2023 21:44:36 +0900 Subject: [PATCH] =?UTF-8?q?[fix]=20Config=20Window:=20Compact=20Mode.=20?= =?UTF-8?q?=E4=BB=8A=E3=81=BE=E3=81=A7Destroy()=E3=81=97=E3=81=A6Widgets?= =?UTF-8?q?=E3=81=8C=E5=86=8D=E7=94=9F=E6=88=90=E3=81=95=E3=82=8C=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=81=9F=E3=81=AE=E3=82=92=E3=80=81grid=5Fremove?= =?UTF-8?q?=E3=82=92=E4=BD=BF=E3=81=86=E6=96=B9=E6=B3=95=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4=E3=80=81=E3=81=93=E3=82=8C=E3=81=AB=E3=82=88=E3=82=8A?= =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=91=E3=82=AF=E3=83=88=E3=83=A2=E3=83=BC?= =?UTF-8?q?=E3=83=89=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E3=81=8C=E3=82=B9?= =?UTF-8?q?=E3=83=A0=E3=83=BC=E3=82=BA=E3=81=AB=E3=81=AA=E3=82=8A=E3=81=BE?= =?UTF-8?q?=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 4 ++-- view.py | 20 +++++++++++++------ vrct_gui/config_window/ConfigWindow.py | 10 +++------- .../_createSettingBoxCompactModeButton.py | 5 +---- .../_SettingBoxGenerator.py | 9 ++++----- 5 files changed, 24 insertions(+), 24 deletions(-) diff --git a/main.py b/main.py index f09db07d..311827b0 100644 --- a/main.py +++ b/main.py @@ -314,7 +314,7 @@ def callbackEnableConfigWindowCompactMode(): model.stopCheckSpeakerEnergy() view.replaceSpeakerThresholdCheckButton_Passive() - view.reloadConfigWindowSettingBoxContainer() + view.enableConfigWindowCompactMode() def callbackDisableConfigWindowCompactMode(): config.IS_CONFIG_WINDOW_COMPACT_MODE = False @@ -323,7 +323,7 @@ def callbackDisableConfigWindowCompactMode(): model.stopCheckSpeakerEnergy() view.replaceSpeakerThresholdCheckButton_Passive() - view.reloadConfigWindowSettingBoxContainer() + view.disableConfigWindowCompactMode() # Appearance Tab def callbackSetTransparency(value): diff --git a/view.py b/view.py index 96c45696..e1f924ad 100644 --- a/view.py +++ b/view.py @@ -121,7 +121,6 @@ class View(): # Config Window ACTIVE_SETTING_BOX_TAB_ATTR_NAME="side_menu_tab_appearance", CALLBACK_SELECTED_SETTING_BOX_TAB=None, - IS_CONFIG_WINDOW_COMPACT_MODE=config.IS_CONFIG_WINDOW_COMPACT_MODE, # Side Menu Labels VAR_SIDE_MENU_LABEL_APPEARANCE=StringVar(value=i18n.t("config_window.side_menu_labels.appearance")), @@ -412,6 +411,11 @@ class View(): self.view_variable.CALLBACK_SET_OSC_IP_ADDRESS = config_window_registers.get("callback_set_osc_ip_address", None) self.view_variable.CALLBACK_SET_OSC_PORT = config_window_registers.get("callback_set_osc_port", None) + # The initial processing after registration. + if config.IS_CONFIG_WINDOW_COMPACT_MODE is True: + self.enableConfigWindowCompactMode() + vrct_gui.config_window.setting_box_compact_mode_switch_box.select() + # Insert sample conversation for testing. # self._insertSampleConversationToTextbox() @@ -593,6 +597,15 @@ class View(): vrct_gui.wm_attributes("-alpha", transparency) + def enableConfigWindowCompactMode(self): + for additional_widget in vrct_gui.config_window.additional_widgets: + additional_widget.grid_remove() + + def disableConfigWindowCompactMode(self): + for additional_widget in vrct_gui.config_window.additional_widgets: + additional_widget.grid() + + def createGUI(self): vrct_gui.createGUI(settings=self.settings, view_variable=self.view_variable) @@ -658,11 +671,6 @@ class View(): - def reloadConfigWindowSettingBoxContainer(self): - self.view_variable.IS_CONFIG_WINDOW_COMPACT_MODE = config.IS_CONFIG_WINDOW_COMPACT_MODE - vrct_gui.config_window.reloadConfigWindowSettingBoxContainer() - - def updateList_MicHost(self, new_mic_host_list:list): self.view_variable.LIST_MIC_HOST = new_mic_host_list vrct_gui.config_window.sb__optionmenu_mic_host.configure(values=new_mic_host_list) diff --git a/vrct_gui/config_window/ConfigWindow.py b/vrct_gui/config_window/ConfigWindow.py index 8e0a3155..26d94b46 100644 --- a/vrct_gui/config_window/ConfigWindow.py +++ b/vrct_gui/config_window/ConfigWindow.py @@ -23,16 +23,12 @@ class ConfigWindow(CTkToplevel): self.settings = settings self._view_variable = view_variable + # When the configuration window's compact mode is turned on, it will call `grid_remove()` on each widget appended to this array. In the opposite case, `grid()` will be called. + self.additional_widgets = [] + createConfigWindowTitle(config_window=self, settings=self.settings) createSettingBoxTopBar(config_window=self, settings=self.settings, view_variable=self._view_variable) - createSideMenuAndSettingsBoxContainers(config_window=self, settings=self.settings, view_variable=self._view_variable) - - - - - def reloadConfigWindowSettingBoxContainer(self): - self.main_bg_container.destroy() createSideMenuAndSettingsBoxContainers(config_window=self, settings=self.settings, view_variable=self._view_variable) \ No newline at end of file diff --git a/vrct_gui/config_window/widgets/createSettingBoxTopBar/_createSettingBoxCompactModeButton.py b/vrct_gui/config_window/widgets/createSettingBoxTopBar/_createSettingBoxCompactModeButton.py index c9fbfd06..79ae86da 100644 --- a/vrct_gui/config_window/widgets/createSettingBoxTopBar/_createSettingBoxCompactModeButton.py +++ b/vrct_gui/config_window/widgets/createSettingBoxTopBar/_createSettingBoxCompactModeButton.py @@ -60,7 +60,4 @@ def _createSettingBoxCompactModeButton(parent_widget, config_window, settings, v progress_color=settings.ctm.SB__SWITCH_BOX_ACTIVE_BG_COLOR, # SB__SWITCH_BOX_ACTIVE_BG_COLOR is for SB. change it later. ) - config_window.setting_box_compact_mode_switch_box.select() if view_variable.IS_CONFIG_WINDOW_COMPACT_MODE else config_window.setting_box_compact_mode_switch_box.deselect() - - config_window.setting_box_compact_mode_switch_box.grid(row=0, column=0) - + config_window.setting_box_compact_mode_switch_box.grid(row=0, column=0) \ No newline at end of file diff --git a/vrct_gui/config_window/widgets/createSideMenuAndSettingsBoxContainers/setting_box_containers/_SettingBoxGenerator.py b/vrct_gui/config_window/widgets/createSideMenuAndSettingsBoxContainers/setting_box_containers/_SettingBoxGenerator.py index 07da4153..500b6c6d 100644 --- a/vrct_gui/config_window/widgets/createSideMenuAndSettingsBoxContainers/setting_box_containers/_SettingBoxGenerator.py +++ b/vrct_gui/config_window/widgets/createSideMenuAndSettingsBoxContainers/setting_box_containers/_SettingBoxGenerator.py @@ -53,10 +53,8 @@ class _SettingBoxGenerator(): ) setting_box_label.grid(row=0, column=0, padx=0, pady=0, sticky="ew") - if for_var_desc_text == None or self.view_variable.IS_CONFIG_WINDOW_COMPACT_MODE is True: - pass - else: - self.setting_box_desc = CTkLabel( + if for_var_desc_text is not None: + setting_box_desc = CTkLabel( setting_box_labels_frame, textvariable=for_var_desc_text, anchor="w", @@ -66,7 +64,8 @@ class _SettingBoxGenerator(): font=CTkFont(family=self.settings.FONT_FAMILY, size=self.settings.uism.SB__DESC_FONT_SIZE, weight="normal"), text_color=self.settings.ctm.LABELS_DESC_TEXT_COLOR ) - self.setting_box_desc.grid(row=1, column=0, padx=0, pady=(self.settings.uism.SB__DESC_TOP_PADY,0), sticky="ew") + setting_box_desc.grid(row=1, column=0, padx=0, pady=(self.settings.uism.SB__DESC_TOP_PADY,0), sticky="ew") + self.config_window.additional_widgets.append(setting_box_desc) def createSettingBoxDropdownMenu(self, for_var_label_text, for_var_desc_text, optionmenu_attr_name, command, variable=None, dropdown_menu_values=None):