From ca3333d717314b7c8c39a86fdc5b4be1a1ba4766 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 5 Sep 2023 23:42:23 +0900 Subject: [PATCH] =?UTF-8?q?[Add]=20Main=20Window:=20view.py=E3=81=B8?= =?UTF-8?q?=E3=81=AE=E5=A4=89=E6=95=B0=E7=A7=BB=E5=8B=95=20Language=20Sett?= =?UTF-8?q?ings=E5=9B=9E=E3=82=8A=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- view.py | 20 +++++++++++------ .../createSidebarLanguagesSettings.py | 22 ++++++++++++++----- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/view.py b/view.py index 25bd3b15..883564f6 100644 --- a/view.py +++ b/view.py @@ -56,15 +56,18 @@ class View(): # Language Settings VAR_LABEL_LANGUAGE_SETTINGS=StringVar(value="Language Settings"), # JA: 言語設定 + LIST_SELECTABLE_LANGUAGES=[], CALLBACK_SELECTED_LANGUAGE_PRESET_TAB=None, VAR_LABEL_YOUR_LANGUAGE=StringVar(value="Your Language"), # JA: あなたの言語 VAR_YOUR_LANGUAGE = StringVar(value="Japanese\n(Japan)"), + CALLBACK_SELECTED_YOUR_LANGUAGE=None, VAR_LABEL_BOTH_DIRECTION_DESC=StringVar(value="Translate Each Other"), # JA: 双方向に翻訳 VAR_LABEL_TARGET_LANGUAGE=StringVar(value="Target Language"), # JA: 相手の言語 VAR_TARGET_LANGUAGE = StringVar(value="English\n(United States)"), + CALLBACK_SELECTED_TARGET_LANGUAGE=None, @@ -228,13 +231,10 @@ class View(): self.view_variable.CALLBACK_TOGGLE_TRANSCRIPTION_RECEIVE = sidebar_features["callback_toggle_transcription_receive"] self.view_variable.CALLBACK_TOGGLE_FOREGROUND = sidebar_features["callback_toggle_foreground"] - - vrct_gui.sls__optionmenu_your_language.configure(values=language_presets["values"]) - vrct_gui.sls__optionmenu_your_language.configure(command=language_presets["callback_your_language"]) - vrct_gui.sls__optionmenu_your_language.configure(variable=StringVar(value=config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO])) - vrct_gui.sls__optionmenu_target_language.configure(values=language_presets["values"]) - vrct_gui.sls__optionmenu_target_language.configure(command=language_presets["callback_target_language"]) - vrct_gui.sls__optionmenu_target_language.configure(variable=StringVar(value=config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO])) + self.view_variable.CALLBACK_SELECTED_YOUR_LANGUAGE = language_presets["callback_your_language"] + self.view_variable.CALLBACK_SELECTED_TARGET_LANGUAGE = language_presets["callback_target_language"] + self.updateList_selectableLanguages(language_presets["values"]) + self.updateGuiVariableByPresetTabNo(config.SELECTED_TAB_NO) self.view_variable.CALLBACK_SELECTED_LANGUAGE_PRESET_TAB = language_presets["callback_selected_language_preset_tab"] vrct_gui.setDefaultActiveLanguagePresetTab(tab_no=config.SELECTED_TAB_NO) @@ -338,6 +338,12 @@ class View(): self.view_variable.VAR_TARGET_LANGUAGE.set(config.SELECTED_TAB_TARGET_LANGUAGES[tab_no]) + def updateList_selectableLanguages(self, new_selectable_language_list:list): + self.view_variable.LIST_SELECTABLE_LANGUAGES = new_selectable_language_list + vrct_gui.sls__optionmenu_your_language.configure(values=new_selectable_language_list) + vrct_gui.sls__optionmenu_target_language.configure(values=new_selectable_language_list) + + def printToTextbox_enableTranslation(self): self._printToTextbox_Info("翻訳機能をONにしました") def printToTextbox_disableTranslation(self): diff --git a/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py b/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py index 15a2becb..7bf7be09 100644 --- a/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py +++ b/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py @@ -56,7 +56,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): - def createOption_DropdownMenu_for_languageSettings(setattr_obj, parent_widget, optionmenu_attr_name, dropdown_menu_values, width:int = 200, font_size:int = 10, text_color="white", command=None, variable=""): + def createOption_DropdownMenu_for_languageSettings(setattr_obj, parent_widget, optionmenu_attr_name, dropdown_menu_values, command, width:int = 200, font_size:int = 10, text_color="white", variable=""): setattr(setattr_obj, optionmenu_attr_name, CTkOptionMenu( parent_widget, height=30, @@ -68,6 +68,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): font=CTkFont(family=settings.FONT_FAMILY, size=font_size, weight="normal"), variable=variable, anchor="center", + command=command, )) target_optionmenu_attr = getattr(setattr_obj, optionmenu_attr_name) target_optionmenu_attr.grid(row=0, column=0, sticky="e") @@ -75,7 +76,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): - def createLanguageSettingBox(parent_widget, var_title_text, title_text_attr_name, optionmenu_attr_name, dropdown_menu_values, variable): + def createLanguageSettingBox(parent_widget, var_title_text, title_text_attr_name, optionmenu_attr_name, dropdown_menu_values, command, variable): sls__box = CTkFrame(parent_widget, corner_radius=0, fg_color=settings.ctm.SLS__BOX_BG_COLOR, width=0, height=0) sls__box.columnconfigure((0,2), weight=1) @@ -101,7 +102,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): sls__box_wrapper, optionmenu_attr_name, dropdown_menu_values=dropdown_menu_values, - # command=self.fakeCommand, + command=command, width=settings.uism.SLS__BOX_DROPDOWN_MENU_WIDTH, font_size=settings.uism.SLS__BOX_DROPDOWN_MENU_FONT_SIZE, text_color=settings.ctm.LABELS_TEXT_COLOR, @@ -203,7 +204,14 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): column+=1 - # Quick Language settings BOX + def selectYourLanguageCommand(value): + callFunctionIfCallable(view_variable.CALLBACK_SELECTED_YOUR_LANGUAGE, value) + + + def selectTargetLanguageCommand(value): + callFunctionIfCallable(view_variable.CALLBACK_SELECTED_TARGET_LANGUAGE, value) + + # Language Settings BOX main_window.sls__box_frame = CTkFrame(main_window.sls__container, corner_radius=0, fg_color=settings.ctm.SLS__BG_COLOR, width=0, height=0) main_window.sls__box_frame.grid(row=2, column=0, sticky="ew") main_window.sls__box_frame.grid_columnconfigure(0, weight=1) @@ -214,7 +222,8 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): var_title_text=view_variable.VAR_LABEL_YOUR_LANGUAGE, title_text_attr_name="sls__title_text_your_language", optionmenu_attr_name="sls__optionmenu_your_language", - dropdown_menu_values=["1""2","pppp\npppp"], + dropdown_menu_values=view_variable.LIST_SELECTABLE_LANGUAGES, + command=selectYourLanguageCommand, variable=view_variable.VAR_YOUR_LANGUAGE ) main_window.sls__box_your_language.grid(row=2, column=0, padx=0, pady=(settings.uism.SLS__BOX_TOP_PADY,0),sticky="ew") @@ -261,7 +270,8 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): var_title_text=view_variable.VAR_LABEL_TARGET_LANGUAGE, title_text_attr_name="sls__title_text_target_language", optionmenu_attr_name="sls__optionmenu_target_language", - dropdown_menu_values=["1""2","pppp\npppp2"], + dropdown_menu_values=view_variable.LIST_SELECTABLE_LANGUAGES, + command=selectTargetLanguageCommand, variable=view_variable.VAR_TARGET_LANGUAGE ) main_window.sls__box_target_language.grid(row=4, column=0, padx=0, pady=(0,0),sticky="ew")