From 6657903c57a4d5e63cace8acb7bab919f3856a03 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 06:15:05 +0900 Subject: [PATCH 01/12] =?UTF-8?q?[bugfix]=20Config=20Window:=20Dropdown=20?= =?UTF-8?q?Menu=20Window.=201px=E3=83=90=E3=82=B0=E4=BF=AE=E6=AD=A3=20?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=99=82=E3=81=ABroot=E3=81=AEgeometry?= =?UTF-8?q?=E3=82=92=E6=89=8B=E5=8B=95=E3=81=A7=E8=A8=88=E7=AE=97(px?= =?UTF-8?q?=E3=81=AF=E5=81=B6=E6=95=B0=E3=81=AB)=E3=81=97=E3=81=A6?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E3=80=82=E8=A1=A8=E7=A4=BA=E6=99=82=E3=81=AB?= =?UTF-8?q?=E3=81=9D=E3=81=AE=E5=80=A4=E3=82=92root=E3=81=AEgeometry?= =?UTF-8?q?=E3=81=AB=E3=82=BB=E3=83=83=E3=83=88=E3=81=99=E3=82=8B=E3=81=93?= =?UTF-8?q?=E3=81=A8=E3=81=AB=E3=82=88=E3=81=A3=E3=81=A6=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?(=E4=BB=8A=E3=81=AE=E6=89=80=E3=81=93=E3=81=AE=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E3=81=97=E3=81=8B=E3=82=8F=E3=81=8B=E3=82=89=E3=81=AA?= =?UTF-8?q?=E3=81=84)=E3=80=82=20[Refactor]=20Config=20Window:=20Dropdown?= =?UTF-8?q?=20Menu=20Window.=20=E8=89=B2=E6=8C=87=E5=AE=9A=E3=82=92?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=82=B9=E3=82=BF=E3=83=B3=E3=82=B9=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=99=82=E3=81=AB=E6=8C=87=E5=AE=9A=E3=81=95=E3=81=9B?= =?UTF-8?q?=E6=B1=8E=E7=94=A8=E5=8C=96=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vrct_gui/_CreateDropdownMenuWindow.py | 110 ++++++++++++++++++-------- vrct_gui/vrct_gui.py | 7 ++ 2 files changed, 82 insertions(+), 35 deletions(-) diff --git a/vrct_gui/_CreateDropdownMenuWindow.py b/vrct_gui/_CreateDropdownMenuWindow.py index d11a991c..1f2bbc1d 100644 --- a/vrct_gui/_CreateDropdownMenuWindow.py +++ b/vrct_gui/_CreateDropdownMenuWindow.py @@ -7,7 +7,16 @@ from .ui_utils import bindButtonReleaseFunction, bindEnterAndLeaveColor, bindBut from functools import partial class _CreateDropdownMenuWindow(CTkToplevel): - def __init__(self, settings, view_variable): + def __init__(self, + settings, + view_variable, + window_bg_color, + window_border_color, + values_bg_color, + values_hovered_bg_color, + values_clicked_bg_color, + values_text_color, + ): super().__init__() self.withdraw() self.hide = True @@ -22,6 +31,14 @@ class _CreateDropdownMenuWindow(CTkToplevel): self.resizable(width=False, height=False) + self.window_bg_color=window_bg_color + self.window_border_color=window_border_color + self.values_bg_color=values_bg_color + self.values_hovered_bg_color=values_hovered_bg_color + self.values_clicked_bg_color=values_clicked_bg_color + self.values_text_color=values_text_color + + self.settings = settings self.attach_widget = None self._view_variable = view_variable @@ -70,10 +87,36 @@ class _CreateDropdownMenuWindow(CTkToplevel): self.wrapper_widget = wrapper_widget - self.dropdown_menu_container = CTkFrame(self, corner_radius=0, fg_color="#ff7f50", width=0, height=0) + self.dropdown_menu_container = CTkFrame(self, corner_radius=0, fg_color=self.window_border_color, width=0, height=0) + # self.dropdown_menu_container = CTkFrame(self, corner_radius=0, fg_color="#ff7f50", width=0, height=0) self.dropdown_menu_container.grid(row=0, column=0, sticky="nsew") - self.dropdown_menu_container.grid_remove() + + BORDER_WIDTH=1 + self.scroll_frame_container = CTkScrollableFrame( + self.dropdown_menu_container, + corner_radius=0, + fg_color=self.window_bg_color, + width=0, + height=0, + border_width=0, + ) + self.scroll_frame_container.grid(row=0, column=0, padx=BORDER_WIDTH, pady=BORDER_WIDTH, sticky="nsew") + self.scroll_frame_container._scrollbar.grid_configure(padx=(2, 2)) + self.scroll_frame_container.grid_columnconfigure(0, weight=1) + + + + + self.dropdown_menu_values_box = CTkFrame(self.scroll_frame_container, corner_radius=0, fg_color=self.window_bg_color, width=0, height=0) + self.dropdown_menu_values_box.grid(row=0, column=0, sticky="nsew") + self.dropdown_menu_values_box.grid_columnconfigure(0, weight=1) + + + self._createDropdownMenuValues(dropdown_menu_widget_id, dropdown_menu_values, command) + + geometry_width = int(self.new_width + self.scroll_frame_container._scrollbar.winfo_width() + (BORDER_WIDTH*2) + 4) + geometry_height = int(self.new_height + (BORDER_WIDTH*2)) self.dropdown_menu_widgets[dropdown_menu_widget_id] = SimpleNamespace() self.dropdown_menu_widgets[dropdown_menu_widget_id] = SimpleNamespace( @@ -84,37 +127,24 @@ class _CreateDropdownMenuWindow(CTkToplevel): dropdown_menu_width=dropdown_menu_width, dropdown_menu_height=dropdown_menu_height, max_display_length=max_display_length, - ) + ), + _settings=SimpleNamespace( + geometry_width=geometry_width, + geometry_height=geometry_height, + ), ) + self.dropdown_menu_container.grid_remove() - self.scroll_frame_container = CTkScrollableFrame( - self.dropdown_menu_container, - corner_radius=0, - fg_color=self.settings.ctm.SB__DROPDOWN_MENU_WINDOW_BG_COLOR, - width=0, - height=0, - border_color=self.settings.ctm.SB__DROPDOWN_MENU_WINDOW_BORDER_COLOR, - border_width=1, - ) - self.scroll_frame_container.grid(row=0, column=0, sticky="nsew") - self.scroll_frame_container._scrollbar.grid_configure(padx=(1, 2)) - self.scroll_frame_container.grid_columnconfigure(0, weight=1) - - self.dropdown_menu_values_box = CTkFrame(self.scroll_frame_container, corner_radius=0, fg_color=self.settings.ctm.SB__DROPDOWN_MENU_WINDOW_BG_COLOR, width=0, height=0) - self.dropdown_menu_values_box.grid(row=0, column=0, sticky="nsew") - self.dropdown_menu_values_box.grid_columnconfigure(0, weight=1) - - self._createDropdownMenuValues(dropdown_menu_widget_id, dropdown_menu_values, command) def _createDropdownMenuValues(self, dropdown_menu_widget_id, dropdown_menu_values, command): - self.dropdown_menu_values_wrapper = CTkFrame(self.scroll_frame_container, corner_radius=0, fg_color=self.settings.ctm.SB__DROPDOWN_MENU_WINDOW_BG_COLOR) + self.dropdown_menu_values_wrapper = CTkFrame(self.scroll_frame_container, corner_radius=0, fg_color=self.window_bg_color) self.dropdown_menu_values_wrapper.grid(row=0, column=0, sticky="nsew") self.dropdown_menu_values_wrapper.grid_columnconfigure(0, weight=1) # for get to the height__________________ - __dropdown_menu_value_wrapper = CTkFrame(self.dropdown_menu_values_wrapper, corner_radius=0, fg_color=self.settings.ctm.SB__DROPDOWN_MENU_BG_COLOR, width=0, height=0) + __dropdown_menu_value_wrapper = CTkFrame(self.dropdown_menu_values_wrapper, corner_radius=0, fg_color=self.values_bg_color, width=0, height=0) __dropdown_menu_value_wrapper.grid(row=0, column=0, ipadx=6, ipady=6, sticky="nsew") setattr(self, f"{dropdown_menu_widget_id}__{0}", __dropdown_menu_value_wrapper) @@ -128,7 +158,7 @@ class _CreateDropdownMenuWindow(CTkToplevel): corner_radius=0, font=CTkFont(family=self.settings.FONT_FAMILY, size=14, weight="normal"), anchor="w", - text_color=self.settings.ctm.BASIC_TEXT_COLOR, + text_color=self.values_text_color, ) # setattr(self, f"l", __label_widget) @@ -138,11 +168,18 @@ class _CreateDropdownMenuWindow(CTkToplevel): dropdown_menu_values_length = len(dropdown_menu_values) if dropdown_menu_values_length < self.max_display_length: - new_height = int(dropdown_menu_values_length * label_height) + self.new_height = int(dropdown_menu_values_length * label_height) else: - new_height = int(self.max_display_length * label_height) + self.new_height = int(self.max_display_length * label_height) - self.scroll_frame_container.configure(width=self.new_width, height=new_height) + + def makeEven(input_value): + return input_value + 1 if input_value % 2 == 1 else input_value + + + self.new_height = makeEven(self.new_height) + self.new_width = makeEven(self.new_width) + self.scroll_frame_container.configure(width=self.new_width, height=self.new_height) # This is for CustomTkinter's spec change or bug fix. self.scroll_frame_container._scrollbar.configure(height=0) @@ -152,7 +189,7 @@ class _CreateDropdownMenuWindow(CTkToplevel): row=0 for dropdown_menu_value in dropdown_menu_values: - dropdown_menu_value_wrapper = CTkFrame(self.dropdown_menu_values_wrapper, corner_radius=0, fg_color=self.settings.ctm.SB__DROPDOWN_MENU_BG_COLOR, width=0, height=0, cursor="hand2") + dropdown_menu_value_wrapper = CTkFrame(self.dropdown_menu_values_wrapper, corner_radius=0, fg_color=self.values_bg_color, width=0, height=0, cursor="hand2") dropdown_menu_value_wrapper.grid(row=row, column=0, ipadx=6, ipady=6, sticky="nsew") setattr(self, f"{dropdown_menu_widget_id}__{row}", dropdown_menu_value_wrapper) @@ -167,7 +204,7 @@ class _CreateDropdownMenuWindow(CTkToplevel): corner_radius=0, font=CTkFont(family=self.settings.FONT_FAMILY, size=14, weight="normal"), anchor="w", - text_color=self.settings.ctm.BASIC_TEXT_COLOR, + text_color=self.values_text_color, ) # setattr(self, f"l", label_widget) @@ -175,8 +212,8 @@ class _CreateDropdownMenuWindow(CTkToplevel): - bindEnterAndLeaveColor([dropdown_menu_value_wrapper, label_widget], self.settings.ctm.SB__DROPDOWN_MENU_HOVERED_BG_COLOR, self.settings.ctm.SB__DROPDOWN_MENU_BG_COLOR) - bindButtonPressColor([dropdown_menu_value_wrapper, label_widget], self.settings.ctm.SB__DROPDOWN_MENU_CLICKED_BG_COLOR, self.settings.ctm.SB__DROPDOWN_MENU_BG_COLOR) + bindEnterAndLeaveColor([dropdown_menu_value_wrapper, label_widget], self.values_hovered_bg_color, self.values_bg_color) + bindButtonPressColor([dropdown_menu_value_wrapper, label_widget], self.values_clicked_bg_color, self.values_bg_color) @@ -201,9 +238,12 @@ class _CreateDropdownMenuWindow(CTkToplevel): if self.active_dropdown_menu_widget is not None: self.active_dropdown_menu_widget.grid_remove() - target_Widget = self.dropdown_menu_widgets[dropdown_menu_widget_id].widget - target_Widget.grid() - self.active_dropdown_menu_widget = target_Widget + target_data = self.dropdown_menu_widgets[dropdown_menu_widget_id] + target_data.widget.grid() + self.active_dropdown_menu_widget = target_data.widget + + self.geometry("{}x{}".format(target_data._settings.geometry_width, target_data._settings.geometry_height)) + self.deiconify() self._adjustToTargetWidgetGeometry() diff --git a/vrct_gui/vrct_gui.py b/vrct_gui/vrct_gui.py index b3a1d59c..236da886 100644 --- a/vrct_gui/vrct_gui.py +++ b/vrct_gui/vrct_gui.py @@ -36,6 +36,13 @@ class VRCT_GUI(CTk): self.dropdown_menu_window = _CreateDropdownMenuWindow( settings=self.settings.config_window, view_variable=self._view_variable, + + window_bg_color=self.settings.config_window.ctm.SB__DROPDOWN_MENU_WINDOW_BG_COLOR, + window_border_color=self.settings.config_window.ctm.SB__DROPDOWN_MENU_WINDOW_BORDER_COLOR, + values_bg_color=self.settings.config_window.ctm.SB__DROPDOWN_MENU_BG_COLOR, + values_hovered_bg_color=self.settings.config_window.ctm.SB__DROPDOWN_MENU_HOVERED_BG_COLOR, + values_clicked_bg_color=self.settings.config_window.ctm.SB__DROPDOWN_MENU_CLICKED_BG_COLOR, + values_text_color=self.settings.config_window.ctm.BASIC_TEXT_COLOR, ) self.config_window = ConfigWindow( From 7fd8b089d58c80ee99f2451ef59890416416b01d Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 08:46:14 +0900 Subject: [PATCH 02/12] =?UTF-8?q?[Update]=20Config=20Window:=20Dropdown=20?= =?UTF-8?q?Menu=20Window.=20UI=20Size=E5=A4=89=E6=9B=B4=E5=AF=BE=E5=BF=9C?= =?UTF-8?q?=E3=80=82=20[bugfix]=20Config=20Window:=20Dropdown=20Menu=20Win?= =?UTF-8?q?dow.=20=E3=81=9D=E3=82=8C=E3=81=AB=E4=BC=B4=E3=81=84root?= =?UTF-8?q?=E3=81=AEgeometry,=20position=E3=81=8C=E5=B4=A9=E3=82=8C?= =?UTF-8?q?=E3=81=9F=E3=81=AE=E3=81=A7=E3=81=9D=E3=81=AE=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vrct_gui/_CreateDropdownMenuWindow.py | 56 +++++++++++++------ .../_SettingBoxGenerator.py | 17 +++--- vrct_gui/ui_managers/UiScalingManager.py | 15 +++-- vrct_gui/vrct_gui.py | 6 ++ 4 files changed, 64 insertions(+), 30 deletions(-) diff --git a/vrct_gui/_CreateDropdownMenuWindow.py b/vrct_gui/_CreateDropdownMenuWindow.py index 1f2bbc1d..287dfb51 100644 --- a/vrct_gui/_CreateDropdownMenuWindow.py +++ b/vrct_gui/_CreateDropdownMenuWindow.py @@ -10,6 +10,14 @@ class _CreateDropdownMenuWindow(CTkToplevel): def __init__(self, settings, view_variable, + + window_additional_y_pos, + window_border_width, + scrollbar_ipadx, + value_padx, + value_pady, + value_font_size, + window_bg_color, window_border_color, values_bg_color, @@ -31,6 +39,13 @@ class _CreateDropdownMenuWindow(CTkToplevel): self.resizable(width=False, height=False) + self.window_additional_y_pos=window_additional_y_pos + self.window_border_width=window_border_width + self.scrollbar_ipadx=scrollbar_ipadx + self.value_padx=value_padx + self.value_pady=value_pady + self.value_font_size=value_font_size + self.window_bg_color=window_bg_color self.window_border_color=window_border_color self.values_bg_color=values_bg_color @@ -72,6 +87,7 @@ class _CreateDropdownMenuWindow(CTkToplevel): dropdown_menu_values=dropdown_menu_values, command=self.dropdown_menu_widgets[dropdown_menu_widget_id].command, wrapper_widget=self.dropdown_menu_widgets[dropdown_menu_widget_id].wrapper_widget, + attach_widget=self.dropdown_menu_widgets[dropdown_menu_widget_id].attach_widget, dropdown_menu_width=self.dropdown_menu_widgets[dropdown_menu_widget_id].dropdown_menu_settings.dropdown_menu_width, dropdown_menu_height=self.dropdown_menu_widgets[dropdown_menu_widget_id].dropdown_menu_settings.dropdown_menu_height, @@ -79,20 +95,22 @@ class _CreateDropdownMenuWindow(CTkToplevel): ) - def createDropdownMenuBox(self, dropdown_menu_widget_id, dropdown_menu_values, command, wrapper_widget, dropdown_menu_width=None, dropdown_menu_height=None, max_display_length=None): - self.new_width = dropdown_menu_width if dropdown_menu_width is not None else self.init_width + def createDropdownMenuBox(self, dropdown_menu_widget_id, dropdown_menu_values, command, wrapper_widget, attach_widget, dropdown_menu_width=None, dropdown_menu_height=None, max_display_length=None): + + self.attach_widget = attach_widget + self.wrapper_widget = wrapper_widget + + self.update() + self.new_width = dropdown_menu_width if dropdown_menu_width is not None else self.attach_widget.winfo_width() self.new_height = dropdown_menu_height if dropdown_menu_height is not None else self.init_height self.max_display_length = max_display_length if max_display_length is not None else self.init_max_display_length - self.wrapper_widget = wrapper_widget - self.dropdown_menu_container = CTkFrame(self, corner_radius=0, fg_color=self.window_border_color, width=0, height=0) - # self.dropdown_menu_container = CTkFrame(self, corner_radius=0, fg_color="#ff7f50", width=0, height=0) self.dropdown_menu_container.grid(row=0, column=0, sticky="nsew") - BORDER_WIDTH=1 + BORDER_WIDTH=self.window_border_width self.scroll_frame_container = CTkScrollableFrame( self.dropdown_menu_container, corner_radius=0, @@ -102,7 +120,7 @@ class _CreateDropdownMenuWindow(CTkToplevel): border_width=0, ) self.scroll_frame_container.grid(row=0, column=0, padx=BORDER_WIDTH, pady=BORDER_WIDTH, sticky="nsew") - self.scroll_frame_container._scrollbar.grid_configure(padx=(2, 2)) + self.scroll_frame_container._scrollbar.grid_configure(padx=self.scrollbar_ipadx) self.scroll_frame_container.grid_columnconfigure(0, weight=1) @@ -115,14 +133,16 @@ class _CreateDropdownMenuWindow(CTkToplevel): self._createDropdownMenuValues(dropdown_menu_widget_id, dropdown_menu_values, command) - geometry_width = int(self.new_width + self.scroll_frame_container._scrollbar.winfo_width() + (BORDER_WIDTH*2) + 4) + geometry_width = int(self.new_width + self.scroll_frame_container._scrollbar.winfo_width() + (BORDER_WIDTH*2) + (self.scrollbar_ipadx[0] + self.scrollbar_ipadx[1])) geometry_height = int(self.new_height + (BORDER_WIDTH*2)) + self.dropdown_menu_widgets[dropdown_menu_widget_id] = SimpleNamespace() self.dropdown_menu_widgets[dropdown_menu_widget_id] = SimpleNamespace( widget=self.dropdown_menu_container, command=command, wrapper_widget=wrapper_widget, + attach_widget=attach_widget, dropdown_menu_settings=SimpleNamespace( dropdown_menu_width=dropdown_menu_width, dropdown_menu_height=dropdown_menu_height, @@ -145,7 +165,7 @@ class _CreateDropdownMenuWindow(CTkToplevel): # for get to the height__________________ __dropdown_menu_value_wrapper = CTkFrame(self.dropdown_menu_values_wrapper, corner_radius=0, fg_color=self.values_bg_color, width=0, height=0) - __dropdown_menu_value_wrapper.grid(row=0, column=0, ipadx=6, ipady=6, sticky="nsew") + __dropdown_menu_value_wrapper.grid(row=0, column=0, sticky="nsew") setattr(self, f"{dropdown_menu_widget_id}__{0}", __dropdown_menu_value_wrapper) @@ -156,13 +176,13 @@ class _CreateDropdownMenuWindow(CTkToplevel): text="Aa", height=0, corner_radius=0, - font=CTkFont(family=self.settings.FONT_FAMILY, size=14, weight="normal"), + font=CTkFont(family=self.settings.FONT_FAMILY, size=self.value_font_size, weight="normal"), anchor="w", text_color=self.values_text_color, ) # setattr(self, f"l", __label_widget) - __label_widget.grid(row=1, column=0, padx=(8,0), sticky="w") + __label_widget.grid(row=1, column=0, padx=self.value_padx, pady=self.value_pady, sticky="w") label_height = getLatestHeight(__dropdown_menu_value_wrapper) # ______________________________________ @@ -190,7 +210,7 @@ class _CreateDropdownMenuWindow(CTkToplevel): for dropdown_menu_value in dropdown_menu_values: dropdown_menu_value_wrapper = CTkFrame(self.dropdown_menu_values_wrapper, corner_radius=0, fg_color=self.values_bg_color, width=0, height=0, cursor="hand2") - dropdown_menu_value_wrapper.grid(row=row, column=0, ipadx=6, ipady=6, sticky="nsew") + dropdown_menu_value_wrapper.grid(row=row, column=0, sticky="nsew") setattr(self, f"{dropdown_menu_widget_id}__{row}", dropdown_menu_value_wrapper) @@ -202,14 +222,13 @@ class _CreateDropdownMenuWindow(CTkToplevel): text=dropdown_menu_value, height=0, corner_radius=0, - font=CTkFont(family=self.settings.FONT_FAMILY, size=14, weight="normal"), + font=CTkFont(family=self.settings.FONT_FAMILY, size=self.value_font_size, weight="normal"), anchor="w", text_color=self.values_text_color, ) # setattr(self, f"l", label_widget) - label_widget.grid(row=1, column=0, padx=(8,0), sticky="w") - + label_widget.grid(row=1, column=0, padx=self.value_padx, pady=self.value_pady, sticky="w") bindEnterAndLeaveColor([dropdown_menu_value_wrapper, label_widget], self.values_hovered_bg_color, self.values_bg_color) @@ -228,17 +247,18 @@ class _CreateDropdownMenuWindow(CTkToplevel): - def show(self, dropdown_menu_widget_id, target_widget): + def show(self, dropdown_menu_widget_id): if self.hide is False: return self.wm_attributes("-alpha", 0) - self.attach_widget = target_widget if self.active_dropdown_menu_widget is not None: self.active_dropdown_menu_widget.grid_remove() target_data = self.dropdown_menu_widgets[dropdown_menu_widget_id] + self.attach_widget = target_data.attach_widget + target_data.widget.grid() self.active_dropdown_menu_widget = target_data.widget @@ -297,7 +317,7 @@ class _CreateDropdownMenuWindow(CTkToplevel): self.attach_widget_y_pos = self.attach_widget.winfo_rooty() - self.y_pos = int(self.attach_widget_y_pos + self.attach_widget_height + 4) + self.y_pos = int(self.attach_widget_y_pos + self.attach_widget_height + self.window_additional_y_pos) if self.wrapper_widget_y_pos > self.y_pos or self.y_pos > self.wrapper_widget_bottom_y_pos: self.hideTemporarily() 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 e07f116c..b2d25d9d 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 @@ -82,13 +82,6 @@ class _SettingBoxGenerator(): variable.set(value) command(value) - self.dropdown_menu_window.createDropdownMenuBox( - dropdown_menu_widget_id=optionmenu_attr_name, - dropdown_menu_values=dropdown_menu_values, - command=adjustedCommand, - wrapper_widget=self.config_window.main_bg_container, - dropdown_menu_width=dropdown_menu_width, - ) option_menu_widget = createOptionMenuBox( parent_widget=setting_box_item_frame, @@ -108,13 +101,21 @@ class _SettingBoxGenerator(): image_size=(14,14), optionmenu_clicked_command=lambda _e: self.dropdown_menu_window.show( dropdown_menu_widget_id=optionmenu_attr_name, - target_widget=option_menu_widget, ), ) option_menu_widget.grid(row=1, column=SETTING_BOX_COLUMN, sticky="e") setattr(self.config_window, optionmenu_attr_name, option_menu_widget) + self.dropdown_menu_window.createDropdownMenuBox( + dropdown_menu_widget_id=optionmenu_attr_name, + dropdown_menu_values=dropdown_menu_values, + command=adjustedCommand, + wrapper_widget=self.config_window.main_bg_container, + attach_widget=option_menu_widget, + dropdown_menu_width=dropdown_menu_width, + ) + return setting_box_frame diff --git a/vrct_gui/ui_managers/UiScalingManager.py b/vrct_gui/ui_managers/UiScalingManager.py index 78f892bb..df68a884 100644 --- a/vrct_gui/ui_managers/UiScalingManager.py +++ b/vrct_gui/ui_managers/UiScalingManager.py @@ -153,10 +153,14 @@ class UiScalingManager(): self.config_window.SB__OPTION_MENU_FONT_SIZE = self.config_window.SB__SELECTOR_FONT_SIZE self.config_window.SB__OPTIONMENU_MIN_HEIGHT = self._calculateUiSize(30) self.config_window.SB__OPTIONMENU_MIN_WIDTH = self._calculateUiSize(200) + + self.config_window.SB__DROPDOWN_MENU_WINDOW_ADDITIONAL_Y_POS = self._calculateUiSize(4) self.config_window.SB__DROPDOWN_MENU_WIDTH = self.config_window.SB__OPTIONMENU_MIN_WIDTH - self.config_window.SB__DROPDOWN_MENU_MAX_BUTTON_HEIGHT = int(self.config_window.SB__OPTION_MENU_FONT_SIZE + self._calculateUiSize(6)) - self.config_window.SB__DROPDOWN_MENU_FRAME_CORNER_RADIUS = self._calculateUiSize(10) - self.config_window.SB__DROPDOWN_MENU_FRAME_MAX_HEIGHT = self._calculateUiSize(200) + self.config_window.SB__DROPDOWN_MENU_WINDOW_BORDER_WIDTH = self._calculateUiSize(1, is_allowed_odd=True) + self.config_window.SB__DROPDOWN_MENU_SCROLLBAR_IPADX = (self._calculateUiSize(2), self._calculateUiSize(2)) + self.config_window.SB__DROPDOWN_MENU_VALUE_PADX = (self._calculateUiSize(8), 0) + self.config_window.SB__DROPDOWN_MENU_VALUE_PADY = self._calculateUiSize(6) + self.config_window.SB__DROPDOWN_MENU_VALUE_FONT_SIZE = self._calculateUiSize(14) self.config_window.SB__SWITCH_WIDTH = self._calculateUiSize(50) @@ -186,9 +190,12 @@ class UiScalingManager(): - def _calculateUiSize(self, default_size, is_allowed_odd: bool = False): + def _calculateUiSize(self, default_size, is_allowed_odd:bool=False, is_zero_allowed:bool=False): size = int(default_size * self.SCALING_FLOAT) size += 1 if not is_allowed_odd and size % 2 != 0 else 0 + if size <= 0: + size = 0 if is_zero_allowed else 1 + return size @staticmethod diff --git a/vrct_gui/vrct_gui.py b/vrct_gui/vrct_gui.py index 236da886..7ca3d7ea 100644 --- a/vrct_gui/vrct_gui.py +++ b/vrct_gui/vrct_gui.py @@ -36,6 +36,12 @@ class VRCT_GUI(CTk): self.dropdown_menu_window = _CreateDropdownMenuWindow( settings=self.settings.config_window, view_variable=self._view_variable, + window_additional_y_pos=self.settings.config_window.uism.SB__DROPDOWN_MENU_WINDOW_ADDITIONAL_Y_POS, + window_border_width=self.settings.config_window.uism.SB__DROPDOWN_MENU_WINDOW_BORDER_WIDTH, + scrollbar_ipadx=self.settings.config_window.uism.SB__DROPDOWN_MENU_SCROLLBAR_IPADX, + value_padx=self.settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_PADX, + value_pady=self.settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_PADY, + value_font_size=self.settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_FONT_SIZE, window_bg_color=self.settings.config_window.ctm.SB__DROPDOWN_MENU_WINDOW_BG_COLOR, window_border_color=self.settings.config_window.ctm.SB__DROPDOWN_MENU_WINDOW_BORDER_COLOR, From 00561ae3ba790b04391ed5770d26b068f35c7786 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 08:57:24 +0900 Subject: [PATCH 03/12] [Update] Expand available UI Size. It is also for testing more easier. --- config.py | 2 +- view.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.py b/config.py index bf6f3a6b..5dac3f77 100644 --- a/config.py +++ b/config.py @@ -222,7 +222,7 @@ class Config: @UI_SCALING.setter def UI_SCALING(self, value): - if value in ["80%", "90%", "100%", "110%", "120%"]: + if value in ["40%", "60%", "80%", "90%", "100%", "110%", "120%", "150%", "200%"]: self._UI_SCALING = value saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value) diff --git a/view.py b/view.py index abdd5421..297b2fcb 100644 --- a/view.py +++ b/view.py @@ -163,7 +163,7 @@ class View(): VAR_LABEL_UI_SCALING=StringVar(value=i18n.t("config_window.ui_size.label")), VAR_DESC_UI_SCALING=None, - LIST_UI_SCALING=["80%", "90%", "100%", "110%", "120%"], + LIST_UI_SCALING=["40%", "60%", "80%", "90%", "100%", "110%", "120%", "150%", "200%"], CALLBACK_SET_UI_SCALING=None, VAR_UI_SCALING=StringVar(value=config.UI_SCALING), From 1722cfecff963325644df913547795089e909cc5 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 13:01:46 +0900 Subject: [PATCH 04/12] =?UTF-8?q?[Update]=20Config=20Window:=20Dropdown=20?= =?UTF-8?q?Menu=20Window.=20UI=20Size=E5=A4=89=E6=9B=B4=E5=AF=BE=E5=BF=9C(?= =?UTF-8?q?=E3=82=B9=E3=82=AF=E3=83=AD=E3=83=BC=E3=83=AB=E3=83=BC=E3=83=90?= =?UTF-8?q?=E3=83=BC)=20[bugfix]=20Config=20Window:=20Dropdown=20Menu=20Wi?= =?UTF-8?q?ndow.=20=E3=81=95=E3=82=89=E3=81=AB1px=E3=83=90=E3=82=B0?= =?UTF-8?q?=E3=81=AE=E4=BF=AE=E6=AD=A3=20=E6=8C=87=E5=AE=9A=E3=82=B5?= =?UTF-8?q?=E3=82=A4=E3=82=BA=E3=81=AB=E9=96=A2=E3=82=8F=E3=82=89=E3=81=9A?= =?UTF-8?q?=E3=80=81=E3=83=95=E3=82=A9=E3=83=B3=E3=83=88=E3=81=AB=E3=82=88?= =?UTF-8?q?=E3=81=A3=E3=81=A6height=E3=81=8C=E5=A4=89=E3=82=8F=E3=82=8B?= =?UTF-8?q?=E3=81=AE=E3=81=A7=E3=80=81=E5=86=85=E9=83=A8=E3=81=A7=E6=9B=B4?= =?UTF-8?q?=E3=81=AB=E8=A8=88=E7=AE=97=E3=81=97=E3=81=A6=E8=AA=BF=E6=95=B4?= =?UTF-8?q?=E3=80=82=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils.py | 8 ++++++- vrct_gui/_CreateDropdownMenuWindow.py | 30 ++++++++++++++++-------- vrct_gui/ui_managers/UiScalingManager.py | 6 +++-- vrct_gui/vrct_gui.py | 4 +++- 4 files changed, 34 insertions(+), 14 deletions(-) diff --git a/utils.py b/utils.py index d15b169c..1a408523 100644 --- a/utils.py +++ b/utils.py @@ -12,4 +12,10 @@ def get_key_by_value(dictionary, value): return None def callFunctionIfCallable(function, *args): - if callable(function) is True: function(*args) \ No newline at end of file + if callable(function) is True: function(*args) + +def isEven(number): + return number % 2 == 0 + +def makeEven(number): + return number if isEven(number) else number + 1 \ No newline at end of file diff --git a/vrct_gui/_CreateDropdownMenuWindow.py b/vrct_gui/_CreateDropdownMenuWindow.py index 287dfb51..f5f79be7 100644 --- a/vrct_gui/_CreateDropdownMenuWindow.py +++ b/vrct_gui/_CreateDropdownMenuWindow.py @@ -6,6 +6,8 @@ from time import sleep from .ui_utils import bindButtonReleaseFunction, bindEnterAndLeaveColor, bindButtonPressColor, getLatestWidth, getLatestHeight from functools import partial +from utils import isEven, makeEven + class _CreateDropdownMenuWindow(CTkToplevel): def __init__(self, settings, @@ -14,7 +16,9 @@ class _CreateDropdownMenuWindow(CTkToplevel): window_additional_y_pos, window_border_width, scrollbar_ipadx, - value_padx, + scrollbar_width, + value_ipadx, + value_ipady, value_pady, value_font_size, @@ -42,7 +46,9 @@ class _CreateDropdownMenuWindow(CTkToplevel): self.window_additional_y_pos=window_additional_y_pos self.window_border_width=window_border_width self.scrollbar_ipadx=scrollbar_ipadx - self.value_padx=value_padx + self.scrollbar_width=scrollbar_width + self.value_ipadx=value_ipadx + self.value_ipady=value_ipady self.value_pady=value_pady self.value_font_size=value_font_size @@ -165,7 +171,7 @@ class _CreateDropdownMenuWindow(CTkToplevel): # for get to the height__________________ __dropdown_menu_value_wrapper = CTkFrame(self.dropdown_menu_values_wrapper, corner_radius=0, fg_color=self.values_bg_color, width=0, height=0) - __dropdown_menu_value_wrapper.grid(row=0, column=0, sticky="nsew") + __dropdown_menu_value_wrapper.grid(row=0, column=0, pady=self.value_pady, sticky="nsew") setattr(self, f"{dropdown_menu_widget_id}__{0}", __dropdown_menu_value_wrapper) @@ -182,8 +188,14 @@ class _CreateDropdownMenuWindow(CTkToplevel): ) # setattr(self, f"l", __label_widget) - __label_widget.grid(row=1, column=0, padx=self.value_padx, pady=self.value_pady, sticky="w") + __label_widget.grid(row=1, column=0, padx=self.value_ipadx, pady=self.value_ipady, sticky="w") label_height = getLatestHeight(__dropdown_menu_value_wrapper) + + # for fixing 1px bug + if isEven(label_height) is False: + self.value_ipady = (self.value_ipady[0], self.value_ipady[1] - 1) + + __dropdown_menu_value_wrapper.destroy() # ______________________________________ dropdown_menu_values_length = len(dropdown_menu_values) @@ -193,16 +205,14 @@ class _CreateDropdownMenuWindow(CTkToplevel): self.new_height = int(self.max_display_length * label_height) - def makeEven(input_value): - return input_value + 1 if input_value % 2 == 1 else input_value - - + # for fixing 1px bug self.new_height = makeEven(self.new_height) self.new_width = makeEven(self.new_width) self.scroll_frame_container.configure(width=self.new_width, height=self.new_height) # This is for CustomTkinter's spec change or bug fix. self.scroll_frame_container._scrollbar.configure(height=0) + self.scroll_frame_container._scrollbar.configure(width=self.scrollbar_width) @@ -210,7 +220,7 @@ class _CreateDropdownMenuWindow(CTkToplevel): for dropdown_menu_value in dropdown_menu_values: dropdown_menu_value_wrapper = CTkFrame(self.dropdown_menu_values_wrapper, corner_radius=0, fg_color=self.values_bg_color, width=0, height=0, cursor="hand2") - dropdown_menu_value_wrapper.grid(row=row, column=0, sticky="nsew") + dropdown_menu_value_wrapper.grid(row=row, column=0, pady=self.value_pady, sticky="nsew") setattr(self, f"{dropdown_menu_widget_id}__{row}", dropdown_menu_value_wrapper) @@ -228,7 +238,7 @@ class _CreateDropdownMenuWindow(CTkToplevel): ) # setattr(self, f"l", label_widget) - label_widget.grid(row=1, column=0, padx=self.value_padx, pady=self.value_pady, sticky="w") + label_widget.grid(row=1, column=0, padx=self.value_ipadx, pady=self.value_ipady, sticky="w") bindEnterAndLeaveColor([dropdown_menu_value_wrapper, label_widget], self.values_hovered_bg_color, self.values_bg_color) diff --git a/vrct_gui/ui_managers/UiScalingManager.py b/vrct_gui/ui_managers/UiScalingManager.py index df68a884..d95eed7f 100644 --- a/vrct_gui/ui_managers/UiScalingManager.py +++ b/vrct_gui/ui_managers/UiScalingManager.py @@ -158,8 +158,10 @@ class UiScalingManager(): self.config_window.SB__DROPDOWN_MENU_WIDTH = self.config_window.SB__OPTIONMENU_MIN_WIDTH self.config_window.SB__DROPDOWN_MENU_WINDOW_BORDER_WIDTH = self._calculateUiSize(1, is_allowed_odd=True) self.config_window.SB__DROPDOWN_MENU_SCROLLBAR_IPADX = (self._calculateUiSize(2), self._calculateUiSize(2)) - self.config_window.SB__DROPDOWN_MENU_VALUE_PADX = (self._calculateUiSize(8), 0) - self.config_window.SB__DROPDOWN_MENU_VALUE_PADY = self._calculateUiSize(6) + self.config_window.SB__DROPDOWN_MENU_SCROLLBAR_WIDTH = self._calculateUiSize(16) + self.config_window.SB__DROPDOWN_MENU_VALUE_IPADX = (self._calculateUiSize(8), 0) + self.config_window.SB__DROPDOWN_MENU_VALUE_IPADY = (self._calculateUiSize(6), self._calculateUiSize(6)) + self.config_window.SB__DROPDOWN_MENU_VALUE_PADY = (0, self._calculateUiSize(1, is_allowed_odd=True)) self.config_window.SB__DROPDOWN_MENU_VALUE_FONT_SIZE = self._calculateUiSize(14) diff --git a/vrct_gui/vrct_gui.py b/vrct_gui/vrct_gui.py index 7ca3d7ea..3798faa1 100644 --- a/vrct_gui/vrct_gui.py +++ b/vrct_gui/vrct_gui.py @@ -39,7 +39,9 @@ class VRCT_GUI(CTk): window_additional_y_pos=self.settings.config_window.uism.SB__DROPDOWN_MENU_WINDOW_ADDITIONAL_Y_POS, window_border_width=self.settings.config_window.uism.SB__DROPDOWN_MENU_WINDOW_BORDER_WIDTH, scrollbar_ipadx=self.settings.config_window.uism.SB__DROPDOWN_MENU_SCROLLBAR_IPADX, - value_padx=self.settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_PADX, + scrollbar_width=self.settings.config_window.uism.SB__DROPDOWN_MENU_SCROLLBAR_WIDTH, + value_ipadx=self.settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_IPADX, + value_ipady=self.settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_IPADY, value_pady=self.settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_PADY, value_font_size=self.settings.config_window.uism.SB__DROPDOWN_MENU_VALUE_FONT_SIZE, From 8957e65e617777a6bc2512d0c9af6fea8571ddbf Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 14:34:10 +0900 Subject: [PATCH 05/12] =?UTF-8?q?[Update]=20Config=20Window:=20Error=20Mes?= =?UTF-8?q?sage=20Window.=20UI=20Size=E5=A4=89=E6=9B=B4=E5=AF=BE=E5=BF=9C?= =?UTF-8?q?=E3=80=82=E8=89=B2=E6=8C=87=E5=AE=9A=E3=82=92=E5=A4=89=E6=95=B0?= =?UTF-8?q?=E5=8C=96=E3=80=82=20[bugfix]=20Config=20Window:=20Error=20Mess?= =?UTF-8?q?age=20Window.=20Fix=201px=20bugs.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils.py | 4 +- vrct_gui/_CreateErrorWindow.py | 52 ++++++++++++++++++++--- vrct_gui/ui_managers/ColorThemeManager.py | 6 +++ vrct_gui/ui_managers/UiScalingManager.py | 4 ++ vrct_gui/vrct_gui.py | 9 ++++ 5 files changed, 68 insertions(+), 7 deletions(-) diff --git a/utils.py b/utils.py index 1a408523..5ed7bcd2 100644 --- a/utils.py +++ b/utils.py @@ -17,5 +17,7 @@ def callFunctionIfCallable(function, *args): def isEven(number): return number % 2 == 0 -def makeEven(number): +def makeEven(number, minus:bool=False): + if minus is True: + return number if isEven(number) else number - 1 return number if isEven(number) else number + 1 \ No newline at end of file diff --git a/vrct_gui/_CreateErrorWindow.py b/vrct_gui/_CreateErrorWindow.py index 8c576a1a..5a9029b8 100644 --- a/vrct_gui/_CreateErrorWindow.py +++ b/vrct_gui/_CreateErrorWindow.py @@ -1,8 +1,25 @@ from customtkinter import CTkToplevel, CTkFrame, CTkLabel, CTkFont from time import sleep +from .ui_utils import getLatestWidth, getLatestHeight +from utils import isEven + + class _CreateErrorWindow(CTkToplevel): - def __init__(self, settings, view_variable, wrapper_widget): + def __init__( + self, + settings, + view_variable, + wrapper_widget, + + message_ipadx, + message_ipady, + message_font_size, + + message_bg_color, + message_text_color, + ): + super().__init__() self.withdraw() self.hide = True @@ -21,6 +38,13 @@ class _CreateErrorWindow(CTkToplevel): self.wrapper_widget = wrapper_widget + self.message_ipadx = message_ipadx + self.message_ipady = message_ipady + self.message_font_size = message_font_size + + self.message_bg_color = message_bg_color + self.message_text_color = message_text_color + self.attach_widget_width = None self.attach_widget_height = None @@ -34,8 +58,7 @@ class _CreateErrorWindow(CTkToplevel): self.rowconfigure(0,weight=1) self.columnconfigure(0,weight=1) - # The color code [#bb4448] is a mixture of [#a9555c] and [#cc3333] (for a redder shade). - self.modal_container = CTkFrame(self, corner_radius=0, fg_color="#bb4448", width=0, height=0) + self.modal_container = CTkFrame(self, corner_radius=0, fg_color=self.message_bg_color, width=0, height=0) self.modal_container.grid(row=0, column=0, sticky="nsew") @@ -45,11 +68,13 @@ class _CreateErrorWindow(CTkToplevel): textvariable=self._view_variable.VAR_ERROR_MESSAGE, height=0, corner_radius=0, - font=CTkFont(family=self.settings.FONT_FAMILY, size=12, weight="normal"), + font=CTkFont(family=self.settings.FONT_FAMILY, size=self.message_font_size, weight="normal"), anchor="w", - text_color="white", + justify="left", + text_color=self.message_text_color, ) - self.modal_container_label_wrapper.grid(row=0, column=0, padx=10, pady=6, sticky="nsew") + self.modal_container_label_wrapper.grid(row=0, column=0, padx=self.message_ipadx, pady=self.message_ipady, sticky="nsew") + @@ -65,6 +90,21 @@ class _CreateErrorWindow(CTkToplevel): self.hide = False + label_width = getLatestWidth(self.modal_container_label_wrapper) + label_height = getLatestHeight(self.modal_container_label_wrapper) + + # for fixing 1px bug + if isEven(label_width) is False: + self.modal_container_label_wrapper.grid(padx=(self.message_ipadx[0], self.message_ipadx[1]-1)) + else: + self.modal_container_label_wrapper.grid(padx=self.message_ipadx) + + # for fixing 1px bug + if isEven(label_height) is False: + self.modal_container_label_wrapper.grid(pady=(self.message_ipady[0], self.message_ipady[1]-1)) + else: + self.modal_container_label_wrapper.grid(pady=self.message_ipady) + for i in range(0,101,20): if not self.winfo_exists(): diff --git a/vrct_gui/ui_managers/ColorThemeManager.py b/vrct_gui/ui_managers/ColorThemeManager.py index 50ed0b17..eff12ae5 100644 --- a/vrct_gui/ui_managers/ColorThemeManager.py +++ b/vrct_gui/ui_managers/ColorThemeManager.py @@ -281,6 +281,12 @@ class ColorThemeManager(): self.config_window.SIDE_MENU_SELECTED_MARK_ACTIVE_BG_COLOR = self.main.SF__SWITCH_BOX_ACTIVE_BG_COLOR + # Error Message Window for Config Window + # The color code [#bb4448] is a mixture of [#a9555c] and [#cc3333] (for a redder shade). + self.config_window.SB__ERROR_MESSAGE_BG_COLOR = "#bb4448" + self.config_window.SB__ERROR_MESSAGE_TEXT_COLOR = "#fff" + + diff --git a/vrct_gui/ui_managers/UiScalingManager.py b/vrct_gui/ui_managers/UiScalingManager.py index d95eed7f..6389d995 100644 --- a/vrct_gui/ui_managers/UiScalingManager.py +++ b/vrct_gui/ui_managers/UiScalingManager.py @@ -143,6 +143,10 @@ class UiScalingManager(): self.config_window.SB__DESC_TOP_PADY = self._calculateUiSize(2) + self.config_window.SB__ERROR_MESSAGE_IPADX = (self._calculateUiSize(10), self._calculateUiSize(10)) + self.config_window.SB__ERROR_MESSAGE_IPADY = (self._calculateUiSize(6), self._calculateUiSize(6)) + self.config_window.SB__ERROR_MESSAGE_FONT_SIZE = self._calculateUiSize(12) + self.config_window.SB__SELECTOR_FONT_SIZE = self._calculateUiSize(14) self.config_window.SB__RADIO_BUTTON_FONT_SIZE = self.config_window.SB__SELECTOR_FONT_SIZE diff --git a/vrct_gui/vrct_gui.py b/vrct_gui/vrct_gui.py index 3798faa1..9f07392c 100644 --- a/vrct_gui/vrct_gui.py +++ b/vrct_gui/vrct_gui.py @@ -36,6 +36,7 @@ class VRCT_GUI(CTk): self.dropdown_menu_window = _CreateDropdownMenuWindow( settings=self.settings.config_window, view_variable=self._view_variable, + window_additional_y_pos=self.settings.config_window.uism.SB__DROPDOWN_MENU_WINDOW_ADDITIONAL_Y_POS, window_border_width=self.settings.config_window.uism.SB__DROPDOWN_MENU_WINDOW_BORDER_WIDTH, scrollbar_ipadx=self.settings.config_window.uism.SB__DROPDOWN_MENU_SCROLLBAR_IPADX, @@ -75,6 +76,14 @@ class VRCT_GUI(CTk): settings=self.settings.modal_window, view_variable=self._view_variable, wrapper_widget=self.config_window.main_bg_container, + + message_ipadx=self.settings.config_window.uism.SB__ERROR_MESSAGE_IPADX, + message_ipady=self.settings.config_window.uism.SB__ERROR_MESSAGE_IPADY, + message_font_size=self.settings.config_window.uism.SB__ERROR_MESSAGE_FONT_SIZE, + + message_bg_color=self.settings.config_window.ctm.SB__ERROR_MESSAGE_BG_COLOR, + message_text_color=self.settings.config_window.ctm.SB__ERROR_MESSAGE_TEXT_COLOR, + ) From 7fe1cb329a1aaaeba346cf8cbb0ff393e6da0802 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 14:42:06 +0900 Subject: [PATCH 06/12] =?UTF-8?q?[Refactor]=20=E5=91=BC=E3=81=B3=E5=87=BA?= =?UTF-8?q?=E3=81=97=E9=96=A2=E6=95=B0=E5=90=8D=E7=B5=B1=E4=B8=80=20.rowco?= =?UTF-8?q?nfigure=20.columnconfigure=20=E3=82=92=20.grid=5Frowconfigure?= =?UTF-8?q?=20.grid=5Fcolumnconfigure=20=E3=81=A8=E7=B5=B1=E4=B8=80?= =?UTF-8?q?=E3=80=82=20(.rowconfigure=20.columnconfigure=20=E5=81=B4?= =?UTF-8?q?=E3=81=AB=E7=B5=B1=E4=B8=80=E3=81=97=E3=81=AA=E3=81=8B=E3=81=A3?= =?UTF-8?q?=E3=81=9F=E7=90=86=E7=94=B1=E3=81=AF=E3=80=81.configure?= =?UTF-8?q?=E9=96=A2=E6=95=B0=E3=81=A8=E5=A4=A7=E3=81=8D=E3=81=8F=E5=8C=BA?= =?UTF-8?q?=E5=88=A5=E3=81=99=E3=82=8B=E3=81=9F=E3=82=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vrct_gui/_CreateErrorWindow.py | 4 ++-- vrct_gui/_CreateModalWindow.py | 4 ++-- vrct_gui/_CreateSelectableLanguagesWindow.py | 16 ++++++++-------- .../_SettingBoxGenerator.py | 2 +- vrct_gui/main_window/createMainWindowWidgets.py | 4 ++-- .../createSidebarLanguagesSettings.py | 2 +- .../widgets/create_entry_message_box.py | 2 +- vrct_gui/main_window/widgets/create_textbox.py | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/vrct_gui/_CreateErrorWindow.py b/vrct_gui/_CreateErrorWindow.py index 5a9029b8..f92e47f6 100644 --- a/vrct_gui/_CreateErrorWindow.py +++ b/vrct_gui/_CreateErrorWindow.py @@ -55,8 +55,8 @@ class _CreateErrorWindow(CTkToplevel): - self.rowconfigure(0,weight=1) - self.columnconfigure(0,weight=1) + self.grid_rowconfigure(0,weight=1) + self.grid_columnconfigure(0,weight=1) self.modal_container = CTkFrame(self, corner_radius=0, fg_color=self.message_bg_color, width=0, height=0) self.modal_container.grid(row=0, column=0, sticky="nsew") diff --git a/vrct_gui/_CreateModalWindow.py b/vrct_gui/_CreateModalWindow.py index 8aa6cb64..17dcd421 100644 --- a/vrct_gui/_CreateModalWindow.py +++ b/vrct_gui/_CreateModalWindow.py @@ -31,8 +31,8 @@ class _CreateModalWindow(CTkToplevel): self.geometry('{}x{}+{}+{}'.format(self.width_new, self.height_new, self.x_pos, self.y_pos)) - self.rowconfigure(0,weight=1) - self.columnconfigure(0,weight=1) + self.grid_rowconfigure(0,weight=1) + self.grid_columnconfigure(0,weight=1) self.modal_container = CTkFrame(self, corner_radius=0, fg_color="black", width=0, height=0) self.modal_container.grid(row=0, column=0, sticky="nsew") diff --git a/vrct_gui/_CreateSelectableLanguagesWindow.py b/vrct_gui/_CreateSelectableLanguagesWindow.py index dbac7fc9..8b559a7a 100644 --- a/vrct_gui/_CreateSelectableLanguagesWindow.py +++ b/vrct_gui/_CreateSelectableLanguagesWindow.py @@ -70,15 +70,15 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): def _createContainer(self): - self.rowconfigure(0, minsize=50) - self.rowconfigure(1, weight=1) - self.columnconfigure(0, weight=1) + self.grid_rowconfigure(0, minsize=50) + self.grid_rowconfigure(1, weight=1) + self.grid_columnconfigure(0, weight=1) self.top_container = CTkFrame(self, corner_radius=0, fg_color=self.settings.ctm.TOP_BG_COLOR, width=0, height=0) self.top_container.grid(row=0, column=0, sticky="nsew") - self.top_container.rowconfigure((0,2), weight=1) - self.top_container.columnconfigure(1, weight=1) + self.top_container.grid_rowconfigure((0,2), weight=1) + self.top_container.grid_columnconfigure(1, weight=1) self.go_back_button_container = CTkFrame(self.top_container, corner_radius=0, fg_color=self.settings.ctm.GO_BACK_BUTTON_BG_COLOR, width=0, height=0, cursor="hand2") self.go_back_button_container.grid(row=1, column=0) @@ -105,8 +105,8 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): self.title_container = CTkFrame(self.top_container, corner_radius=0, fg_color=self.settings.ctm.TOP_BG_COLOR, width=0, height=0) self.title_container.grid(row=1, column=1, sticky="nsew") - self.title_container.columnconfigure((0,2), weight=1) - self.title_container.rowconfigure((0,2), weight=1) + self.title_container.grid_columnconfigure((0,2), weight=1) + self.title_container.grid_rowconfigure((0,2), weight=1) self.title_label = CTkLabel( self.title_container, textvariable=self._view_variable.VAR_TITLE_LABEL_SELECTABLE_LANGUAGE, @@ -143,7 +143,7 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): - self.wrapper.rowconfigure((0,2), weight=1) + self.wrapper.grid_rowconfigure((0,2), weight=1) selectable_language_name_for_text = selectable_language_name.replace("\n", " ") label_widget = CTkLabel( self.wrapper, 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 b2d25d9d..0abcc4c4 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 @@ -40,7 +40,7 @@ class _SettingBoxGenerator(): setting_box_item_frame = CTkFrame(setting_box_frame_wrapper, corner_radius=0, width=0, height=0, fg_color=self.settings.ctm.SB__BG_COLOR) setting_box_item_frame.grid(row=0, column=2, padx=0, sticky="nsew") - setting_box_item_frame.rowconfigure((0,2), weight=1) + setting_box_item_frame.grid_rowconfigure((0,2), weight=1) setting_box_item_frame.grid_columnconfigure(0, weight=1) return (setting_box_frame, setting_box_item_frame) diff --git a/vrct_gui/main_window/createMainWindowWidgets.py b/vrct_gui/main_window/createMainWindowWidgets.py index 06e2783e..78436481 100644 --- a/vrct_gui/main_window/createMainWindowWidgets.py +++ b/vrct_gui/main_window/createMainWindowWidgets.py @@ -35,7 +35,7 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable): - vrct_gui.main_topbar_container.columnconfigure(1,weight=1) + vrct_gui.main_topbar_container.grid_columnconfigure(1,weight=1) vrct_gui.main_topbar_center_container = CTkFrame(vrct_gui.main_topbar_container, corner_radius=0, fg_color=settings.ctm.MAIN_BG_COLOR, width=0, height=0) vrct_gui.main_topbar_center_container.grid(row=0, column=1, sticky="nsew") @@ -88,7 +88,7 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable): main_topbar_column+=1 - vrct_gui.update_available_container.rowconfigure((0,2), weight=1) + vrct_gui.update_available_container.grid_rowconfigure((0,2), weight=1) vrct_gui.update_available_icon = CTkLabel( vrct_gui.update_available_container, diff --git a/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py b/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py index 0f22ffae..de928a32 100644 --- a/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py +++ b/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py @@ -51,7 +51,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): def createLanguageSettingBox(parent_widget, var_title_text, title_text_attr_name, arrow_img_attr_name, 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(1, weight=1) + sls__box.grid_columnconfigure(1, 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=10, pady=settings.uism.SLS__BOX_IPADY, sticky="ew") diff --git a/vrct_gui/main_window/widgets/create_entry_message_box.py b/vrct_gui/main_window/widgets/create_entry_message_box.py index 0e95c550..e583234f 100644 --- a/vrct_gui/main_window/widgets/create_entry_message_box.py +++ b/vrct_gui/main_window/widgets/create_entry_message_box.py @@ -5,7 +5,7 @@ def createEntryMessageBox(settings, main_window): main_window.main_entry_message_container.grid(row=2, column=0, sticky="ew") - main_window.main_entry_message_container.columnconfigure(0, weight=1) + main_window.main_entry_message_container.grid_columnconfigure(0, weight=1) main_window.entry_message_box = CTkEntry( main_window.main_entry_message_container, border_color=settings.ctm.TEXTBOX_ENTRY_BORDER_COLOR, diff --git a/vrct_gui/main_window/widgets/create_textbox.py b/vrct_gui/main_window/widgets/create_textbox.py index 891e78cb..ce1f2e7a 100644 --- a/vrct_gui/main_window/widgets/create_textbox.py +++ b/vrct_gui/main_window/widgets/create_textbox.py @@ -114,7 +114,7 @@ def createTextbox(settings, main_window, view_variable): - target_widget.columnconfigure((0,2), weight=1) + target_widget.grid_columnconfigure((0,2), weight=1) setattr(main_window, "label_widget", CTkLabel( target_widget, textvariable=textbox_setting["textvariable"], From 0b5b3a62fe3ca31c33f54adf3230a60259d9f928 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 16:14:31 +0900 Subject: [PATCH 07/12] =?UTF-8?q?[Update]=20Main=20Window:=20Language=20Se?= =?UTF-8?q?lectable=20Window.=20UI=20Size=E5=A4=89=E6=9B=B4=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- view.py | 2 +- vrct_gui/_CreateModalWindow.py | 2 +- vrct_gui/_CreateSelectableLanguagesWindow.py | 21 ++++++++++++-------- vrct_gui/ui_managers/UiScalingManager.py | 17 ++++++++++++++++ 4 files changed, 32 insertions(+), 10 deletions(-) diff --git a/view.py b/view.py index 297b2fcb..aea0c93b 100644 --- a/view.py +++ b/view.py @@ -49,7 +49,7 @@ class View(): self.settings.selectable_language_window = SimpleNamespace( ctm=all_ctm.selectable_language_window, - uism=all_uism.config_window, + uism=all_uism.selectable_language_window, **common_args ) diff --git a/vrct_gui/_CreateModalWindow.py b/vrct_gui/_CreateModalWindow.py index 17dcd421..2e4ba26b 100644 --- a/vrct_gui/_CreateModalWindow.py +++ b/vrct_gui/_CreateModalWindow.py @@ -29,7 +29,7 @@ class _CreateModalWindow(CTkToplevel): self.height_new = self.attach_window.winfo_height() - 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)) self.grid_rowconfigure(0,weight=1) self.grid_columnconfigure(0,weight=1) diff --git a/vrct_gui/_CreateSelectableLanguagesWindow.py b/vrct_gui/_CreateSelectableLanguagesWindow.py index 8b559a7a..8ca5810c 100644 --- a/vrct_gui/_CreateSelectableLanguagesWindow.py +++ b/vrct_gui/_CreateSelectableLanguagesWindow.py @@ -43,7 +43,7 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): self.height_new = self.attach.winfo_height() - 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)) @@ -70,7 +70,7 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): def _createContainer(self): - self.grid_rowconfigure(0, minsize=50) + self.grid_rowconfigure(0, minsize=self.settings.uism.TOP_BAR_MIN_HEIGHT) self.grid_rowconfigure(1, weight=1) self.grid_columnconfigure(0, weight=1) self.top_container = CTkFrame(self, corner_radius=0, fg_color=self.settings.ctm.TOP_BG_COLOR, width=0, height=0) @@ -87,11 +87,11 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): textvariable=self._view_variable.VAR_GO_BACK_LABEL_SELECTABLE_LANGUAGE, height=0, corner_radius=0, - font=CTkFont(family=self.settings.FONT_FAMILY, size=14, weight="normal"), + font=CTkFont(family=self.settings.FONT_FAMILY, size=self.settings.uism.GO_BACK_BUTTON_LABEL_FONT_SIZE, weight="normal"), anchor="w", text_color=self.settings.ctm.BASIC_TEXT_COLOR, ) - self.go_back_button_label.grid(row=0, column=0, padx=10, pady=8) + self.go_back_button_label.grid(row=0, column=0, padx=self.settings.uism.GO_BACK_BUTTON_IPADX, pady=self.settings.uism.GO_BACK_BUTTON_IPADY) bindEnterAndLeaveColor([self.go_back_button_container, self.go_back_button_label], self.settings.ctm.GO_BACK_BUTTON_BG_HOVERED_COLOR, self.settings.ctm.GO_BACK_BUTTON_BG_COLOR) @@ -112,7 +112,7 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): textvariable=self._view_variable.VAR_TITLE_LABEL_SELECTABLE_LANGUAGE, height=0, corner_radius=0, - font=CTkFont(family=self.settings.FONT_FAMILY, size=18, weight="normal"), + font=CTkFont(family=self.settings.FONT_FAMILY, size=self.settings.uism.TITLE_FONT_SIZE, weight="normal"), anchor="w", text_color=self.settings.ctm.TITLE_TEXT_COLOR, ) @@ -124,6 +124,11 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): self.scroll_frame_container = CTkScrollableFrame(self, corner_radius=0, fg_color=self.settings.ctm.MAIN_BG_COLOR, width=self.width_new, height=self.height_new) self.scroll_frame_container.grid(row=1, column=0, sticky="nsew") + self.scroll_frame_container._scrollbar.grid_configure(padx=self.settings.uism.SCROLLBAR_IPADX) + + # This is for CustomTkinter's spec change or bug fix. + self.scroll_frame_container._scrollbar.configure(height=0) + self.scroll_frame_container._scrollbar.configure(width=self.settings.uism.SCROLLBAR_WIDTH) self.container = CTkFrame(self.scroll_frame_container, corner_radius=0, fg_color=self.settings.ctm.MAIN_BG_COLOR, width=0, height=0) @@ -138,7 +143,7 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): for selectable_language_name in self._view_variable.LIST_SELECTABLE_LANGUAGES: self.wrapper = CTkFrame(self.container, corner_radius=0, fg_color=self.settings.ctm.LANGUAGE_BUTTON_BG_COLOR, width=0, height=0, cursor="hand2") - self.wrapper.grid(row=row, column=column, ipadx=6, ipady=6, sticky="nsew") + self.wrapper.grid(row=row, column=column, sticky="nsew") setattr(self, f"{row}_{column}", self.wrapper) @@ -150,13 +155,13 @@ class _CreateSelectableLanguagesWindow(CTkToplevel): text=selectable_language_name_for_text, height=0, corner_radius=0, - font=CTkFont(family=self.settings.FONT_FAMILY, size=14, weight="normal"), + font=CTkFont(family=self.settings.FONT_FAMILY, size=self.settings.uism.VALUES_TEXT_FONT_SIZE, weight="normal"), anchor="w", text_color=self.settings.ctm.BASIC_TEXT_COLOR, ) # setattr(self, f"l", label_widget) - label_widget.grid(row=1, column=0, padx=(8,0)) + label_widget.grid(row=1, column=0, padx=self.settings.uism.VALUES_TEXT_IPADX, pady=self.settings.uism.VALUES_TEXT_IPADY) diff --git a/vrct_gui/ui_managers/UiScalingManager.py b/vrct_gui/ui_managers/UiScalingManager.py index 6389d995..2e338d69 100644 --- a/vrct_gui/ui_managers/UiScalingManager.py +++ b/vrct_gui/ui_managers/UiScalingManager.py @@ -6,6 +6,7 @@ class UiScalingManager(): self.SCALING_FLOAT = max(scaling_float, 0.4) self.main = SimpleNamespace() self.config_window = SimpleNamespace() + self.selectable_language_window = SimpleNamespace() self.modal_window = SimpleNamespace() self._calculatedUiSizes() @@ -102,6 +103,22 @@ class UiScalingManager(): self.main.MINIMIZE_SIDEBAR_BUTTON_ICON_SIZE_Y = self._calculateUiSize(26) + + # Selectable Language Window + self.selectable_language_window.TOP_BAR_MIN_HEIGHT = self._calculateUiSize(50) + self.selectable_language_window.SCROLLBAR_IPADX = (self._calculateUiSize(2), self._calculateUiSize(2)) + self.selectable_language_window.SCROLLBAR_WIDTH = self._calculateUiSize(16) + + self.selectable_language_window.GO_BACK_BUTTON_LABEL_FONT_SIZE = self._calculateUiSize(14) + self.selectable_language_window.GO_BACK_BUTTON_IPADX = self._calculateUiSize(10) + self.selectable_language_window.GO_BACK_BUTTON_IPADY = self._calculateUiSize(8) + self.selectable_language_window.TITLE_FONT_SIZE = self._calculateUiSize(18) + + self.selectable_language_window.VALUES_TEXT_FONT_SIZE = self._calculateUiSize(14) + self.selectable_language_window.VALUES_TEXT_IPADX = (self._calculateUiSize(8), 0) + self.selectable_language_window.VALUES_TEXT_IPADY = self._calculateUiSize(8) + + self.modal_window.TEXT_FONT_SIZE = self._calculateUiSize(20) # Top bar common From 998fa6d3dc5a886378668c7473bec34c54957cdc Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 16:48:12 +0900 Subject: [PATCH 08/12] [bugfix] Main Window: Fix the config button size when it is disabled. It changed size unexpectedly before. --- vrct_gui/_changeMainWindowWidgetsStatus.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vrct_gui/_changeMainWindowWidgetsStatus.py b/vrct_gui/_changeMainWindowWidgetsStatus.py index 43599b6e..6093ff43 100644 --- a/vrct_gui/_changeMainWindowWidgetsStatus.py +++ b/vrct_gui/_changeMainWindowWidgetsStatus.py @@ -102,12 +102,12 @@ def _changeMainWindowWidgetsStatus(vrct_gui, settings, view_variable, status, ta if status == "disabled": vrct_gui.sidebar_config_button_wrapper.configure(cursor="") vrct_gui.sidebar_config_button.configure( - image=CTkImage((settings.image_file.CONFIGURATION_ICON_DISABLED)), + image=CTkImage(settings.image_file.CONFIGURATION_ICON_DISABLED, size=COMPACT_MODE_ICON_SIZE_TUPLES), ) elif status == "normal": vrct_gui.sidebar_config_button_wrapper.configure(cursor="hand2") vrct_gui.sidebar_config_button.configure( - image=CTkImage((settings.image_file.CONFIGURATION_ICON)), + image=CTkImage(settings.image_file.CONFIGURATION_ICON, size=COMPACT_MODE_ICON_SIZE_TUPLES), ) From ee524bc57e5bc82049a0d81e756ba4bdb70d7d7a Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 18:28:06 +0900 Subject: [PATCH 09/12] =?UTF-8?q?[Update]=20Main=20Window:=20UI=20Size?= =?UTF-8?q?=E5=A4=89=E6=9B=B4=E5=AF=BE=E5=BF=9C.=20Sidebar=20Preset=20tabs?= =?UTF-8?q?,=20Option=20Menu's=20arrow=20images=20and=20Textbox(=5FptintTo?= =?UTF-8?q?Textbox.py).=20[Refactor]=20Main=20Window:=20Textbox(=5FptintTo?= =?UTF-8?q?Textbox.py)=20=E5=BF=85=E8=A6=81=E3=81=AE=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E3=81=AE=E5=89=8A=E9=99=A4=E3=81=A8?= =?UTF-8?q?=E7=B5=B1=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vrct_gui/_printToTextbox.py | 38 ++++++++----------- .../createSidebarLanguagesSettings.py | 14 +++---- vrct_gui/ui_managers/UiScalingManager.py | 17 ++++++++- vrct_gui/vrct_gui.py | 8 ++-- 4 files changed, 42 insertions(+), 35 deletions(-) diff --git a/vrct_gui/_printToTextbox.py b/vrct_gui/_printToTextbox.py index cb732f81..e99ab1c4 100644 --- a/vrct_gui/_printToTextbox.py +++ b/vrct_gui/_printToTextbox.py @@ -27,32 +27,26 @@ def _printToTextbox(vrct_gui, settings, target_type, original_message=None, tran # common tag settings # target_textbox._textbox.tag_configure("START", spacing1=16) - target_textbox._textbox.tag_configure("LABEL", font=CTkFont(family=settings.FONT_FAMILY, size=12, weight="normal")) - target_textbox._textbox.tag_configure("TIMESTAMP", font=CTkFont(family=settings.FONT_FAMILY, size=12, weight="normal"), foreground=settings.ctm.TEXTBOX_TIMESTAMP_TEXT_COLOR) - target_textbox._textbox.tag_configure("SECONDARY_TEXT_FONT", font=CTkFont(family=settings.FONT_FAMILY, size=12, weight="normal")) - target_textbox._textbox.tag_configure("MAIN_TEXT_FONT", font=CTkFont(family=settings.FONT_FAMILY, size=16, weight="normal")) + target_textbox._textbox.tag_configure("LABEL", font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.TEXTBOX_FONT_SIZE__LABEL, weight="normal")) + target_textbox._textbox.tag_configure("TIMESTAMP", font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.TEXTBOX_FONT_SIZE__TIMESTAMP, weight="normal"), foreground=settings.ctm.TEXTBOX_TIMESTAMP_TEXT_COLOR) + target_textbox._textbox.tag_configure("SECONDARY_TEXT_FONT", font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.TEXTBOX_FONT_SIZE__SECONDARY_TEXT_FONT, weight="normal")) + target_textbox._textbox.tag_configure("MAIN_TEXT_FONT", font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.TEXTBOX_FONT_SIZE__MAIN_TEXT_FONT, weight="normal")) # System Tag Settings - target_textbox.tag_config("SYSTEM_FOR_FIRST_INSERT", spacing1=16) + target_textbox.tag_config("FIRST_INSERT_SPACING", spacing1=settings.uism.TEXTBOX_FIRST_INSERT_SPACING) target_textbox.tag_config("SYSTEM_TAG", foreground=settings.ctm.TEXTBOX_SYSTEM_TAG_TEXT_COLOR) target_textbox.tag_config("SYSTEM_TEXT", foreground=settings.ctm.TEXTBOX_TEXT_SUB_COLOR) - target_textbox._textbox.tag_configure("SYSTEM_TEXT_FONT", font=CTkFont(family=settings.FONT_FAMILY, size=12, weight="normal")) + target_textbox._textbox.tag_configure("SYSTEM_TEXT_FONT", font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.TEXTBOX_FONT_SIZE__SYSTEM_TEXT_FONT, weight="normal")) # Sent Tag Settings - target_textbox.tag_config("SENT_FOR_FIRST_INSERT", spacing1=16) target_textbox.tag_config("SENT_TAG", foreground=settings.ctm.TEXTBOX_SENT_TAG_TEXT_COLOR) target_textbox.tag_config("SENT_TEXT", foreground=settings.ctm.TEXTBOX_TEXT_COLOR) target_textbox.tag_config("SENT_SUB_TEXT", foreground=settings.ctm.TEXTBOX_TEXT_SUB_COLOR) - target_textbox._textbox.tag_configure("SENT_MAIN_TEXT_FONT", font=CTkFont(family=settings.FONT_FAMILY, size=16, weight="normal")) - target_textbox._textbox.tag_configure("SENT_SECONDARY_TEXT_FONT", font=CTkFont(family=settings.FONT_FAMILY, size=12, weight="normal")) # Received Tag Settings - target_textbox.tag_config("RECEIVED_FOR_FIRST_INSERT", spacing1=16) target_textbox.tag_config("RECEIVED_TAG", foreground=settings.ctm.TEXTBOX_RECEIVED_TAG_TEXT_COLOR) target_textbox.tag_config("RECEIVED_TEXT", foreground=settings.ctm.TEXTBOX_TEXT_COLOR) target_textbox.tag_config("RECEIVED_SUB_TEXT", foreground=settings.ctm.TEXTBOX_TEXT_SUB_COLOR) - target_textbox._textbox.tag_configure("RECEIVED_MAIN_TEXT_FONT", font=CTkFont(family=settings.FONT_FAMILY, size=16, weight="normal")) - target_textbox._textbox.tag_configure("RECEIVED_SECONDARY_TEXT_FONT", font=CTkFont(family=settings.FONT_FAMILY, size=12, weight="normal")) FAKE_MARGIN = " " # insert @@ -60,32 +54,32 @@ def _printToTextbox(vrct_gui, settings, target_type, original_message=None, tran target_textbox.insert("end", "\n") match (target_type): case "SYSTEM": - target_textbox.insert("end", "System", ("SYSTEM_TAG", "SYSTEM_FOR_FIRST_INSERT", "JUSTIFY_CENTER")) + target_textbox.insert("end", "System", ("SYSTEM_TAG", "FIRST_INSERT_SPACING", "JUSTIFY_CENTER", "LABEL")) target_textbox.insert("end", FAKE_MARGIN+original_message+FAKE_MARGIN, ("SYSTEM_TEXT", "SYSTEM_TEXT_FONT", "JUSTIFY_CENTER")) target_textbox.insert("end", now_hm, ("TIMESTAMP", "JUSTIFY_CENTER")) case "SENT": - target_textbox.insert("end", now_hm, ("TIMESTAMP", "SENT_FOR_FIRST_INSERT", "JUSTIFY_RIGHT")) - target_textbox.insert("end", FAKE_MARGIN+"Sent", ("SENT_TAG")) + target_textbox.insert("end", now_hm, ("TIMESTAMP", "FIRST_INSERT_SPACING", "JUSTIFY_RIGHT")) + target_textbox.insert("end", FAKE_MARGIN+"Sent", ("SENT_TAG", "LABEL")) target_textbox.insert("end", "\n") if is_only_one_message is False: - target_textbox.insert("end", original_message, ("SENT_SUB_TEXT", "SENT_SECONDARY_TEXT_FONT", "JUSTIFY_RIGHT")) + target_textbox.insert("end", original_message, ("SENT_SUB_TEXT", "SECONDARY_TEXT_FONT", "JUSTIFY_RIGHT")) target_textbox.insert("end", "\n") - target_textbox.insert("end", translated_message, ("SENT_TEXT", "SENT_MAIN_TEXT_FONT", "JUSTIFY_RIGHT")) + target_textbox.insert("end", translated_message, ("SENT_TEXT", "MAIN_TEXT_FONT", "JUSTIFY_RIGHT")) else: - target_textbox.insert("end", original_message, ("SENT_TEXT", "SENT_MAIN_TEXT_FONT", "JUSTIFY_RIGHT")) + target_textbox.insert("end", original_message, ("SENT_TEXT", "MAIN_TEXT_FONT", "JUSTIFY_RIGHT")) case "RECEIVED": - target_textbox.insert("end", "Received", ("RECEIVED_TAG", "RECEIVED_FOR_FIRST_INSERT", "JUSTIFY_LEFT")) + target_textbox.insert("end", "Received", ("RECEIVED_TAG", "FIRST_INSERT_SPACING", "JUSTIFY_LEFT", "LABEL")) target_textbox.insert("end", FAKE_MARGIN+now_hm, ("TIMESTAMP")) if is_only_one_message is False: target_textbox.insert("end", "\n") - target_textbox.insert("end", original_message, ("RECEIVED_SUB_TEXT", "RECEIVED_SECONDARY_TEXT_FONT")) + target_textbox.insert("end", original_message, ("RECEIVED_SUB_TEXT", "SECONDARY_TEXT_FONT")) target_textbox.insert("end", "\n") - target_textbox.insert("end", translated_message, ("RECEIVED_TEXT", "RECEIVED_MAIN_TEXT_FONT", "JUSTIFY_LEFT")) + target_textbox.insert("end", translated_message, ("RECEIVED_TEXT", "MAIN_TEXT_FONT", "JUSTIFY_LEFT")) else: target_textbox.insert("end", "\n") - target_textbox.insert("end", original_message, ("RECEIVED_TEXT", "RECEIVED_MAIN_TEXT_FONT", "JUSTIFY_LEFT")) + target_textbox.insert("end", original_message, ("RECEIVED_TEXT", "MAIN_TEXT_FONT", "JUSTIFY_LEFT")) target_textbox.configure(state="disabled") target_textbox.see("end") diff --git a/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py b/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py index de928a32..132cd86b 100644 --- a/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py +++ b/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py @@ -54,7 +54,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): sls__box.grid_columnconfigure(1, 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=10, pady=settings.uism.SLS__BOX_IPADY, sticky="ew") + sls__box_wrapper.grid(row=2, column=1, padx=settings.uism.SLS__BOX_IPADX, pady=settings.uism.SLS__BOX_IPADY, sticky="ew") sls__box_wrapper.grid_columnconfigure(0, weight=1) @@ -86,13 +86,13 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): optionmenu_hovered_bg_color=settings.ctm.SLS__OPTIONMENU_HOVERED_BG_COLOR, optionmenu_clicked_bg_color=settings.ctm.SLS__OPTIONMENU_CLICKED_BG_COLOR, optionmenu_ipadx=(0,0), - optionmenu_ipady=2, + optionmenu_ipady=settings.uism.SLS__BOX_OPTION_MENU_IPADY, variable=variable, font_family=settings.FONT_FAMILY, - font_size=settings.uism.SLS__BOX_DROPDOWN_MENU_FONT_SIZE, + font_size=settings.uism.SLS__BOX_OPTION_MENU_FONT_SIZE, text_color=settings.ctm.LABELS_TEXT_COLOR, image_file=settings.image_file.ARROW_LEFT.rotate(180), - image_size=(20,20), + image_size=settings.uism.SLS__BOX_OPTION_MENU_ARROW_IMAGE_SIZE, optionmenu_clicked_command=open_selectable_language_window_command, optionmenu_position="center", @@ -127,7 +127,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): # Presets buttons main_window.sidebar_bg_container.grid_rowconfigure(2, weight=1) - main_window.sls__presets_buttons_container = CTkFrame(main_window.sls__container, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=30) + main_window.sls__presets_buttons_container = CTkFrame(main_window.sls__container, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=settings.uism.SLS__PRESET_TAB_NUMBER_HEIGHT) main_window.sls__presets_buttons_container.grid(row=1, column=0, sticky="nsew") main_window.sls__presets_buttons_box = CTkFrame(main_window.sls__presets_buttons_container, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=0) @@ -165,10 +165,10 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): preset_tab_attr_name, CTkFrame( main_window.sls__presets_buttons_box, - corner_radius=6, + corner_radius=settings.uism.SLS__PRESET_TAB_NUMBER_CORNER_RADIUS, fg_color=settings.ctm.SLS__PRESETS_TAB_BG_PASSIVE_COLOR, width=0, - height=36, + height=settings.uism.SLS__PRESET_TAB_NUMBER_ADJUSTED_HEIGHT, cursor="hand2", ) ) diff --git a/vrct_gui/ui_managers/UiScalingManager.py b/vrct_gui/ui_managers/UiScalingManager.py index 2e338d69..b38874f0 100644 --- a/vrct_gui/ui_managers/UiScalingManager.py +++ b/vrct_gui/ui_managers/UiScalingManager.py @@ -31,6 +31,13 @@ class UiScalingManager(): self.main.TEXTBOX_TAB_PADX = self._calculateUiSize(10) self.main.TEXTBOX_TAB_PADY = (self._calculateUiSize(4), self._calculateUiSize(10)) + self.main.TEXTBOX_FIRST_INSERT_SPACING = self._calculateUiSize(16) + self.main.TEXTBOX_FONT_SIZE__LABEL = self._calculateUiSize(12) + self.main.TEXTBOX_FONT_SIZE__TIMESTAMP = self._calculateUiSize(12) + self.main.TEXTBOX_FONT_SIZE__SYSTEM_TEXT_FONT = self._calculateUiSize(12) + self.main.TEXTBOX_FONT_SIZE__SECONDARY_TEXT_FONT = self._calculateUiSize(12) + self.main.TEXTBOX_FONT_SIZE__MAIN_TEXT_FONT = self._calculateUiSize(16) + self.main.TEXTBOX_ENTRY_FONT_SIZE = self._calculateUiSize(16) self.main.TEXTBOX_ENTRY_HEIGHT = self._calculateUiSize(40) self.main.TEXTBOX_ENTRY_PADX = self.main.TEXTBOX_PADX @@ -65,12 +72,18 @@ class UiScalingManager(): self.main.SLS__TITLE_PADY = (self._calculateUiSize(12), self._calculateUiSize(6)) self.main.SLS__PRESET_TAB_NUMBER_FONT_SIZE = self._calculateUiSize(16) + self.main.SLS__PRESET_TAB_NUMBER_HEIGHT = self._calculateUiSize(30) + self.main.SLS__PRESET_TAB_NUMBER_CORNER_RADIUS = self._calculateUiSize(6) + self.main.SLS__PRESET_TAB_NUMBER_ADJUSTED_HEIGHT = self._calculateUiSize(36) self.main.SLS__BOX_SECTION_TITLE_FONT_SIZE = self._calculateUiSize(16) self.main.SLS__BOX_SECTION_TITLE_BOTTOM_PADY = self._calculateUiSize(10) + self.main.SLS__BOX_IPADX = self._calculateUiSize(10) self.main.SLS__BOX_IPADY = (self._calculateUiSize(8),self._calculateUiSize(18)) - self.main.SLS__BOX_DROPDOWN_MENU_FONT_SIZE = self._calculateUiSize(14) - self.main.SLS__BOX_DROPDOWN_MENU_WIDTH = self._calculateUiSize(200) + self.main.SLS__BOX_OPTION_MENU_FONT_SIZE = self._calculateUiSize(14) + self.main.SLS__BOX_OPTION_MENU_IPADY = self._calculateUiSize(2) + self.main.SLS__BOX_OPTION_MENU_ARROW_IMAGE_SIZE = (self._calculateUiSize(20), self._calculateUiSize(20)) + # self.main.SLS__BOX_OPTION_MENU_WIDTH = self._calculateUiSize(200) self.main.SLS__BOX_ARROWS_PADY = self._calculateUiSize(10) self.main.SLS__BOX_ARROWS_IMAGE_SIZE = self.dupTuple(self._calculateUiSize(16)) self.main.SLS__BOX_ARROWS_DESC_FONT_SIZE = self._calculateUiSize(12) diff --git a/vrct_gui/vrct_gui.py b/vrct_gui/vrct_gui.py index 9f07392c..6102937b 100644 --- a/vrct_gui/vrct_gui.py +++ b/vrct_gui/vrct_gui.py @@ -126,7 +126,7 @@ class VRCT_GUI(CTk): # print("target", self._view_variable.IS_OPENED_SELECTABLE_TARGET_LANGUAGE_WINDOW) if selectable_language_window_type == "your_language": if self._view_variable.IS_OPENED_SELECTABLE_YOUR_LANGUAGE_WINDOW is False: - self.sls__arrow_img_your_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT),size=(20,20))) + self.sls__arrow_img_your_language.configure(image=CTkImage(self.settings.main.image_file.ARROW_LEFT, size=self.settings.main.uism.SLS__BOX_OPTION_MENU_ARROW_IMAGE_SIZE)) self._view_variable.IS_OPENED_SELECTABLE_YOUR_LANGUAGE_WINDOW = True self._view_variable.IS_OPENED_SELECTABLE_TARGET_LANGUAGE_WINDOW = False else: @@ -135,7 +135,7 @@ class VRCT_GUI(CTk): elif selectable_language_window_type == "target_language": if self._view_variable.IS_OPENED_SELECTABLE_TARGET_LANGUAGE_WINDOW is False: - 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.configure(image=CTkImage(self.settings.main.image_file.ARROW_LEFT, size=self.settings.main.uism.SLS__BOX_OPTION_MENU_ARROW_IMAGE_SIZE)) self._view_variable.IS_OPENED_SELECTABLE_TARGET_LANGUAGE_WINDOW = True self._view_variable.IS_OPENED_SELECTABLE_YOUR_LANGUAGE_WINDOW = False else: @@ -150,8 +150,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.sls__arrow_img_your_language.configure(image=CTkImage(self.settings.main.image_file.ARROW_LEFT.rotate(180), size=self.settings.main.uism.SLS__BOX_OPTION_MENU_ARROW_IMAGE_SIZE)) + self.sls__arrow_img_target_language.configure(image=CTkImage(self.settings.main.image_file.ARROW_LEFT.rotate(180), size=self.settings.main.uism.SLS__BOX_OPTION_MENU_ARROW_IMAGE_SIZE)) self.selectable_languages_window.withdraw() From 7d33a6dff291d4ea1176e33ef3d9ccde5605857f Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 18:48:28 +0900 Subject: [PATCH 10/12] =?UTF-8?q?[Update]=20UI=20Size=E5=A4=89=E6=9B=B4?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C.=20Main=20Window=20Root=20Geometry.=20Config?= =?UTF-8?q?=20Window=20Root=20Geometry(tmp)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vrct_gui/config_window/ConfigWindow.py | 2 +- vrct_gui/main_window/createMainWindowWidgets.py | 5 ++--- vrct_gui/ui_managers/UiScalingManager.py | 6 ++++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/vrct_gui/config_window/ConfigWindow.py b/vrct_gui/config_window/ConfigWindow.py index 4e469de2..81247055 100644 --- a/vrct_gui/config_window/ConfigWindow.py +++ b/vrct_gui/config_window/ConfigWindow.py @@ -14,7 +14,7 @@ class ConfigWindow(CTkToplevel): # configure window self.after(200, lambda: self.iconbitmap(getImagePath("vrct_logo_mark_black.ico"))) self.title("Settings") - self.geometry(f"{1080}x{680}") + self.geometry(f"{settings.uism.DEFAULT_WIDTH}x{settings.uism.DEFAULT_HEIGHT}") self.configure(fg_color="#ff7f50") diff --git a/vrct_gui/main_window/createMainWindowWidgets.py b/vrct_gui/main_window/createMainWindowWidgets.py index 78436481..c3707f93 100644 --- a/vrct_gui/main_window/createMainWindowWidgets.py +++ b/vrct_gui/main_window/createMainWindowWidgets.py @@ -11,12 +11,11 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable): vrct_gui.iconbitmap(getImagePath("vrct_logo_mark_black.ico")) vrct_gui.title("VRCT") - vrct_gui.geometry(f"{880}x{640}") - vrct_gui.minsize(400, 175) + vrct_gui.minsize(200, 200) # Main Container - vrct_gui.grid_columnconfigure(1, weight=1) + vrct_gui.grid_columnconfigure(1, weight=1, minsize=settings.uism.MAIN_AREA_MIN_WIDTH) vrct_gui.configure(fg_color="#ff7f50") diff --git a/vrct_gui/ui_managers/UiScalingManager.py b/vrct_gui/ui_managers/UiScalingManager.py index b38874f0..d2fcb257 100644 --- a/vrct_gui/ui_managers/UiScalingManager.py +++ b/vrct_gui/ui_managers/UiScalingManager.py @@ -23,6 +23,8 @@ class UiScalingManager(): # Main + self.main.MAIN_AREA_MIN_WIDTH = self._calculateUiSize(640) + self.main.TEXTBOX_PADX = self._calculateUiSize(16) self.main.TEXTBOX_CORNER_RADIUS = self._calculateUiSize(6) @@ -134,6 +136,10 @@ class UiScalingManager(): self.modal_window.TEXT_FONT_SIZE = self._calculateUiSize(20) + # Config Window + self.config_window.DEFAULT_WIDTH = self._calculateUiSize(1080) + self.config_window.DEFAULT_HEIGHT = self._calculateUiSize(680) + # Top bar common self.config_window.TOP_BAR__HEIGHT = self._calculateUiSize(40) self.config_window.TOP_BAR__IPADY = self._calculateUiSize(12) From 7b804aba445afe40d4c6e47c7f838b97509847e8 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 19:02:02 +0900 Subject: [PATCH 11/12] =?UTF-8?q?[Refactor]=20=E5=A4=89=E6=95=B0=E5=90=8D?= =?UTF-8?q?=E5=A4=89=E6=9B=B4=E3=80=81=E7=B5=B1=E4=B8=80=E3=80=82=20grid?= =?UTF-8?q?=5Frow/columnconfigure=E3=81=AA=E3=81=A9=E3=81=A7minsize?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E3=81=97=E3=81=A6=E3=81=84=E3=82=8B=E5=A4=89?= =?UTF-8?q?=E6=95=B0=E3=81=AFMIN=5F=E3=82=92=E3=81=A4=E3=81=91=E3=82=8B?= =?UTF-8?q?=E3=80=82=5FMIN=5FHEIGHT=E3=82=84=5FMIN=5FWIDTH=E3=81=AA?= =?UTF-8?q?=E3=81=A9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config_window/widgets/createConfigWindowTitle.py | 4 ++-- .../setting_box_containers/_SettingBoxGenerator.py | 6 +++--- vrct_gui/main_window/widgets/create_sidebar.py | 4 ++-- vrct_gui/ui_managers/UiScalingManager.py | 10 +++++----- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/vrct_gui/config_window/widgets/createConfigWindowTitle.py b/vrct_gui/config_window/widgets/createConfigWindowTitle.py index 302d8ccc..87d38480 100644 --- a/vrct_gui/config_window/widgets/createConfigWindowTitle.py +++ b/vrct_gui/config_window/widgets/createConfigWindowTitle.py @@ -2,8 +2,8 @@ from customtkinter import CTkFont, CTkFrame, CTkLabel, CTkImage def createConfigWindowTitle(config_window, settings): - config_window.grid_columnconfigure(0, weight=0, minsize=settings.uism.TOP_BAR_SIDE__WIDTH) - config_window.grid_rowconfigure(0, weight=0, minsize=settings.uism.TOP_BAR__HEIGHT) + config_window.grid_columnconfigure(0, weight=0, minsize=settings.uism.TOP_BAR_SIDE_AREA_MIN_WIDTH) + config_window.grid_rowconfigure(0, weight=0, minsize=settings.uism.TOP_BAR__MIN_HEIGHT) config_window.side_menu_config_window_title_logo_frame = CTkFrame(config_window, corner_radius=0, fg_color=settings.ctm.TOP_BAR_BG_COLOR, width=0, height=0) config_window.side_menu_config_window_title_logo_frame.grid(row=0, column=0, sticky="nsew") 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 0abcc4c4..5705031e 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 @@ -27,8 +27,8 @@ class _SettingBoxGenerator(): setting_box_frame_wrapper = CTkFrame(setting_box_frame, corner_radius=0, fg_color=self.settings.ctm.SB__BG_COLOR, width=0, height=0) setting_box_frame_wrapper.grid(row=0, column=0, padx=self.settings.uism.SB__IPADX, pady=self.settings.uism.SB__IPADY, sticky="ew") - setting_box_frame_wrapper.grid_columnconfigure(0, weight=0, minsize=int(self.settings.uism.SB__MAIN_WIDTH / 2)) - setting_box_frame_wrapper.grid_columnconfigure(2, weight=1, minsize=int(self.settings.uism.SB__MAIN_WIDTH / 2)) + setting_box_frame_wrapper.grid_columnconfigure(0, weight=0, minsize=int(self.settings.uism.MAIN_AREA_MIN_WIDTH / 2)) + setting_box_frame_wrapper.grid_columnconfigure(2, weight=1, minsize=int(self.settings.uism.MAIN_AREA_MIN_WIDTH / 2)) setting_box_frame_wrapper_fix_border = CTkFrame(setting_box_frame, corner_radius=0, width=0, height=0) setting_box_frame_wrapper_fix_border.grid(row=1, column=0, sticky="ew") @@ -67,7 +67,7 @@ class _SettingBoxGenerator(): anchor="w", justify="left", # height=0, - wraplength=int(self.settings.uism.SB__MAIN_WIDTH / 2), + wraplength=int(self.settings.uism.MAIN_AREA_MIN_WIDTH / 2), 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 ) diff --git a/vrct_gui/main_window/widgets/create_sidebar.py b/vrct_gui/main_window/widgets/create_sidebar.py index 75aecb91..32aad519 100644 --- a/vrct_gui/main_window/widgets/create_sidebar.py +++ b/vrct_gui/main_window/widgets/create_sidebar.py @@ -16,8 +16,8 @@ def createSidebar(settings, main_window, view_variable): main_window.sidebar_compact_mode_bg_container = CTkFrame(main_window.sidebar_bg_container_wrapper, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=0) - main_window.sidebar_bg_container.grid_columnconfigure(0, weight=0, minsize=settings.uism.SIDEBAR_WIDTH) - main_window.sidebar_compact_mode_bg_container.grid_columnconfigure(0, weight=0, minsize=settings.uism.COMPACT_MODE_SIDEBAR_WIDTH) + main_window.sidebar_bg_container.grid_columnconfigure(0, weight=0, minsize=settings.uism.SIDEBAR_MIN_WIDTH) + main_window.sidebar_compact_mode_bg_container.grid_columnconfigure(0, weight=0, minsize=settings.uism.COMPACT_MODE_SIDEBAR_MIN_WIDTH) createSidebarFeatures(settings, main_window, view_variable) diff --git a/vrct_gui/ui_managers/UiScalingManager.py b/vrct_gui/ui_managers/UiScalingManager.py index d2fcb257..24acbd9b 100644 --- a/vrct_gui/ui_managers/UiScalingManager.py +++ b/vrct_gui/ui_managers/UiScalingManager.py @@ -49,8 +49,8 @@ class UiScalingManager(): # Sidebar - self.main.SIDEBAR_WIDTH = self._calculateUiSize(230) - self.main.COMPACT_MODE_SIDEBAR_WIDTH = self._calculateUiSize(60) + self.main.SIDEBAR_MIN_WIDTH = self._calculateUiSize(230) + self.main.COMPACT_MODE_SIDEBAR_MIN_WIDTH = self._calculateUiSize(60) # Sidebar Features self.main.SF__LOGO_MAX_SIZE = self._calculateUiSize(120) @@ -141,11 +141,11 @@ class UiScalingManager(): self.config_window.DEFAULT_HEIGHT = self._calculateUiSize(680) # Top bar common - self.config_window.TOP_BAR__HEIGHT = self._calculateUiSize(40) + self.config_window.TOP_BAR__MIN_HEIGHT = self._calculateUiSize(40) self.config_window.TOP_BAR__IPADY = self._calculateUiSize(12) # Top bar Side - self.config_window.TOP_BAR_SIDE__WIDTH = self._calculateUiSize(220) + self.config_window.TOP_BAR_SIDE_AREA_MIN_WIDTH = self._calculateUiSize(220) self.config_window.TOP_BAR_SIDE__CONFIG_LOGO_MARK_SIZE = self.dupTuple(self._calculateUiSize(28)) self.config_window.TOP_BAR_SIDE__CONFIG_TITLE_FONT_SIZE = self._calculateUiSize(22) self.config_window.TOP_BAR_SIDE__CONFIG_TITLE_LEFT_PADX = int(self.config_window.TOP_BAR_SIDE__CONFIG_TITLE_FONT_SIZE + self._calculateUiSize(16)) @@ -163,7 +163,7 @@ class UiScalingManager(): # Setting Box - self.config_window.SB__MAIN_WIDTH = self._calculateUiSize(720) + self.config_window.MAIN_AREA_MIN_WIDTH = self._calculateUiSize(720) self.config_window.SB__TOP_PADY_IF_WITH_SECTION_TITLE = (self._calculateUiSize(24)) self.config_window.SB__TOP_PADY_IF_WITHOUT_SECTION_TITLE = (self._calculateUiSize(64)) self.config_window.SB__BOTTOM_PADY = (self._calculateUiSize(40)) From 33ffa14edf75f0b96b2dc3cf4ed5d7821c982e66 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Tue, 10 Oct 2023 19:13:16 +0900 Subject: [PATCH 12/12] =?UTF-8?q?[Update]=20Config=20Window:=20=E3=82=BF?= =?UTF-8?q?=E3=82=A4=E3=83=88=E3=83=AB=E3=81=A8=E3=82=A6=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E3=83=89=E3=82=A6=E3=81=AE=E3=82=BF=E3=82=A4=E3=83=88=E3=83=AB?= =?UTF-8?q?=E3=81=AElocalize,=20UI=E6=97=A5=E6=9C=AC=E8=AA=9E=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- view.py | 1 + vrct_gui/config_window/ConfigWindow.py | 4 ++-- vrct_gui/config_window/widgets/createConfigWindowTitle.py | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/view.py b/view.py index aea0c93b..903285e3 100644 --- a/view.py +++ b/view.py @@ -136,6 +136,7 @@ class View(): CALLBACK_SELECTED_SETTING_BOX_TAB=None, VAR_ERROR_MESSAGE=StringVar(value=""), VAR_VERSION=StringVar(value=config.VERSION), + VAR_CONFIG_WINDOW_TITLE=StringVar(value=i18n.t("config_window.config_title")), # Side Menu Labels diff --git a/vrct_gui/config_window/ConfigWindow.py b/vrct_gui/config_window/ConfigWindow.py index 81247055..c8a59555 100644 --- a/vrct_gui/config_window/ConfigWindow.py +++ b/vrct_gui/config_window/ConfigWindow.py @@ -13,7 +13,6 @@ class ConfigWindow(CTkToplevel): # configure window self.after(200, lambda: self.iconbitmap(getImagePath("vrct_logo_mark_black.ico"))) - self.title("Settings") self.geometry(f"{settings.uism.DEFAULT_WIDTH}x{settings.uism.DEFAULT_HEIGHT}") @@ -23,10 +22,11 @@ class ConfigWindow(CTkToplevel): self.settings = settings self._view_variable = view_variable + self.title(self._view_variable.VAR_CONFIG_WINDOW_TITLE.get()) # 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) + createConfigWindowTitle(config_window=self, settings=self.settings, view_variable=self._view_variable) createSettingBoxTopBar(config_window=self, settings=self.settings, view_variable=self._view_variable) diff --git a/vrct_gui/config_window/widgets/createConfigWindowTitle.py b/vrct_gui/config_window/widgets/createConfigWindowTitle.py index 87d38480..4e949667 100644 --- a/vrct_gui/config_window/widgets/createConfigWindowTitle.py +++ b/vrct_gui/config_window/widgets/createConfigWindowTitle.py @@ -1,6 +1,6 @@ from customtkinter import CTkFont, CTkFrame, CTkLabel, CTkImage -def createConfigWindowTitle(config_window, settings): +def createConfigWindowTitle(config_window, settings, view_variable): config_window.grid_columnconfigure(0, weight=0, minsize=settings.uism.TOP_BAR_SIDE_AREA_MIN_WIDTH) config_window.grid_rowconfigure(0, weight=0, minsize=settings.uism.TOP_BAR__MIN_HEIGHT) @@ -18,7 +18,8 @@ def createConfigWindowTitle(config_window, settings): config_window.side_menu_config_window_title_logo_wrapper.grid_rowconfigure(0,weight=1) config_window.side_menu_config_window_title = CTkLabel( config_window.side_menu_config_window_title_logo_frame, - text="Settings", + # text="Settings", + textvariable=view_variable.VAR_CONFIG_WINDOW_TITLE, height=0, anchor="w", font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.TOP_BAR_SIDE__CONFIG_TITLE_FONT_SIZE, weight="bold"),