From cb434717e001857187ac02f06982f060f389754c Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Thu, 31 Aug 2023 15:59:07 +0900 Subject: [PATCH] =?UTF-8?q?add=20UI=20to=20config=5Fwindow=20compact=5Fmod?= =?UTF-8?q?e=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E3=82=B9=E3=82=A4?= =?UTF-8?q?=E3=83=83=E3=83=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vrct_gui/config_window/ConfigWindow.py | 7 +-- vrct_gui/config_window/widgets/__init__.py | 2 +- .../createSettingBoxTopBar/__init__.py | 1 + .../_createSettingBoxCompactModeButton.py | 56 +++++++++++++++++++ .../_createSettingBoxTitle.py} | 8 +-- .../createSettingBoxTopBar.py | 15 +++++ 6 files changed, 80 insertions(+), 9 deletions(-) create mode 100644 vrct_gui/config_window/widgets/createSettingBoxTopBar/__init__.py create mode 100644 vrct_gui/config_window/widgets/createSettingBoxTopBar/_createSettingBoxCompactModeButton.py rename vrct_gui/config_window/widgets/{createSettingBoxTitle.py => createSettingBoxTopBar/_createSettingBoxTitle.py} (78%) create mode 100644 vrct_gui/config_window/widgets/createSettingBoxTopBar/createSettingBoxTopBar.py diff --git a/vrct_gui/config_window/ConfigWindow.py b/vrct_gui/config_window/ConfigWindow.py index 3e95aa62..40f4c3bc 100644 --- a/vrct_gui/config_window/ConfigWindow.py +++ b/vrct_gui/config_window/ConfigWindow.py @@ -1,9 +1,8 @@ -from .widgets import createConfigWindowTitle, createSettingBoxTitle, createSideMenuAndSettingsBoxContainers +from .widgets import createConfigWindowTitle, createSideMenuAndSettingsBoxContainers, createSettingBoxTopBar + from customtkinter import CTkToplevel -from config import config - class ConfigWindow(CTkToplevel): def __init__(self, vrct_gui, settings): super().__init__() @@ -23,7 +22,7 @@ class ConfigWindow(CTkToplevel): createConfigWindowTitle(config_window=self, settings=settings) - createSettingBoxTitle(config_window=self, settings=settings) + createSettingBoxTopBar(config_window=self, settings=settings) createSideMenuAndSettingsBoxContainers(config_window=self, settings=settings) diff --git a/vrct_gui/config_window/widgets/__init__.py b/vrct_gui/config_window/widgets/__init__.py index 08f2304b..e3651955 100644 --- a/vrct_gui/config_window/widgets/__init__.py +++ b/vrct_gui/config_window/widgets/__init__.py @@ -1,4 +1,4 @@ from .createConfigWindowTitle import createConfigWindowTitle -from .createSettingBoxTitle import createSettingBoxTitle +from .createSettingBoxTopBar import createSettingBoxTopBar from .createSideMenuAndSettingsBoxContainers import createSideMenuAndSettingsBoxContainers \ No newline at end of file diff --git a/vrct_gui/config_window/widgets/createSettingBoxTopBar/__init__.py b/vrct_gui/config_window/widgets/createSettingBoxTopBar/__init__.py new file mode 100644 index 00000000..b5be1139 --- /dev/null +++ b/vrct_gui/config_window/widgets/createSettingBoxTopBar/__init__.py @@ -0,0 +1 @@ +from .createSettingBoxTopBar import createSettingBoxTopBar \ No newline at end of file diff --git a/vrct_gui/config_window/widgets/createSettingBoxTopBar/_createSettingBoxCompactModeButton.py b/vrct_gui/config_window/widgets/createSettingBoxTopBar/_createSettingBoxCompactModeButton.py new file mode 100644 index 00000000..ce98730a --- /dev/null +++ b/vrct_gui/config_window/widgets/createSettingBoxTopBar/_createSettingBoxCompactModeButton.py @@ -0,0 +1,56 @@ +from customtkinter import CTkFont, CTkFrame, CTkLabel, CTkSwitch + +def _createSettingBoxCompactModeButton(parent_widget, config_window, settings): + + config_window.setting_box_compact_mode_button_container = CTkFrame(parent_widget, corner_radius=0, fg_color=settings.ctm.TOP_BAR_BG_COLOR, width=0, height=0) + config_window.setting_box_compact_mode_button_container.grid(row=0, column=1, padx=(0, 20), sticky="nsw") + + + + config_window.setting_box_compact_mode_button_container.grid_rowconfigure((0,2), weight=1) + config_window.setting_box_compact_mode_button_container = CTkFrame(config_window.setting_box_compact_mode_button_container, corner_radius=0, fg_color=settings.ctm.TOP_BAR_BG_COLOR, width=0, height=0) + config_window.setting_box_compact_mode_button_container.grid(row=1, column=0, sticky="nsew") + + + config_window.setting_box_compact_mode_button_container.grid_rowconfigure(0, weight=1) + config_window.setting_box_compact_mode_label = CTkLabel( + config_window.setting_box_compact_mode_button_container, + height=0, + text="Compact Mode", + anchor="w", + font=CTkFont(family=settings.FONT_FAMILY, size=12, weight="normal"), + text_color=settings.ctm.LABELS_TEXT_COLOR + ) + config_window.setting_box_compact_mode_label.grid(row=0, column=0, padx=(0,10)) + + + + + + + + + config_window.setting_box_compact_mode_switch_frame = CTkFrame(config_window.setting_box_compact_mode_button_container, corner_radius=0, width=0, height=0, fg_color=settings.ctm.TOP_BAR_BG_COLOR) + config_window.setting_box_compact_mode_switch_frame.grid(row=0, column=1, padx=0, sticky="e") + + config_window.setting_box_compact_mode_switch_box = CTkSwitch( + config_window.setting_box_compact_mode_switch_frame, + text=None, + height=0, + width=0, + # corner_radius=0, + border_width=0, + switch_width=40, + switch_height=16, + onvalue=True, + offvalue=False, + # command=command, + # fg_color="", + # bg_color="red", + progress_color=settings.ctm.SB__SWITCH_BOX_ACTIVE_BG_COLOR, # SB__SWITCH_BOX_ACTIVE_BG_COLOR is for SB. change it later. + ) + + config_window.setting_box_compact_mode_switch_box.select() if settings.IS_CONFIG_WINDOW_COMPACT_MODE else config_window.setting_box_compact_mode_switch_box.deselect() + + config_window.setting_box_compact_mode_switch_box.grid(row=0, column=0) + diff --git a/vrct_gui/config_window/widgets/createSettingBoxTitle.py b/vrct_gui/config_window/widgets/createSettingBoxTopBar/_createSettingBoxTitle.py similarity index 78% rename from vrct_gui/config_window/widgets/createSettingBoxTitle.py rename to vrct_gui/config_window/widgets/createSettingBoxTopBar/_createSettingBoxTitle.py index 57f5c573..7e7479b7 100644 --- a/vrct_gui/config_window/widgets/createSettingBoxTitle.py +++ b/vrct_gui/config_window/widgets/createSettingBoxTopBar/_createSettingBoxTitle.py @@ -1,10 +1,10 @@ from customtkinter import CTkFont, CTkFrame, CTkLabel -def createSettingBoxTitle(config_window, settings): +def _createSettingBoxTitle(parent_widget, config_window, settings): - config_window.grid_columnconfigure(1, weight=1) - config_window.main_current_active_config_title_container = CTkFrame(config_window, corner_radius=0, fg_color=settings.ctm.TOP_BAR_BG_COLOR, width=0, height=0) - config_window.main_current_active_config_title_container.grid(row=0, column=1, sticky="nsew") + parent_widget.grid_columnconfigure(0, weight=1) + config_window.main_current_active_config_title_container = CTkFrame(parent_widget, corner_radius=0, fg_color=settings.ctm.TOP_BAR_BG_COLOR, width=0, height=0) + config_window.main_current_active_config_title_container.grid(row=0, column=0, sticky="nsew") config_window.main_current_active_config_title_container.grid_rowconfigure(0, weight=1) diff --git a/vrct_gui/config_window/widgets/createSettingBoxTopBar/createSettingBoxTopBar.py b/vrct_gui/config_window/widgets/createSettingBoxTopBar/createSettingBoxTopBar.py new file mode 100644 index 00000000..a42d43f9 --- /dev/null +++ b/vrct_gui/config_window/widgets/createSettingBoxTopBar/createSettingBoxTopBar.py @@ -0,0 +1,15 @@ +from customtkinter import CTkFont, CTkFrame, CTkLabel + +from ._createSettingBoxTitle import _createSettingBoxTitle +from ._createSettingBoxCompactModeButton import _createSettingBoxCompactModeButton + +def createSettingBoxTopBar(config_window, settings): + + config_window.grid_columnconfigure(1, weight=1) + config_window.setting_box_top_bar = CTkFrame(config_window, corner_radius=0, fg_color=settings.ctm.TOP_BAR_BG_COLOR, width=0, height=0) + config_window.setting_box_top_bar.grid(row=0, column=1, sticky="nsew") + + + _createSettingBoxTitle(parent_widget=config_window.setting_box_top_bar, config_window=config_window, settings=settings) + + _createSettingBoxCompactModeButton(parent_widget=config_window.setting_box_top_bar, config_window=config_window, settings=settings) \ No newline at end of file