[Update] Overlay Settings:
有効無効スイッチ追加。 VR Settingsではなく、Overlay Settingsに。 Lightテーマに一部対応。
This commit is contained in:
4
view.py
4
view.py
@@ -139,8 +139,8 @@ class View():
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# VR Settings
|
# Overlay Settings
|
||||||
VAR_VR_SETTINGS=StringVar(value="VR Settings"),
|
VAR_VR_SETTINGS=StringVar(value="Overlay Settings"),
|
||||||
CALLBACK_SET_CALLBACK_OPEN_VR_SETTINGS_WINDOW=self._openVrSettingsWindow,
|
CALLBACK_SET_CALLBACK_OPEN_VR_SETTINGS_WINDOW=self._openVrSettingsWindow,
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -48,48 +48,48 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable):
|
|||||||
# start from 3
|
# start from 3
|
||||||
main_topbar_column=3
|
main_topbar_column=3
|
||||||
|
|
||||||
# VR Settings Button
|
# Overlay Settings Button
|
||||||
vrct_gui.vr_settings_container = CTkFrame(
|
vrct_gui.overlay_settings_container = CTkFrame(
|
||||||
vrct_gui.main_topbar_container,
|
vrct_gui.main_topbar_container,
|
||||||
corner_radius=settings.uism.UPDATE_AVAILABLE_BUTTON_CORNER_RADIUS,
|
corner_radius=settings.uism.UPDATE_AVAILABLE_BUTTON_CORNER_RADIUS,
|
||||||
fg_color=settings.ctm.MAIN_BG_COLOR,
|
fg_color=settings.ctm.MAIN_BG_COLOR,
|
||||||
cursor="hand2",
|
cursor="hand2",
|
||||||
)
|
)
|
||||||
vrct_gui.vr_settings_container.grid(row=0, column=main_topbar_column, padx=settings.uism.UPDATE_AVAILABLE_BUTTON_PADX, pady=settings.uism.TOP_BAR_BUTTON_PADY, sticky="nsw")
|
vrct_gui.overlay_settings_container.grid(row=0, column=main_topbar_column, padx=settings.uism.UPDATE_AVAILABLE_BUTTON_PADX, pady=settings.uism.TOP_BAR_BUTTON_PADY, sticky="nsw")
|
||||||
# vrct_gui.vr_settings_container.grid_remove()
|
# vrct_gui.overlay_settings_container.grid_remove()
|
||||||
|
|
||||||
|
|
||||||
vrct_gui.vr_settings_container.grid_rowconfigure((0,2), weight=1)
|
vrct_gui.overlay_settings_container.grid_rowconfigure((0,2), weight=1)
|
||||||
|
|
||||||
vrct_gui.vr_settings_icon = CTkLabel(
|
vrct_gui.overlay_settings_icon = CTkLabel(
|
||||||
vrct_gui.vr_settings_container,
|
vrct_gui.overlay_settings_container,
|
||||||
text=None,
|
text=None,
|
||||||
corner_radius=0,
|
corner_radius=0,
|
||||||
height=0,
|
height=0,
|
||||||
image=CTkImage(settings.image_file.CONFIGURATION_ICON, size=settings.uism.UPDATE_AVAILABLE_BUTTON_SIZE)
|
image=CTkImage(settings.image_file.CONFIGURATION_ICON_DISABLED, size=settings.uism.UPDATE_AVAILABLE_BUTTON_SIZE)
|
||||||
)
|
)
|
||||||
vrct_gui.vr_settings_icon.grid(row=1, column=0, padx=(settings.uism.UPDATE_AVAILABLE_BUTTON_IPADX, settings.uism.UPDATE_AVAILABLE_PADX_BETWEEN_LABEL_AND_ICON), pady=0)
|
vrct_gui.overlay_settings_icon.grid(row=1, column=0, padx=(settings.uism.UPDATE_AVAILABLE_BUTTON_IPADX, settings.uism.UPDATE_AVAILABLE_PADX_BETWEEN_LABEL_AND_ICON), pady=0)
|
||||||
|
|
||||||
|
|
||||||
vrct_gui.vr_settings_label = CTkLabel(
|
vrct_gui.overlay_settings_label = CTkLabel(
|
||||||
vrct_gui.vr_settings_container,
|
vrct_gui.overlay_settings_container,
|
||||||
textvariable=view_variable.VAR_VR_SETTINGS,
|
textvariable=view_variable.VAR_VR_SETTINGS,
|
||||||
height=0,
|
height=0,
|
||||||
corner_radius=0,
|
corner_radius=0,
|
||||||
font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.UPDATE_AVAILABLE_BUTTON_FONT_SIZE, weight="normal"),
|
font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.UPDATE_AVAILABLE_BUTTON_FONT_SIZE, weight="normal"),
|
||||||
anchor="e",
|
anchor="e",
|
||||||
text_color="#fff",
|
text_color=settings.ctm.TOP_BAR_BUTTON_TEXT_COLOR,
|
||||||
# text_color=settings.ctm.UPDATE_AVAILABLE_BUTTON_TEXT_COLOR,
|
# text_color=settings.ctm.UPDATE_AVAILABLE_BUTTON_TEXT_COLOR,
|
||||||
)
|
)
|
||||||
# This "right padx +1" is for fixing a bug that sticks out from the frame. I don't know why that happens...
|
# This "right padx +1" is for fixing a bug that sticks out from the frame. I don't know why that happens...
|
||||||
vrct_gui.vr_settings_label.grid(row=1, column=1, padx=(0,settings.uism.UPDATE_AVAILABLE_BUTTON_IPADX+1), pady=0)
|
vrct_gui.overlay_settings_label.grid(row=1, column=1, padx=(0,settings.uism.UPDATE_AVAILABLE_BUTTON_IPADX+1), pady=0)
|
||||||
|
|
||||||
|
|
||||||
bindButtonFunctionAndColor(
|
bindButtonFunctionAndColor(
|
||||||
target_widgets=[
|
target_widgets=[
|
||||||
vrct_gui.vr_settings_container,
|
vrct_gui.overlay_settings_container,
|
||||||
vrct_gui.vr_settings_label,
|
vrct_gui.overlay_settings_label,
|
||||||
vrct_gui.vr_settings_icon,
|
vrct_gui.overlay_settings_icon,
|
||||||
],
|
],
|
||||||
enter_color=settings.ctm.TOP_BAR_BUTTON_HOVERED_BG_COLOR,
|
enter_color=settings.ctm.TOP_BAR_BUTTON_HOVERED_BG_COLOR,
|
||||||
leave_color=settings.ctm.TOP_BAR_BUTTON_BG_COLOR,
|
leave_color=settings.ctm.TOP_BAR_BUTTON_BG_COLOR,
|
||||||
|
|||||||
@@ -9,18 +9,15 @@ class QuickSettingsWindow(CTkToplevel):
|
|||||||
def __init__(self, vrct_gui, settings, view_variable):
|
def __init__(self, vrct_gui, settings, view_variable):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.withdraw()
|
self.withdraw()
|
||||||
# self.overrideredirect(True)
|
|
||||||
self.configure(fg_color="#292a2d")
|
self.configure(fg_color="#292a2d")
|
||||||
self.title("Quick Settings")
|
self.title("Overlay Settings")
|
||||||
# self.wm_attributes("-toolwindow", True)
|
|
||||||
self.protocol("WM_DELETE_WINDOW", self.withdraw)
|
self.protocol("WM_DELETE_WINDOW", self.withdraw)
|
||||||
self.after(200, lambda: self.iconbitmap(getImagePath("vrct_logo_mark_black.ico")))
|
self.after(200, lambda: self.iconbitmap(getImagePath("vrct_logo_mark_black.ico")))
|
||||||
|
|
||||||
|
|
||||||
self.settings = settings
|
self.settings = settings
|
||||||
|
|
||||||
BG_HEIGHT= 220
|
|
||||||
BG_WIDTH= 450
|
|
||||||
BG_HEX_COLOR = "#292a2d"
|
BG_HEX_COLOR = "#292a2d"
|
||||||
|
|
||||||
self.grid_columnconfigure(0, weight=1, minsize=400)
|
self.grid_columnconfigure(0, weight=1, minsize=400)
|
||||||
@@ -32,6 +29,7 @@ class QuickSettingsWindow(CTkToplevel):
|
|||||||
|
|
||||||
cqsb = _CreateQuickSettingBox(self.qsw_background, vrct_gui, settings, view_variable)
|
cqsb = _CreateQuickSettingBox(self.qsw_background, vrct_gui, settings, view_variable)
|
||||||
createSettingBoxSlider = cqsb.createSettingBoxSlider
|
createSettingBoxSlider = cqsb.createSettingBoxSlider
|
||||||
|
createSettingBoxSwitch = cqsb.createSettingBoxSwitch
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -39,6 +37,19 @@ class QuickSettingsWindow(CTkToplevel):
|
|||||||
|
|
||||||
# Overlay General Settings
|
# Overlay General Settings
|
||||||
row=0
|
row=0
|
||||||
|
def switchCallback(switch_widget):
|
||||||
|
callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_OVERLAY_SMALL_LOG, switch_widget.get())
|
||||||
|
|
||||||
|
self.qsb__enable_overlay_small_log = createSettingBoxSwitch(
|
||||||
|
for_var_label_text=view_variable.VAR_LABEL_ENABLE_OVERLAY_SMALL_LOG,
|
||||||
|
switch_attr_name="qsb__enable_overlay_small_log_switch",
|
||||||
|
command=lambda: switchCallback(vrct_gui.qsb__enable_overlay_small_log_switch),
|
||||||
|
variable=view_variable.VAR_ENABLE_OVERLAY_SMALL_LOG,
|
||||||
|
)
|
||||||
|
self.qsb__enable_overlay_small_log.grid(row=row)
|
||||||
|
|
||||||
|
|
||||||
|
row+=1
|
||||||
def sliderCallback(e):
|
def sliderCallback(e):
|
||||||
value = round(e,2)
|
value = round(e,2)
|
||||||
callFunctionIfCallable(view_variable.CALLBACK_SET_OVERLAY_SETTINGS, value, "opacity")
|
callFunctionIfCallable(view_variable.CALLBACK_SET_OVERLAY_SETTINGS, value, "opacity")
|
||||||
@@ -75,9 +86,23 @@ class QuickSettingsWindow(CTkToplevel):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Overlay Small Log Settings
|
||||||
|
|
||||||
|
# row+=1
|
||||||
|
# def switchCallback(switch_widget):
|
||||||
|
# callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_OVERLAY_SMALL_LOG, switch_widget.get())
|
||||||
|
|
||||||
|
# self.qsb__enable_overlay_small_log = createSettingBoxSwitch(
|
||||||
|
# for_var_label_text=view_variable.VAR_LABEL_ENABLE_OVERLAY_SMALL_LOG,
|
||||||
|
# switch_attr_name="qsb__enable_overlay_small_log_switch",
|
||||||
|
# command=lambda: switchCallback(vrct_gui.qsb__enable_overlay_small_log_switch),
|
||||||
|
# variable=view_variable.VAR_ENABLE_OVERLAY_SMALL_LOG,
|
||||||
|
# )
|
||||||
|
# self.qsb__enable_overlay_small_log.grid(row=row)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
row+=1
|
row+=1
|
||||||
# Overlay Small Log Settings
|
|
||||||
def sliderCallback(e):
|
def sliderCallback(e):
|
||||||
value = round(e,2)
|
value = round(e,2)
|
||||||
callFunctionIfCallable(view_variable.CALLBACK_SET_OVERLAY_SMALL_LOG_SETTINGS, value, "x_pos")
|
callFunctionIfCallable(view_variable.CALLBACK_SET_OVERLAY_SMALL_LOG_SETTINGS, value, "x_pos")
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from typing import Union
|
|||||||
|
|
||||||
from utils import callFunctionIfCallable
|
from utils import callFunctionIfCallable
|
||||||
|
|
||||||
from customtkinter import CTkImage, CTkLabel, CTkToplevel, CTkProgressBar, CTkFrame, CTkSlider, CTkFont
|
from customtkinter import CTkImage, CTkLabel, CTkToplevel, CTkProgressBar, CTkFrame, CTkSlider, CTkFont, CTkSwitch
|
||||||
from ..ui_utils import openImageKeepAspectRatio, getImageFileFromUiUtils, setGeometryToCenterOfScreen, fadeInAnimation
|
from ..ui_utils import openImageKeepAspectRatio, getImageFileFromUiUtils, setGeometryToCenterOfScreen, fadeInAnimation
|
||||||
|
|
||||||
class _CreateQuickSettingBox():
|
class _CreateQuickSettingBox():
|
||||||
@@ -49,16 +49,16 @@ class _CreateQuickSettingBox():
|
|||||||
setting_box_label.grid(row=1, column=0, padx=0, pady=0, sticky="nse")
|
setting_box_label.grid(row=1, column=0, padx=0, pady=0, sticky="nse")
|
||||||
|
|
||||||
|
|
||||||
|
if for_var_current_value is not None:
|
||||||
setting_box_label = CTkLabel(
|
setting_box_label = CTkLabel(
|
||||||
setting_box_labels_frame,
|
setting_box_labels_frame,
|
||||||
textvariable=for_var_current_value,
|
textvariable=for_var_current_value,
|
||||||
anchor="w",
|
anchor="w",
|
||||||
height=0,
|
height=0,
|
||||||
font=CTkFont(family=self.settings.FONT_FAMILY, size=self.settings.uism.SB__LABEL_FONT_SIZE, weight="normal"),
|
font=CTkFont(family=self.settings.FONT_FAMILY, size=self.settings.uism.SB__LABEL_FONT_SIZE, weight="normal"),
|
||||||
text_color=self.settings.ctm.LABELS_TEXT_COLOR
|
text_color=self.settings.ctm.LABELS_TEXT_COLOR
|
||||||
)
|
)
|
||||||
setting_box_label.grid(row=1, column=2, padx=0, pady=0, sticky="nsw")
|
setting_box_label.grid(row=1, column=2, padx=0, pady=0, sticky="nsw")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -140,4 +140,46 @@ class _CreateQuickSettingBox():
|
|||||||
slider_bind__ButtonRelease()
|
slider_bind__ButtonRelease()
|
||||||
slider_widget.bind("<ButtonRelease>", adjusted_slider_bind__ButtonRelease, "+")
|
slider_widget.bind("<ButtonRelease>", adjusted_slider_bind__ButtonRelease, "+")
|
||||||
|
|
||||||
|
return setting_box_frame
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def createSettingBoxSwitch(
|
||||||
|
self,
|
||||||
|
for_var_label_text,
|
||||||
|
switch_attr_name,
|
||||||
|
variable,
|
||||||
|
command,
|
||||||
|
for_var_current_value=None,
|
||||||
|
):
|
||||||
|
|
||||||
|
(setting_box_frame, setting_box_item_frame) = self._createSettingBoxFrame(for_var_label_text, for_var_current_value)
|
||||||
|
|
||||||
|
switch_widget = CTkSwitch(
|
||||||
|
setting_box_item_frame,
|
||||||
|
text=None,
|
||||||
|
height=0,
|
||||||
|
width=0,
|
||||||
|
corner_radius=int(self.settings.uism.SB__SWITCH_BOX_HEIGHT/2),
|
||||||
|
border_width=0,
|
||||||
|
switch_height=self.settings.uism.SB__SWITCH_BOX_HEIGHT,
|
||||||
|
switch_width=self.settings.uism.SB__SWITCH_BOX_WIDTH,
|
||||||
|
onvalue=True,
|
||||||
|
offvalue=False,
|
||||||
|
variable=variable,
|
||||||
|
command=command,
|
||||||
|
fg_color=self.settings.ctm.SB__SWITCH_BOX_BG_COLOR,
|
||||||
|
progress_color=self.settings.ctm.SB__SWITCH_BOX_ACTIVE_BG_COLOR,
|
||||||
|
button_color=self.settings.ctm.SB__SWITCH_BOX_BUTTON_COLOR,
|
||||||
|
button_hover_color=self.settings.ctm.SB__SWITCH_BOX_BUTTON_HOVERED_COLOR,
|
||||||
|
)
|
||||||
|
setattr(self.vrct_gui, switch_attr_name, switch_widget)
|
||||||
|
|
||||||
|
|
||||||
|
switch_widget.grid(row=1, column=1, sticky="w")
|
||||||
|
|
||||||
return setting_box_frame
|
return setting_box_frame
|
||||||
@@ -110,6 +110,7 @@ def _darkTheme(base_color):
|
|||||||
TOP_BAR_BUTTON_BG_COLOR = base_color.DARK_888_COLOR,
|
TOP_BAR_BUTTON_BG_COLOR = base_color.DARK_888_COLOR,
|
||||||
TOP_BAR_BUTTON_HOVERED_BG_COLOR = base_color.DARK_850_COLOR,
|
TOP_BAR_BUTTON_HOVERED_BG_COLOR = base_color.DARK_850_COLOR,
|
||||||
TOP_BAR_BUTTON_CLICKED_BG_COLOR = base_color.DARK_900_COLOR,
|
TOP_BAR_BUTTON_CLICKED_BG_COLOR = base_color.DARK_900_COLOR,
|
||||||
|
TOP_BAR_BUTTON_TEXT_COLOR = base_color.DARK_BASIC_TEXT_COLOR,
|
||||||
|
|
||||||
UPDATE_AVAILABLE_BUTTON_BG_COLOR = base_color.DARK_888_COLOR,
|
UPDATE_AVAILABLE_BUTTON_BG_COLOR = base_color.DARK_888_COLOR,
|
||||||
UPDATE_AVAILABLE_BUTTON_HOVERED_BG_COLOR = base_color.DARK_850_COLOR,
|
UPDATE_AVAILABLE_BUTTON_HOVERED_BG_COLOR = base_color.DARK_850_COLOR,
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ def _lightTheme(base_color):
|
|||||||
TOP_BAR_BUTTON_BG_COLOR = base_color.LIGHT_175_COLOR,
|
TOP_BAR_BUTTON_BG_COLOR = base_color.LIGHT_175_COLOR,
|
||||||
TOP_BAR_BUTTON_HOVERED_BG_COLOR = base_color.LIGHT_300_COLOR,
|
TOP_BAR_BUTTON_HOVERED_BG_COLOR = base_color.LIGHT_300_COLOR,
|
||||||
TOP_BAR_BUTTON_CLICKED_BG_COLOR = base_color.LIGHT_350_COLOR,
|
TOP_BAR_BUTTON_CLICKED_BG_COLOR = base_color.LIGHT_350_COLOR,
|
||||||
|
TOP_BAR_BUTTON_TEXT_COLOR = base_color.LIGHT_BASIC_TEXT_COLOR,
|
||||||
|
|
||||||
UPDATE_AVAILABLE_BUTTON_TEXT_COLOR = base_color.PRIMARY_400_COLOR,
|
UPDATE_AVAILABLE_BUTTON_TEXT_COLOR = base_color.PRIMARY_400_COLOR,
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user