Merge branch 'view' into develop
This commit is contained in:
@@ -885,6 +885,11 @@ def callbackSetEnableOverlaySmallLog(value):
|
||||
model.clearOverlayImage()
|
||||
model.shutdownOverlay()
|
||||
|
||||
if config.ENABLE_OVERLAY_SMALL_LOG is True:
|
||||
view.setStateOverlaySmallLog("enabled")
|
||||
elif config.ENABLE_OVERLAY_SMALL_LOG is False:
|
||||
view.setStateOverlaySmallLog("disabled")
|
||||
|
||||
def callbackSetOverlaySmallLogSettings(value, set_type:str):
|
||||
print("callbackSetOverlaySmallLogSettings", value, set_type)
|
||||
pre_settings = config.OVERLAY_SMALL_LOG_SETTINGS
|
||||
@@ -934,8 +939,10 @@ def callbackSetEnableVrcMicMuteSync(value):
|
||||
config.ENABLE_VRC_MIC_MUTE_SYNC = value
|
||||
if config.ENABLE_VRC_MIC_MUTE_SYNC is True:
|
||||
model.startCheckMuteSelfStatus()
|
||||
view.setStateVrcMicMuteSync("enabled")
|
||||
else:
|
||||
model.stopCheckMuteSelfStatus()
|
||||
view.setStateVrcMicMuteSync("disabled")
|
||||
|
||||
|
||||
def callbackSetEnableSendMessageToVrc(value):
|
||||
|
||||
@@ -18,7 +18,7 @@ main_window:
|
||||
textbox_tab_system: System
|
||||
|
||||
textbox_system_message:
|
||||
enabled_easter_egg: Whoa! You caught us! There is something...like...easter-egg-ish function has enabled!
|
||||
enabled_easter_egg: Whoa! You caught us! There is something...like...easter-egg-ish function has enabled! It'll affect to Overlay(VR) for now;).
|
||||
enabled_translation: Translation feature is turned on.
|
||||
disabled_translation: Translation feature is turned off.
|
||||
enabled_voice2chatbox: Transcription from the microphone has started.
|
||||
@@ -46,6 +46,8 @@ main_window:
|
||||
opened_web_page_vrct_documents: "Opened VRCT Documents page in your web browser.\nFor any issues, requests, or inquiries, please feel free to contact us through the links at the bottom of the documents page, the \"Contact Form,\" or via X (formerly Twitter)!"
|
||||
|
||||
update_available: New version is here!
|
||||
state_text_enabled: Enabled
|
||||
state_text_disabled: Disabled
|
||||
|
||||
cover_message: The functionality is temporarily disabled until the settings window is closed.
|
||||
|
||||
@@ -244,8 +246,8 @@ config_window:
|
||||
desc: Automatically export the conversation messages as a text file.
|
||||
|
||||
vrc_mic_mute_sync:
|
||||
label: VRChat Mic Mute Sync
|
||||
desc: VRCT will not send the message to VRChat while VRChat's mic is muted.
|
||||
label: VRC Mic Mute Sync
|
||||
desc: "VRCT will not send the message to VRChat while VRChat's mic is muted.\n*There is a bit latency and Push-To-Talk is not supported."
|
||||
|
||||
send_message_to_vrc:
|
||||
label: Send Message To VRChat
|
||||
|
||||
@@ -45,6 +45,8 @@ main_window:
|
||||
opened_web_page_vrct_documents: "お使いのブラウザで、VRCTのドキュメントを開きました。使用方法などはそちらに記載されています。\n不具合、ご要望、その他お問い合わせはドキュメント最下部にあるLinks、「お問合せフォーム」もしくはX (元Twitter) にて気軽にご連絡ください!"
|
||||
|
||||
update_available: 新しいバージョンが出ました!
|
||||
state_text_enabled: 有効
|
||||
state_text_disabled: 無効
|
||||
|
||||
cover_message: 設定画面が閉じられるまで、一時的に機能を停止しています。
|
||||
|
||||
@@ -243,8 +245,8 @@ config_window:
|
||||
desc: テキストファイルとしてログがlogsフォルダ内に保存されます。
|
||||
|
||||
vrc_mic_mute_sync:
|
||||
label: VRChatマイクミュート同期機能
|
||||
desc: VRChatのマイクがミュートされている間は、メッセージをVRChatに送信しません。
|
||||
label: VRCマイクミュート同期
|
||||
desc: "VRChatのマイクがミュートされている間は、メッセージをVRChatに送信しません。\n※若干の遅延はあります。また、Push-To-Talkは非対応です。"
|
||||
|
||||
|
||||
send_message_to_vrc:
|
||||
|
||||
45
view.py
45
view.py
@@ -140,10 +140,16 @@ class View():
|
||||
|
||||
|
||||
# Overlay Settings
|
||||
VAR_OVERLAY_SETTINGS=StringVar(value="Overlay Settings"),
|
||||
VAR_OVERLAY_SETTINGS=StringVar(value="Overlay (VR)"),
|
||||
CALLBACK_SET_OPEN_OVERLAY_SETTINGS_WINDOW=self._openVrSettingsWindow,
|
||||
VAR_TO_DEFAULT_OVERLAY_SETTINGS=StringVar(value=i18n.t("overlay_settings.restore_default_settings")),
|
||||
CALLBACK_SET_TO_DEFAULT_OVERLAY_SETTINGS=self._toDefaultOverlaySettings,
|
||||
VAR_OVERLAY_SMALL_LOG_STATE=StringVar(value=""),
|
||||
|
||||
|
||||
CALLBACK_SET_OPEN_VRC_MIC_MUTE_SYNC_SETTINGS_WINDOW=self._openVrcMicMuteSyncSettingsWindow,
|
||||
VAR_VRC_MIC_MUTE_SYNC_SETTINGS=StringVar(value=i18n.t("config_window.vrc_mic_mute_sync.label")),
|
||||
VAR_VRC_MIC_MUTE_SYNC_STATE=StringVar(value=""),
|
||||
|
||||
|
||||
VAR_LABEL_OVERLAY_OPACITY=StringVar(value=i18n.t("overlay_settings.opacity")),
|
||||
@@ -808,6 +814,18 @@ class View():
|
||||
self.view_variable.VAR_LABEL_BOTH_DIRECTION_SWAP_BUTTON.set(i18n.t("main_window.swap_button_label"))
|
||||
self.useTranslationFeatureProcess("Disable")
|
||||
|
||||
|
||||
if config.ENABLE_VRC_MIC_MUTE_SYNC is True:
|
||||
self.setStateVrcMicMuteSync("enabled")
|
||||
elif config.ENABLE_VRC_MIC_MUTE_SYNC is False:
|
||||
self.setStateVrcMicMuteSync("disabled")
|
||||
|
||||
if config.ENABLE_OVERLAY_SMALL_LOG is True:
|
||||
self.setStateOverlaySmallLog("enabled")
|
||||
elif config.ENABLE_OVERLAY_SMALL_LOG is False:
|
||||
self.setStateOverlaySmallLog("disabled")
|
||||
|
||||
|
||||
if config.CHOICE_MIC_HOST == "NoHost":
|
||||
self.view_variable.VAR_MIC_HOST.set("No Mic Host Detected")
|
||||
|
||||
@@ -1281,6 +1299,26 @@ class View():
|
||||
dropdown_menu_values=translation_dict,
|
||||
)
|
||||
|
||||
def setStateVrcMicMuteSync(self, state:str):
|
||||
if state == "enabled":
|
||||
self.view_variable.VAR_VRC_MIC_MUTE_SYNC_STATE.set(i18n.t("main_window.state_text_enabled"))
|
||||
vrct_gui.vrc_mic_mute_sync_settings_state_label.configure(text_color=self.settings.main.ctm.TOP_BAR_BUTTON_STATE_TEXT_ENABLED_COLOR)
|
||||
elif state == "disabled":
|
||||
self.view_variable.VAR_VRC_MIC_MUTE_SYNC_STATE.set(i18n.t("main_window.state_text_disabled"))
|
||||
vrct_gui.vrc_mic_mute_sync_settings_state_label.configure(text_color=self.settings.main.ctm.TOP_BAR_BUTTON_STATE_TEXT_DISABLED_COLOR)
|
||||
|
||||
vrct_gui.config_window.after(200, vrct_gui.config_window.lift)
|
||||
|
||||
def setStateOverlaySmallLog(self, state:str):
|
||||
if state == "enabled":
|
||||
self.view_variable.VAR_OVERLAY_SMALL_LOG_STATE.set(i18n.t("main_window.state_text_enabled"))
|
||||
vrct_gui.overlay_settings_state_label.configure(text_color=self.settings.main.ctm.TOP_BAR_BUTTON_STATE_TEXT_ENABLED_COLOR)
|
||||
elif state == "disabled":
|
||||
self.view_variable.VAR_OVERLAY_SMALL_LOG_STATE.set(i18n.t("main_window.state_text_disabled"))
|
||||
vrct_gui.overlay_settings_state_label.configure(text_color=self.settings.main.ctm.TOP_BAR_BUTTON_STATE_TEXT_DISABLED_COLOR)
|
||||
|
||||
vrct_gui.config_window.after(200, vrct_gui.config_window.lift)
|
||||
|
||||
|
||||
# Config Window
|
||||
def enableConfigWindowCompactMode(self):
|
||||
@@ -1741,7 +1779,10 @@ class View():
|
||||
vrct_gui._closeConfigWindow()
|
||||
|
||||
def _openVrSettingsWindow(self):
|
||||
vrct_gui.quick_settings_window.show()
|
||||
vrct_gui.quick_settings_window.show(target="overlay")
|
||||
|
||||
def _openVrcMicMuteSyncSettingsWindow(self):
|
||||
vrct_gui.quick_settings_window.show(target="vrc_mic_mute_sync")
|
||||
|
||||
# Window Control (Main Window Cover)
|
||||
def _openTheCoverOfMainWindow(self):
|
||||
|
||||
@@ -48,6 +48,61 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable):
|
||||
# start from 3
|
||||
main_topbar_column=3
|
||||
|
||||
# VRChat Mic Mute Sync Settings Button
|
||||
vrct_gui.vrc_mic_mute_sync_settings_container = CTkFrame(
|
||||
vrct_gui.main_topbar_container,
|
||||
corner_radius=settings.uism.UPDATE_AVAILABLE_BUTTON_CORNER_RADIUS,
|
||||
fg_color=settings.ctm.MAIN_BG_COLOR,
|
||||
cursor="hand2",
|
||||
)
|
||||
vrct_gui.vrc_mic_mute_sync_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.vrc_mic_mute_sync_settings_container.grid_rowconfigure((0,3), weight=1)
|
||||
|
||||
vrct_gui.vrc_mic_mute_sync_settings_label = CTkLabel(
|
||||
vrct_gui.vrc_mic_mute_sync_settings_container,
|
||||
textvariable=view_variable.VAR_VRC_MIC_MUTE_SYNC_SETTINGS,
|
||||
height=0,
|
||||
corner_radius=0,
|
||||
font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.QUICK_SETTINGS_BUTTON_FONT_SIZE, weight="normal"),
|
||||
anchor="e",
|
||||
text_color=settings.ctm.TOP_BAR_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...
|
||||
vrct_gui.vrc_mic_mute_sync_settings_label.grid(row=1, column=1, padx=(0,settings.uism.UPDATE_AVAILABLE_BUTTON_IPADX+1), pady=0)
|
||||
|
||||
|
||||
vrct_gui.vrc_mic_mute_sync_settings_state_label = CTkLabel(
|
||||
vrct_gui.vrc_mic_mute_sync_settings_container,
|
||||
textvariable=view_variable.VAR_VRC_MIC_MUTE_SYNC_STATE,
|
||||
height=0,
|
||||
corner_radius=0,
|
||||
font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.QUICK_SETTINGS_BUTTON_STATE_FONT_SIZE, weight="normal"),
|
||||
anchor="e",
|
||||
text_color=settings.ctm.TOP_BAR_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...
|
||||
vrct_gui.vrc_mic_mute_sync_settings_state_label.grid(row=2, column=1, padx=(0,settings.uism.UPDATE_AVAILABLE_BUTTON_IPADX+1), pady=0)
|
||||
|
||||
|
||||
bindButtonFunctionAndColor(
|
||||
target_widgets=[
|
||||
vrct_gui.vrc_mic_mute_sync_settings_container,
|
||||
vrct_gui.vrc_mic_mute_sync_settings_label,
|
||||
vrct_gui.vrc_mic_mute_sync_settings_state_label,
|
||||
],
|
||||
enter_color=settings.ctm.TOP_BAR_BUTTON_HOVERED_BG_COLOR,
|
||||
leave_color=settings.ctm.TOP_BAR_BUTTON_BG_COLOR,
|
||||
clicked_color=settings.ctm.TOP_BAR_BUTTON_CLICKED_BG_COLOR,
|
||||
buttonReleasedFunction=lambda e: callFunctionIfCallable(view_variable.CALLBACK_SET_OPEN_VRC_MIC_MUTE_SYNC_SETTINGS_WINDOW),
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
main_topbar_column+=1
|
||||
# Overlay Settings Button
|
||||
vrct_gui.overlay_settings_container = CTkFrame(
|
||||
vrct_gui.main_topbar_container,
|
||||
@@ -56,27 +111,14 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable):
|
||||
cursor="hand2",
|
||||
)
|
||||
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.overlay_settings_container.grid_remove()
|
||||
|
||||
|
||||
vrct_gui.overlay_settings_container.grid_rowconfigure((0,2), weight=1)
|
||||
|
||||
vrct_gui.overlay_settings_icon = CTkLabel(
|
||||
vrct_gui.overlay_settings_container,
|
||||
text=None,
|
||||
corner_radius=0,
|
||||
height=0,
|
||||
image=CTkImage(settings.image_file.CONFIGURATION_ICON_DISABLED, size=settings.uism.UPDATE_AVAILABLE_BUTTON_SIZE)
|
||||
)
|
||||
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.overlay_settings_container.grid_rowconfigure((0,3), weight=1)
|
||||
|
||||
vrct_gui.overlay_settings_label = CTkLabel(
|
||||
vrct_gui.overlay_settings_container,
|
||||
textvariable=view_variable.VAR_OVERLAY_SETTINGS,
|
||||
height=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.QUICK_SETTINGS_BUTTON_FONT_SIZE, weight="normal"),
|
||||
anchor="e",
|
||||
text_color=settings.ctm.TOP_BAR_BUTTON_TEXT_COLOR,
|
||||
# text_color=settings.ctm.UPDATE_AVAILABLE_BUTTON_TEXT_COLOR,
|
||||
@@ -85,11 +127,24 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable):
|
||||
vrct_gui.overlay_settings_label.grid(row=1, column=1, padx=(0,settings.uism.UPDATE_AVAILABLE_BUTTON_IPADX+1), pady=0)
|
||||
|
||||
|
||||
vrct_gui.overlay_settings_state_label = CTkLabel(
|
||||
vrct_gui.overlay_settings_container,
|
||||
textvariable=view_variable.VAR_OVERLAY_SMALL_LOG_STATE,
|
||||
height=0,
|
||||
corner_radius=0,
|
||||
font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.QUICK_SETTINGS_BUTTON_STATE_FONT_SIZE, weight="normal"),
|
||||
anchor="e",
|
||||
text_color=settings.ctm.TOP_BAR_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...
|
||||
vrct_gui.overlay_settings_state_label.grid(row=2, column=1, padx=(0,settings.uism.UPDATE_AVAILABLE_BUTTON_IPADX+1), pady=0)
|
||||
|
||||
|
||||
bindButtonFunctionAndColor(
|
||||
target_widgets=[
|
||||
vrct_gui.overlay_settings_container,
|
||||
vrct_gui.overlay_settings_label,
|
||||
vrct_gui.overlay_settings_icon,
|
||||
vrct_gui.overlay_settings_state_label,
|
||||
],
|
||||
enter_color=settings.ctm.TOP_BAR_BUTTON_HOVERED_BG_COLOR,
|
||||
leave_color=settings.ctm.TOP_BAR_BUTTON_BG_COLOR,
|
||||
|
||||
@@ -20,18 +20,21 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
|
||||
BG_HEX_COLOR = "#292a2d"
|
||||
|
||||
self.grid_columnconfigure(0, weight=1, minsize=400)
|
||||
self.grid_rowconfigure(0, weight=1)
|
||||
self.qsw_background = CTkFrame(self, corner_radius=0, fg_color=self.settings.ctm.SB__BG_COLOR)
|
||||
self.qsw_background.grid(row=0, column=0, pady=(0,18), sticky="nsew")
|
||||
self.qsw_background.grid_columnconfigure(0, weight=1)
|
||||
|
||||
self.qsw_setting_box = CTkFrame(self.qsw_background, corner_radius=0, fg_color=BG_HEX_COLOR)
|
||||
self.qsw_setting_box.grid(row=0, column=0, sticky="nsew")
|
||||
self.qsw_setting_box.grid_columnconfigure(0, weight=1)
|
||||
self.qsw_background.grid(row=0, column=0, pady=0, sticky="ew")
|
||||
self.qsw_background.grid_columnconfigure(0, weight=1, minsize=400)
|
||||
|
||||
|
||||
cqsb = _CreateQuickSettingBox(self.qsw_setting_box, vrct_gui, settings, view_variable)
|
||||
self.qsw_background__overlay = CTkFrame(self.qsw_background, corner_radius=0, fg_color=self.settings.ctm.SB__BG_COLOR)
|
||||
self.qsw_background__overlay.grid(row=0, column=0, pady=(0,18), sticky="ew")
|
||||
self.qsw_background__overlay.grid_columnconfigure(0, weight=1)
|
||||
|
||||
|
||||
self.qsw_setting_box__overlay = CTkFrame(self.qsw_background__overlay, corner_radius=0, fg_color=BG_HEX_COLOR)
|
||||
self.qsw_setting_box__overlay.grid(row=0, column=0, sticky="ew")
|
||||
self.qsw_setting_box__overlay.grid_columnconfigure(0, weight=1)
|
||||
|
||||
cqsb = _CreateQuickSettingBox(self.qsw_setting_box__overlay, vrct_gui, settings, view_variable)
|
||||
createSettingBoxSlider = cqsb.createSettingBoxSlider
|
||||
createSettingBoxSwitch = cqsb.createSettingBoxSwitch
|
||||
|
||||
@@ -41,20 +44,20 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
|
||||
# Overlay General Settings
|
||||
row=0
|
||||
def switchCallback(switch_widget):
|
||||
def overlaySmallLogSwitchCallback(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),
|
||||
command=lambda: overlaySmallLogSwitchCallback(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 overlayOpacitySliderCallback(e):
|
||||
value = round(e,2)
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_OVERLAY_SETTINGS, value, "opacity")
|
||||
view_variable.VAR_CURRENT_VALUE_OVERLAY_OPACITY.set(floatToPctStr(value))
|
||||
@@ -65,14 +68,14 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
slider_attr_name="qsb__overlay_opacity_slider",
|
||||
slider_range=view_variable.SLIDER_RANGE_OVERLAY_OPACITY,
|
||||
slider_number_of_steps=view_variable.NUMBER_OF_STEPS_OVERLAY_OPACITY,
|
||||
command=sliderCallback,
|
||||
command=overlayOpacitySliderCallback,
|
||||
variable=view_variable.VAR_OVERLAY_OPACITY,
|
||||
)
|
||||
self.qsb__overlay_opacity.grid(row=row)
|
||||
|
||||
|
||||
row+=1
|
||||
def sliderCallback(e):
|
||||
def overlayUiScalingSliderCallback(e):
|
||||
value = round(e,2)
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_OVERLAY_SETTINGS, value, "ui_scaling")
|
||||
view_variable.VAR_CURRENT_VALUE_OVERLAY_UI_SCALING.set(floatToPctStr(value))
|
||||
@@ -83,7 +86,7 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
slider_attr_name="qsb__overlay_ui_scaling_slider",
|
||||
slider_range=view_variable.SLIDER_RANGE_OVERLAY_UI_SCALING,
|
||||
slider_number_of_steps=view_variable.NUMBER_OF_STEPS_OVERLAY_UI_SCALING,
|
||||
command=sliderCallback,
|
||||
command=overlayUiScalingSliderCallback,
|
||||
variable=view_variable.VAR_OVERLAY_UI_SCALING,
|
||||
)
|
||||
self.qsb__overlay_ui_scaling.grid(row=row)
|
||||
@@ -107,7 +110,7 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
|
||||
|
||||
row+=1
|
||||
def sliderCallback(e):
|
||||
def overlaySmallLogSettingsXPosSliderCallback(e):
|
||||
value = round(e,2)
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_OVERLAY_SMALL_LOG_SETTINGS, value, "x_pos")
|
||||
view_variable.VAR_CURRENT_VALUE_OVERLAY_SMALL_LOG_X_POS.set(str(value))
|
||||
@@ -118,14 +121,14 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
slider_attr_name="qsb__overlay_small_log_settings_x_pos_slider",
|
||||
slider_range=view_variable.SLIDER_RANGE_OVERLAY_SMALL_LOG_X_POS,
|
||||
slider_number_of_steps=view_variable.NUMBER_OF_STEPS_OVERLAY_SMALL_LOG_X_POS,
|
||||
command=sliderCallback,
|
||||
command=overlaySmallLogSettingsXPosSliderCallback,
|
||||
variable=view_variable.VAR_OVERLAY_SMALL_LOG_X_POS,
|
||||
)
|
||||
self.qsb__overlay_small_log_settings_x_pos.grid(row=row)
|
||||
|
||||
|
||||
row+=1
|
||||
def sliderCallback(e):
|
||||
def overlaySmallLogSettingsYPosSliderCallback(e):
|
||||
value = round(e,2)
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_OVERLAY_SMALL_LOG_SETTINGS, value, "y_pos")
|
||||
view_variable.VAR_CURRENT_VALUE_OVERLAY_SMALL_LOG_Y_POS.set(str(value))
|
||||
@@ -136,14 +139,14 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
slider_attr_name="qsb__overlay_small_log_settings_y_pos_slider",
|
||||
slider_range=view_variable.SLIDER_RANGE_OVERLAY_SMALL_LOG_Y_POS,
|
||||
slider_number_of_steps=view_variable.NUMBER_OF_STEPS_OVERLAY_SMALL_LOG_Y_POS,
|
||||
command=sliderCallback,
|
||||
command=overlaySmallLogSettingsYPosSliderCallback,
|
||||
variable=view_variable.VAR_OVERLAY_SMALL_LOG_Y_POS,
|
||||
)
|
||||
self.qsb__overlay_small_log_settings_y_pos.grid(row=row)
|
||||
|
||||
|
||||
row+=1
|
||||
def sliderCallback(e):
|
||||
def overlaySmallLogSettingsDepthSliderCallback(e):
|
||||
value = round(e,2)
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_OVERLAY_SMALL_LOG_SETTINGS, value, "depth")
|
||||
view_variable.VAR_CURRENT_VALUE_OVERLAY_SMALL_LOG_DEPTH.set(str(value))
|
||||
@@ -154,14 +157,14 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
slider_attr_name="qsb__overlay_small_log_settings_depth_slider",
|
||||
slider_range=view_variable.SLIDER_RANGE_OVERLAY_SMALL_LOG_DEPTH,
|
||||
slider_number_of_steps=view_variable.NUMBER_OF_STEPS_OVERLAY_SMALL_LOG_DEPTH,
|
||||
command=sliderCallback,
|
||||
command=overlaySmallLogSettingsDepthSliderCallback,
|
||||
variable=view_variable.VAR_OVERLAY_SMALL_LOG_DEPTH,
|
||||
)
|
||||
self.qsb__overlay_small_log_settings_depth.grid(row=row)
|
||||
|
||||
|
||||
row+=1
|
||||
def sliderCallback(e):
|
||||
def overlaySmallLogSettingsDisplayDurationSliderCallback(e):
|
||||
value = int(e)
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_OVERLAY_SMALL_LOG_SETTINGS, value, "display_duration")
|
||||
view_variable.VAR_CURRENT_VALUE_OVERLAY_SMALL_LOG_DISPLAY_DURATION.set(f"{value} second(s)")
|
||||
@@ -172,7 +175,7 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
slider_attr_name="qsb__overlay_small_log_settings_display_duration_slider",
|
||||
slider_range=view_variable.SLIDER_RANGE_OVERLAY_SMALL_LOG_DISPLAY_DURATION,
|
||||
slider_number_of_steps=view_variable.NUMBER_OF_STEPS_OVERLAY_SMALL_LOG_DISPLAY_DURATION,
|
||||
command=sliderCallback,
|
||||
command=overlaySmallLogSettingsDisplayDurationSliderCallback,
|
||||
variable=view_variable.VAR_OVERLAY_SMALL_LOG_DISPLAY_DURATION,
|
||||
)
|
||||
self.qsb__overlay_small_log_settings_display_duration.grid(row=row)
|
||||
@@ -180,7 +183,7 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
|
||||
|
||||
row+=1
|
||||
def sliderCallback(e):
|
||||
def overlaySmallLogSettingsFadeoutDurationSliderCallback(e):
|
||||
value = int(e)
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_OVERLAY_SMALL_LOG_SETTINGS, value, "fadeout_duration")
|
||||
view_variable.VAR_CURRENT_VALUE_OVERLAY_SMALL_LOG_FADEOUT_DURATION.set(f"{value} second(s)")
|
||||
@@ -191,7 +194,7 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
slider_attr_name="qsb__overlay_small_log_settings_fadeout_duration_slider",
|
||||
slider_range=view_variable.SLIDER_RANGE_OVERLAY_SMALL_LOG_FADEOUT_DURATION,
|
||||
slider_number_of_steps=view_variable.NUMBER_OF_STEPS_OVERLAY_SMALL_LOG_FADEOUT_DURATION,
|
||||
command=sliderCallback,
|
||||
command=overlaySmallLogSettingsFadeoutDurationSliderCallback,
|
||||
variable=view_variable.VAR_OVERLAY_SMALL_LOG_FADEOUT_DURATION,
|
||||
)
|
||||
self.qsb__overlay_small_log_settings_fadeout_duration.grid(row=row)
|
||||
@@ -204,7 +207,7 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
|
||||
|
||||
|
||||
self.qsw_setting_box_bottom = CTkFrame(self.qsw_background, corner_radius=0, fg_color=self.settings.ctm.SB__BG_COLOR)
|
||||
self.qsw_setting_box_bottom = CTkFrame(self.qsw_background__overlay, corner_radius=0, fg_color=self.settings.ctm.SB__BG_COLOR)
|
||||
self.qsw_setting_box_bottom.grid(row=1, column=0, sticky="nsew")
|
||||
|
||||
self.qsw_setting_box_bottom.grid_columnconfigure((0,2), weight=1)
|
||||
@@ -236,9 +239,80 @@ class QuickSettingsWindow(CTkToplevel):
|
||||
)
|
||||
restore_default_settings_button.grid(row=0, column=0, pady=self.settings.uism.QSB__RESTORE_DEFAULT_SETTINGS_BUTTON_PADY)
|
||||
|
||||
self.qsw_background__overlay.grid_remove()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# VRChat mic mute sync
|
||||
self.qsw_background__vrc_mic_mute_sync = CTkFrame(self.qsw_background, corner_radius=0, fg_color=self.settings.ctm.SB__BG_COLOR)
|
||||
self.qsw_background__vrc_mic_mute_sync.grid(row=0, column=0, pady=(0,18), sticky="ew")
|
||||
self.qsw_background__vrc_mic_mute_sync.grid_columnconfigure(0, weight=1)
|
||||
|
||||
|
||||
self.qsw_setting_box__vrc_mic_mute_sync = CTkFrame(self.qsw_background__vrc_mic_mute_sync, corner_radius=0, fg_color=BG_HEX_COLOR)
|
||||
self.qsw_setting_box__vrc_mic_mute_sync.grid(row=0, column=0, sticky="ew")
|
||||
self.qsw_setting_box__vrc_mic_mute_sync.grid_columnconfigure(0, weight=1)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cqsb = _CreateQuickSettingBox(self.qsw_setting_box__vrc_mic_mute_sync, vrct_gui, settings, view_variable)
|
||||
createSettingBoxSlider = cqsb.createSettingBoxSlider
|
||||
createSettingBoxSwitch = cqsb.createSettingBoxSwitch
|
||||
|
||||
|
||||
row=0
|
||||
def enableVrcMicMuteSyncSwitchCallback(switch_widget):
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_VRC_MIC_MUTE_SYNC, switch_widget.get())
|
||||
|
||||
self.qsb__enable_vrc_mic_mute_sync = createSettingBoxSwitch(
|
||||
for_var_label_text=view_variable.VAR_LABEL_ENABLE_VRC_MIC_MUTE_SYNC,
|
||||
switch_attr_name="qsb__enable_vrc_mic_mute_sync_switch",
|
||||
command=lambda: enableVrcMicMuteSyncSwitchCallback(vrct_gui.qsb__enable_vrc_mic_mute_sync_switch),
|
||||
variable=view_variable.VAR_ENABLE_VRC_MIC_MUTE_SYNC,
|
||||
)
|
||||
self.qsb__enable_vrc_mic_mute_sync.grid(row=row)
|
||||
|
||||
|
||||
self.qsw_background__vrc_mic_mute_sync.grid_remove()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def show(self, target:str):
|
||||
if target == "overlay":
|
||||
self.qsw_background__vrc_mic_mute_sync.grid_remove()
|
||||
self.qsw_background__overlay.grid()
|
||||
elif target == "vrc_mic_mute_sync":
|
||||
self.qsw_background__overlay.grid_remove()
|
||||
self.qsw_background__vrc_mic_mute_sync.grid()
|
||||
|
||||
def show(self):
|
||||
self.attributes("-alpha", 0)
|
||||
self.deiconify()
|
||||
|
||||
self.qsw_background.update()
|
||||
self.geometry("{}x{}".format(self.qsw_background.winfo_width(), self.qsw_background.winfo_height()))
|
||||
|
||||
|
||||
|
||||
setGeometryToCenterOfScreen(root_widget=self)
|
||||
fadeInAnimation(self, steps=5, interval=0.02)
|
||||
@@ -111,6 +111,8 @@ def _darkTheme(base_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_TEXT_COLOR = base_color.DARK_BASIC_TEXT_COLOR,
|
||||
TOP_BAR_BUTTON_STATE_TEXT_ENABLED_COLOR = base_color.PRIMARY_300_COLOR,
|
||||
TOP_BAR_BUTTON_STATE_TEXT_DISABLED_COLOR = base_color.DARK_600_COLOR,
|
||||
|
||||
UPDATE_AVAILABLE_BUTTON_BG_COLOR = base_color.DARK_888_COLOR,
|
||||
UPDATE_AVAILABLE_BUTTON_HOVERED_BG_COLOR = base_color.DARK_850_COLOR,
|
||||
|
||||
@@ -111,6 +111,8 @@ def _lightTheme(base_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_TEXT_COLOR = base_color.LIGHT_BASIC_TEXT_COLOR,
|
||||
TOP_BAR_BUTTON_STATE_TEXT_ENABLED_COLOR = base_color.PRIMARY_400_COLOR,
|
||||
TOP_BAR_BUTTON_STATE_TEXT_DISABLED_COLOR = base_color.LIGHT_600_COLOR,
|
||||
|
||||
UPDATE_AVAILABLE_BUTTON_TEXT_COLOR = base_color.PRIMARY_400_COLOR,
|
||||
),
|
||||
|
||||
@@ -123,6 +123,13 @@ class UiScalingManager():
|
||||
|
||||
self.main.TOP_BAR_BUTTON_PADY = (self._calculateUiSize(6),0)
|
||||
|
||||
|
||||
|
||||
|
||||
self.main.QUICK_SETTINGS_BUTTON_FONT_SIZE = self._calculateUiSize(12)
|
||||
self.main.QUICK_SETTINGS_BUTTON_STATE_FONT_SIZE = self._calculateUiSize(10)
|
||||
|
||||
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_CORNER_RADIUS = self._calculateUiSize(6)
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_SIZE = (self._calculateUiSize(18), self._calculateUiSize(18))
|
||||
self.main.UPDATE_AVAILABLE_BUTTON_FONT_SIZE = self._calculateUiSize(12)
|
||||
|
||||
Reference in New Issue
Block a user