From 9f9cd1e64c7da8ae3a3fa2742168eda9e9111eed Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Sat, 9 Sep 2023 11:35:24 +0900 Subject: [PATCH] =?UTF-8?q?[Add]=20Main=20Window:=20Language=20Settings.?= =?UTF-8?q?=20=E8=A8=80=E8=AA=9E=E9=81=B8=E6=8A=9E=E3=83=9C=E3=82=BF?= =?UTF-8?q?=E3=83=B3=E3=82=92=E6=8A=BC=E3=81=97=E3=81=A6=E8=A8=80=E8=AA=9E?= =?UTF-8?q?=E9=81=B8=E6=8A=9E=E3=82=A6=E3=82=A3=E3=83=B3=E3=83=89=E3=82=A6?= =?UTF-8?q?=E9=96=8B=E9=96=89=E6=99=82=E3=81=AB=E3=80=81=E7=9F=A2=E5=8D=B0?= =?UTF-8?q?=E3=81=AE=E5=90=91=E3=81=8D=E3=81=8C=E5=8F=8D=E8=BB=A2=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=80=82=20[Bugfix]=20?= =?UTF-8?q?=E6=A0=B9=E6=9C=AC=E7=9A=84=E3=81=AA=E8=A7=A3=E6=B1=BA=E3=81=A7?= =?UTF-8?q?=E3=81=AF=E3=81=AA=E3=81=84=E3=81=91=E3=82=8C=E3=81=A9=E3=80=81?= =?UTF-8?q?=E8=A8=80=E8=AA=9E=E9=81=B8=E6=8A=9E=E3=82=A6=E3=82=A3=E3=83=B3?= =?UTF-8?q?=E3=83=89=E3=82=A6=E3=81=AE=E9=96=8B=E3=81=8F=E4=BD=8D=E7=BD=AE?= =?UTF-8?q?=E3=81=8C=E5=9B=BA=E5=AE=9A=E3=81=95=E3=82=8C=E3=81=A6=E3=81=97?= =?UTF-8?q?=E3=81=BE=E3=81=86=E3=81=AE=E3=81=A7=E3=81=9D=E3=81=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=EF=BC=88=E3=82=B5=E3=82=A4=E3=83=89=E3=83=90=E3=83=BC?= =?UTF-8?q?=E3=81=AE=E5=B9=85=E3=81=AF=E5=8F=AF=E5=A4=89=E3=81=AA=E3=81=AE?= =?UTF-8?q?=E3=81=A7=E3=80=81=E3=81=9D=E3=82=8C=E3=81=AB=E5=90=88=E3=82=8F?= =?UTF-8?q?=E3=81=9B=E3=81=A6=E3=82=A6=E3=82=A3=E3=83=B3=E3=83=89=E3=82=A6?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=99=82=E3=81=AB=E6=AF=8E=E5=9B=9E=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E3=82=92=E6=8C=87=E5=AE=9A=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vrct_gui/_CreateSelectableLanguagesWindow.py | 23 ++++++----- .../createSidebarLanguagesSettings.py | 40 +++++++++++++------ vrct_gui/vrct_gui.py | 10 ++++- 3 files changed, 49 insertions(+), 24 deletions(-) diff --git a/vrct_gui/_CreateSelectableLanguagesWindow.py b/vrct_gui/_CreateSelectableLanguagesWindow.py index 69776125..b2701249 100644 --- a/vrct_gui/_CreateSelectableLanguagesWindow.py +++ b/vrct_gui/_CreateSelectableLanguagesWindow.py @@ -25,7 +25,7 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): self.settings = settings self._view_variable = view_variable - self.bind("", lambda e: self.withdraw()) + self.bind("", lambda e: vrct_gui.closeSelectableLanguagesWindow()) @@ -36,6 +36,16 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): def createContainer(self, selectable_language_window_type): self.selectable_language_window_type = selectable_language_window_type + + self.x_pos = self.attach.winfo_rootx() + self.y_pos = self.attach.winfo_rooty() + self.width_new = self.attach.winfo_width() + self.height_new = self.attach.winfo_height() + + + self.geometry('+{}+{}'.format(self.x_pos, self.y_pos)) + + if self.is_created is True: pass else: @@ -52,20 +62,13 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): callFunctionIfCallable(callback, value) target_variable.set(value) - self.withdraw() + self.vrct_gui.closeSelectableLanguagesWindow() def _createContainer(self): - self.x_pos = self.attach.winfo_rootx() - self.y_pos = self.attach.winfo_rooty() - self.width_new = self.attach.winfo_width() - self.height_new = self.attach.winfo_height() - - - self.geometry('+{}+{}'.format(self.x_pos, self.y_pos)) # self.geometry('{}x{}+{}+{}'.format(self.width_new, self.height_new, self.x_pos, self.y_pos)) # self.geometry('{}x{}+{}+{}'.format(self.width_new, self.height_new, self.x_pos, self.y_pos)) @@ -94,7 +97,7 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): ) self.go_back_button_label.grid(row=1, column=0, padx=10, pady=10) - bindButtonReleaseFunction([self.go_back_button_label_wrapper, self.go_back_button_label], lambda _e: self.withdraw()) + bindButtonReleaseFunction([self.go_back_button_label_wrapper, self.go_back_button_label], lambda _e: self.vrct_gui.closeSelectableLanguagesWindow()) diff --git a/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py b/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py index 4caaabd2..c7099530 100644 --- a/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py +++ b/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py @@ -73,13 +73,14 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): - def createLanguageSettingBox(parent_widget, var_title_text, title_text_attr_name, optionmenu_attr_name, dropdown_menu_values, open_selectable_language_window_command, variable): + def createLanguageSettingBox(parent_widget, var_title_text, title_text_attr_name, arrow_img_attr_name, dropdown_menu_values, open_selectable_language_window_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) sls__box_wrapper = CTkFrame(sls__box, corner_radius=0, fg_color=settings.ctm.SLS__BOX_BG_COLOR, width=0, height=0) - sls__box_wrapper.grid(row=2, column=1, padx=0, pady=settings.uism.SLS__BOX_IPADY) + sls__box_wrapper.grid(row=2, column=1, padx=10, pady=settings.uism.SLS__BOX_IPADY) + sls__label = CTkLabel( sls__box_wrapper, @@ -95,7 +96,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): - sls__selected_language_box = CTkFrame(sls__box_wrapper, corner_radius=0, fg_color=settings.ctm.SLS__DROPDOWN_MENU_BG_COLOR, width=200, height=30) + sls__selected_language_box = CTkFrame(sls__box_wrapper, corner_radius=0, fg_color=settings.ctm.SLS__DROPDOWN_MENU_BG_COLOR) sls__selected_language_box.grid(row=1, column=0) @@ -110,11 +111,24 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): height=0, # anchor="center", font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.SLS__BOX_DROPDOWN_MENU_FONT_SIZE, weight="normal"), - text_color=settings.ctm.SLS__BOX_SECTION_TITLE_TEXT_COLOR + text_color=settings.ctm.LABELS_TEXT_COLOR ) sls__selected_language_label.grid(row=0, column=0, pady=2) setattr(main_window, title_text_attr_name, sls__selected_language_label) - open_selectable_language_window_command + + + sls__selected_language_arrow_img = CTkLabel( + sls__selected_language_box, + text=None, + corner_radius=0, + height=0, + image=CTkImage((settings.image_file.ARROW_LEFT).rotate(180),size=(20,20)) + ) + setattr(main_window, arrow_img_attr_name, sls__selected_language_arrow_img) + + + + sls__selected_language_arrow_img.grid(row=0, column=1, padx=0, pady=0) @@ -124,7 +138,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): - bindButtonReleaseFunction([sls__selected_language_box, sls__selected_language_label], open_selectable_language_window_command) + bindButtonReleaseFunction([sls__selected_language_box, sls__selected_language_label, sls__selected_language_arrow_img], open_selectable_language_window_command) return sls__box @@ -236,17 +250,17 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): parent_widget=main_window.sls__box_frame, 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", + arrow_img_attr_name="sls__arrow_img_your_language", dropdown_menu_values=view_variable.LIST_SELECTABLE_LANGUAGES, open_selectable_language_window_command=callbackOpenSelectableYourLanguageWindow, 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") + main_window.sls__box_your_language.grid(row=2, column=0, pady=(settings.uism.SLS__BOX_TOP_PADY,0),sticky="ew") # Both direction arrow icon main_window.sls__arrow_direction_box = CTkFrame(main_window.sls__box_frame, corner_radius=0, fg_color=settings.ctm.SLS__BG_COLOR, width=0, height=0) - main_window.sls__arrow_direction_box.grid(row=3, column=0, padx=0, pady=settings.uism.SLS__BOX_ARROWS_PADY,sticky="ew") + main_window.sls__arrow_direction_box.grid(row=3, column=0, pady=settings.uism.SLS__BOX_ARROWS_PADY,sticky="ew") main_window.sls__arrow_direction_box.grid_columnconfigure((0,4), weight=1) @@ -266,7 +280,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.SLS__BOX_ARROWS_DESC_FONT_SIZE, weight="normal"), text_color=settings.ctm.SLS__BOX_ARROWS_TEXT_COLOR, ) - main_window.sls__both_direction_desc.grid(row=0, column=2, padx=settings.uism.SLS__BOX_ARROWS_DESC_PADX, pady=0) + main_window.sls__both_direction_desc.grid(row=0, column=2, padx=settings.uism.SLS__BOX_ARROWS_DESC_PADX) main_window.sls__both_direction_label_down = CTkLabel( main_window.sls__arrow_direction_box, @@ -275,7 +289,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): image=CTkImage((settings.image_file.NARROW_ARROW_DOWN).rotate(0),size=settings.uism.SLS__BOX_ARROWS_IMAGE_SIZE) ) - main_window.sls__both_direction_label_down.grid(row=0, column=3, pady=0) + main_window.sls__both_direction_label_down.grid(row=0, column=3) @@ -284,9 +298,9 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): parent_widget=main_window.sls__box_frame, 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", + arrow_img_attr_name="sls__arrow_img_target_language", dropdown_menu_values=view_variable.LIST_SELECTABLE_LANGUAGES, open_selectable_language_window_command=callbackOpenSelectableTargetLanguageWindow, variable=view_variable.VAR_TARGET_LANGUAGE ) - main_window.sls__box_target_language.grid(row=4, column=0, padx=0, pady=(0,0),sticky="ew") \ No newline at end of file + main_window.sls__box_target_language.grid(row=4, column=0, sticky="ew") \ No newline at end of file diff --git a/vrct_gui/vrct_gui.py b/vrct_gui/vrct_gui.py index f472a1e3..c4720fb6 100644 --- a/vrct_gui/vrct_gui.py +++ b/vrct_gui/vrct_gui.py @@ -1,6 +1,6 @@ from types import SimpleNamespace -from customtkinter import CTk +from customtkinter import CTk, CTkImage # from window_help_and_info import ToplevelWindowInformation @@ -65,6 +65,12 @@ class VRCT_GUI(CTk): def openSelectableLanguagesWindow(self, selectable_language_window_type): + if selectable_language_window_type == "your_language": + self.sls__arrow_img_your_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT),size=(20,20))) + elif selectable_language_window_type == "target_language": + self.sls__arrow_img_target_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT),size=(20,20))) + + self.sls__arrow_img_target_language self.selectable_languages_window.createContainer(selectable_language_window_type) self.selectable_languages_window.deiconify() self.selectable_languages_window.focus_set() @@ -72,6 +78,8 @@ class VRCT_GUI(CTk): def closeSelectableLanguagesWindow(self): + self.sls__arrow_img_your_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT).rotate(180),size=(20,20))) + self.sls__arrow_img_target_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT).rotate(180),size=(20,20))) self.selectable_languages_window.withdraw()