From cd16666aa74be2c795c79910570b4fa69026957f Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Wed, 6 Sep 2023 07:13:03 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[Add]=20Main=20Window:=20Text=20box?= =?UTF-8?q?=E5=9B=9E=E3=82=8A=E3=81=AE=E5=A4=89=E6=95=B0=E3=82=92view.py?= =?UTF-8?q?=E3=81=B8=E8=BF=BD=E5=8A=A0=E3=80=82=20Text=20box=E3=81=AEtab?= =?UTF-8?q?=E3=81=AE=E7=94=9F=E6=88=90=E6=96=B9=E6=B3=95=E3=82=92=E5=A4=89?= =?UTF-8?q?=E3=81=88=E3=81=9F=E3=81=9F=E3=82=81=E3=80=81=E7=84=A1=E9=A7=84?= =?UTF-8?q?=E3=81=AA=E5=87=A6=E7=90=86=E3=81=8C=E6=B8=9B=E3=81=A3=E3=81=9F?= =?UTF-8?q?=E3=80=82(=E3=83=A9=E3=83=99=E3=83=AB=E7=BE=A4=E3=81=AE?= =?UTF-8?q?=E4=B8=AD=E3=81=A7=E6=9C=80=E5=A4=A7=E6=96=87=E5=AD=97=E6=95=B0?= =?UTF-8?q?=E3=81=AB=E5=90=88=E3=82=8F=E3=81=9B=E3=81=A6=E4=B8=AD=E5=A4=AE?= =?UTF-8?q?=E6=8F=83=E3=81=88=20=E3=81=A8=E3=81=84=E3=81=86=E3=81=93?= =?UTF-8?q?=E3=81=A8=E3=81=8C=E3=81=97=E3=81=9F=E3=81=8B=E3=81=A3=E3=81=9F?= =?UTF-8?q?=E3=81=9F=E3=82=81=E3=81=AB=E4=BB=8A=E3=81=BE=E3=81=A7=E9=81=A0?= =?UTF-8?q?=E5=9B=9E=E3=82=8A=E3=81=AA=E3=81=93=E3=81=A8=E3=82=92=E3=81=97?= =?UTF-8?q?=E3=81=A6=E3=81=84=E3=81=9F=E3=80=82)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- view.py | 11 ++++- .../main_window/createMainWindowWidgets.py | 2 +- .../main_window/widgets/create_textbox.py | 47 +++++++------------ 3 files changed, 29 insertions(+), 31 deletions(-) diff --git a/view.py b/view.py index 50bd8f8f..d16fe3c4 100644 --- a/view.py +++ b/view.py @@ -37,6 +37,7 @@ class View(): self.view_variable = SimpleNamespace( # Main Window + # Sidebar # Sidebar Compact Mode IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=False, CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=None, @@ -54,7 +55,7 @@ class View(): VAR_LABEL_FOREGROUND=StringVar(value="Foreground"), CALLBACK_TOGGLE_FOREGROUND=None, - # Language Settings + # Sidebar Language Settings VAR_LABEL_LANGUAGE_SETTINGS=StringVar(value="Language Settings"), # JA: 言語設定 LIST_SELECTABLE_LANGUAGES=[], @@ -70,6 +71,14 @@ class View(): CALLBACK_SELECTED_TARGET_LANGUAGE=None, + VAR_LABEL_TEXTBOX_ALL=StringVar(value="All"), # JA: 全て + VAR_LABEL_TEXTBOX_SENT=StringVar(value="Sent"), # JA: 送信 + VAR_LABEL_TEXTBOX_RECEIVED=StringVar(value="Received"), # JA: 受信 + VAR_LABEL_TEXTBOX_SYSTEM=StringVar(value="System"), # JA: システム + + + + # Config Window # Appearance Tab diff --git a/vrct_gui/main_window/createMainWindowWidgets.py b/vrct_gui/main_window/createMainWindowWidgets.py index d55a66ed..4e65aa31 100644 --- a/vrct_gui/main_window/createMainWindowWidgets.py +++ b/vrct_gui/main_window/createMainWindowWidgets.py @@ -60,6 +60,6 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable): createMinimizeSidebarButton(settings, vrct_gui, view_variable) - createTextbox(settings, vrct_gui) + createTextbox(settings, vrct_gui, view_variable) createEntryMessageBox(settings, vrct_gui) \ No newline at end of file diff --git a/vrct_gui/main_window/widgets/create_textbox.py b/vrct_gui/main_window/widgets/create_textbox.py index eb301ba5..14a5ba5f 100644 --- a/vrct_gui/main_window/widgets/create_textbox.py +++ b/vrct_gui/main_window/widgets/create_textbox.py @@ -3,7 +3,7 @@ from customtkinter import CTkFont, CTkFrame, CTkLabel, CTkTextbox from ...ui_utils import getLatestWidth, getLongestText, bindEnterAndLeaveColor, bindButtonPressColor, bindButtonReleaseFunction, _setDefaultActiveTab, switchActiveTabAndPassiveTab, switchTabsColor -def createTextbox(settings, main_window): +def createTextbox(settings, main_window, view_variable): def switchTextbox(target_textbox_attr_name): main_window.current_active_textbox.grid_remove() @@ -78,70 +78,59 @@ def createTextbox(settings, main_window): "textbox_tab_attr_name": "textbox_tab_all", "command": switchToTextboxAll, "textbox_attr_name": "textbox_all", - "text": "All", + "textvariable": view_variable.VAR_LABEL_TEXTBOX_ALL }, { "textbox_tab_attr_name": "textbox_tab_sent", "command": switchToTextboxSent, "textbox_attr_name": "textbox_sent", - "text": "Sent", + "textvariable": view_variable.VAR_LABEL_TEXTBOX_SENT }, - { "textbox_tab_attr_name": "textbox_tab_received", "command": switchToTextboxReceived, "textbox_attr_name": "textbox_received", - "text": "Received", + "textvariable": view_variable.VAR_LABEL_TEXTBOX_RECEIVED }, - { "textbox_tab_attr_name": "textbox_tab_system", "command": switchToTextboxSystem, "textbox_attr_name": "textbox_system", - "text": "System", + "textvariable": view_variable.VAR_LABEL_TEXTBOX_SYSTEM }, ] - longest_text = getLongestText(textbox_settings) - - setattr(main_window, "_mlw", CTkLabel( - main_window, - text=longest_text, - corner_radius=0, - font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.TEXTBOX_TAB_FONT_SIZE, weight="normal"), - height=0, - anchor="center", - )) - label_widget = getattr(main_window, "_mlw") - label_widget.grid() - MAX_LABEL_WIDTH = getLatestWidth(label_widget) - label_widget.grid_remove() - - column=0 for textbox_setting in textbox_settings: - setattr(main_window, textbox_setting["textbox_tab_attr_name"], CTkFrame(main_window.textbox_switch_tabs_container, corner_radius=settings.uism.TEXTBOX_TAB_CORNER_RADIUS, fg_color=settings.ctm.TEXTBOX_TAB_BG_PASSIVE_COLOR, cursor="hand2", width=0, height=0) + setattr(main_window, textbox_setting["textbox_tab_attr_name"], + CTkFrame( + main_window.textbox_switch_tabs_container, + corner_radius=settings.uism.TEXTBOX_TAB_CORNER_RADIUS, + fg_color=settings.ctm.TEXTBOX_TAB_BG_PASSIVE_COLOR, + cursor="hand2", + width=0, + height=0 + ) ) target_widget = getattr(main_window, textbox_setting["textbox_tab_attr_name"]) target_widget.grid(row=0, column=column, pady=0, padx=(0,2), sticky="ew") + target_widget.columnconfigure((0,2), weight=1) setattr(main_window, "label_widget", CTkLabel( target_widget, - text=textbox_setting["text"], + textvariable=textbox_setting["textvariable"], corner_radius=0, font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.TEXTBOX_TAB_FONT_SIZE, weight="normal"), height=0, - width=MAX_LABEL_WIDTH, + width=0, anchor="center", text_color=settings.ctm.TEXTBOX_TAB_TEXT_PASSIVE_COLOR, )) label_widget = getattr(main_window, "label_widget") - label_widget.grid(row=0, column=column) - - label_widget.grid(row=0, column=column, pady=settings.uism.TEXTBOX_TAB_PADY, padx=settings.uism.TEXTBOX_TAB_PADX) + label_widget.grid(row=0, column=1, pady=settings.uism.TEXTBOX_TAB_PADY, padx=settings.uism.TEXTBOX_TAB_PADX) bindEnterAndLeaveColor([target_widget, label_widget], settings.ctm.TEXTBOX_TAB_BG_HOVERED_COLOR, settings.ctm.TEXTBOX_TAB_BG_PASSIVE_COLOR) bindButtonPressColor([target_widget, label_widget], settings.ctm.TEXTBOX_TAB_BG_CLICKED_COLOR, settings.ctm.TEXTBOX_TAB_BG_PASSIVE_COLOR) From b596f6df544d395fd029b0d4d73135f0da52e893 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Wed, 6 Sep 2023 07:47:06 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[bugfix]=20Main=20Window:=20Config=20Button?= =?UTF-8?q?=E3=81=8C=E3=80=81=E3=82=B5=E3=82=A4=E3=83=89=E3=83=90=E3=83=BC?= =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=91=E3=82=AF=E3=83=88=E3=83=A2=E3=83=BC?= =?UTF-8?q?=E3=83=89=E6=99=82=E3=81=AB=E8=A1=A8=E7=A4=BA=E3=81=95=E3=82=8C?= =?UTF-8?q?=E3=81=AA=E3=81=8B=E3=81=A3=E3=81=9F=E3=81=AE=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E3=80=82(=E7=84=A1=E7=90=86=E3=82=84=E3=82=8A)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../createSidebarLanguagesSettings.py | 39 +-------------- .../main_window/widgets/create_sidebar.py | 50 +++++++++++++++++-- 2 files changed, 47 insertions(+), 42 deletions(-) diff --git a/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py b/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py index 7bf7be09..a76be24d 100644 --- a/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py +++ b/vrct_gui/main_window/widgets/_create_sidebar/createSidebarLanguagesSettings.py @@ -274,41 +274,4 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable): command=selectTargetLanguageCommand, variable=view_variable.VAR_TARGET_LANGUAGE ) - main_window.sls__box_target_language.grid(row=4, column=0, padx=0, pady=(0,0),sticky="ew") - - - - - - # Config Button - main_window.sidebar_config_button_container = CTkFrame(main_window.sidebar_bg_container, corner_radius=0, fg_color=settings.ctm.CONFIG_BUTTON_BG_COLOR, width=0, height=0) - main_window.sidebar_config_button_container.grid(row=3, column=0, sticky="ew") - - - main_window.sidebar_config_button_container.grid_columnconfigure(0, weight=1) - main_window.sidebar_config_button_wrapper = CTkFrame(main_window.sidebar_config_button_container, corner_radius=settings.uism.SIDEBAR_CONFIG_BUTTON_CORNER_RADIUS, fg_color=settings.ctm.CONFIG_BUTTON_BG_COLOR, height=0, width=0, cursor="hand2") - main_window.sidebar_config_button_wrapper.grid(row=0, column=0, padx=settings.uism.SIDEBAR_CONFIG_BUTTON_PADX, pady=settings.uism.SIDEBAR_CONFIG_BUTTON_PADY, sticky="ew") - - - - - main_window.sidebar_config_button_wrapper.grid_columnconfigure(0, weight=1) - - settings.uism.CONFIG_BUTTON_PADX= 0 - main_window.sidebar_config_button = CTkLabel( - main_window.sidebar_config_button_wrapper, - text=None, - height=0, - image=CTkImage((settings.image_file.CONFIGURATION_ICON),size=(settings.COMPACT_MODE_ICON_SIZE,settings.COMPACT_MODE_ICON_SIZE)) - ) - main_window.sidebar_config_button.grid(row=0, column=0, padx=0, pady=settings.uism.SIDEBAR_CONFIG_BUTTON_IPADY) - - - bindButtonFunctionAndColor( - target_widgets=[main_window.sidebar_config_button_wrapper, main_window.sidebar_config_button], - enter_color=settings.ctm.CONFIG_BUTTON_HOVERED_BG_COLOR, - leave_color=settings.ctm.CONFIG_BUTTON_BG_COLOR, - clicked_color=settings.ctm.CONFIG_BUTTON_CLICKED_BG_COLOR, - buttonReleasedFunction=main_window.openConfigWindow, - ) - + main_window.sls__box_target_language.grid(row=4, column=0, padx=0, pady=(0,0),sticky="ew") \ No newline at end of file diff --git a/vrct_gui/main_window/widgets/create_sidebar.py b/vrct_gui/main_window/widgets/create_sidebar.py index 12323aad..95e4eec6 100644 --- a/vrct_gui/main_window/widgets/create_sidebar.py +++ b/vrct_gui/main_window/widgets/create_sidebar.py @@ -1,4 +1,6 @@ -from customtkinter import CTkFrame +from customtkinter import CTkFrame, CTkLabel, CTkImage + +from ...ui_utils import bindButtonFunctionAndColor from ._create_sidebar import createSidebarFeatures, createSidebarLanguagesSettings @@ -6,8 +8,12 @@ def createSidebar(settings, main_window, view_variable): # Side Bar Container main_window.grid_rowconfigure(0, weight=1) - main_window.sidebar_bg_container = CTkFrame(main_window, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=0) - main_window.sidebar_compact_mode_bg_container = CTkFrame(main_window, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=0) + main_window.sidebar_bg_container_wrapper = CTkFrame(main_window, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=0) + main_window.sidebar_bg_container_wrapper.grid(row=0, column=0, sticky="nsew") + + + main_window.sidebar_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_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) @@ -24,4 +30,40 @@ def createSidebar(settings, main_window, view_variable): if view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE: main_window.sidebar_bg_container.grid_remove() else: - main_window.sidebar_compact_mode_bg_container.grid_remove() \ No newline at end of file + main_window.sidebar_compact_mode_bg_container.grid_remove() + + + + # Config Button + main_window.sidebar_bg_container_wrapper.grid_rowconfigure(3, weight=1) + + main_window.sidebar_config_button_container = CTkFrame(main_window.sidebar_bg_container_wrapper, corner_radius=0, fg_color=settings.ctm.CONFIG_BUTTON_BG_COLOR, width=0, height=0) + main_window.sidebar_config_button_container.grid(row=4, column=0, sticky="sew") + + + main_window.sidebar_config_button_container.grid_columnconfigure(0, weight=1) + main_window.sidebar_config_button_wrapper = CTkFrame(main_window.sidebar_config_button_container, corner_radius=settings.uism.SIDEBAR_CONFIG_BUTTON_CORNER_RADIUS, fg_color=settings.ctm.CONFIG_BUTTON_BG_COLOR, height=0, width=0, cursor="hand2") + main_window.sidebar_config_button_wrapper.grid(row=0, column=0, padx=settings.uism.SIDEBAR_CONFIG_BUTTON_PADX, pady=settings.uism.SIDEBAR_CONFIG_BUTTON_PADY, sticky="ew") + + + + + main_window.sidebar_config_button_wrapper.grid_columnconfigure(0, weight=1) + + settings.uism.CONFIG_BUTTON_PADX = 0 + main_window.sidebar_config_button = CTkLabel( + main_window.sidebar_config_button_wrapper, + text=None, + height=0, + image=CTkImage((settings.image_file.CONFIGURATION_ICON),size=(settings.COMPACT_MODE_ICON_SIZE,settings.COMPACT_MODE_ICON_SIZE)) + ) + main_window.sidebar_config_button.grid(row=0, column=0, padx=0, pady=settings.uism.SIDEBAR_CONFIG_BUTTON_IPADY) + + + bindButtonFunctionAndColor( + target_widgets=[main_window.sidebar_config_button_wrapper, main_window.sidebar_config_button], + enter_color=settings.ctm.CONFIG_BUTTON_HOVERED_BG_COLOR, + leave_color=settings.ctm.CONFIG_BUTTON_BG_COLOR, + clicked_color=settings.ctm.CONFIG_BUTTON_CLICKED_BG_COLOR, + buttonReleasedFunction=main_window.openConfigWindow, + ) \ No newline at end of file