[fix] Config Window: Compact Mode. 今までDestroy()してWidgetsが再生成されていたのを、grid_removeを使う方法に変更、これによりコンパクトモード切り替えがスムーズになりました。
This commit is contained in:
4
main.py
4
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):
|
||||
|
||||
20
view.py
20
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)
|
||||
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user