91 lines
4.4 KiB
Python
91 lines
4.4 KiB
Python
from customtkinter import CTkImage
|
|
|
|
def _changeConfigWindowWidgetsStatus(config_window, settings, view_variable, status, target_names):
|
|
# if target_names == "All":
|
|
# target_names = []
|
|
|
|
|
|
def disableLabelsWidgets(target_widget):
|
|
target_widget.label_widget.configure(text_color=settings.ctm.LABELS_TEXT_DISABLED_COLOR)
|
|
if target_widget.desc_widget is not None:
|
|
target_widget.desc_widget.configure(text_color=settings.ctm.LABELS_TEXT_DISABLED_COLOR)
|
|
|
|
def normalLabelsWidgets(target_widget):
|
|
target_widget.label_widget.configure(text_color=settings.ctm.LABELS_TEXT_COLOR)
|
|
if target_widget.desc_widget is not None:
|
|
target_widget.desc_widget.configure(text_color=settings.ctm.LABELS_DESC_TEXT_COLOR)
|
|
|
|
|
|
def disableOptionmenuWidget(target_widget):
|
|
target_widget.optionmenu_label_widget.configure(text_color=settings.ctm.LABELS_TEXT_DISABLED_COLOR)
|
|
target_widget.optionmenu_img_widget.configure(image=CTkImage(settings.image_file.ARROW_LEFT_DISABLED.rotate(90), size=settings.uism.SB__OPTIONMENU_IMG_SIZE))
|
|
target_widget.optionmenu_box.unbindFunction()
|
|
target_widget.optionmenu_box.configure(cursor="")
|
|
|
|
def normalOptionmenuWidget(target_widget):
|
|
target_widget.optionmenu_label_widget.configure(text_color=settings.ctm.LABELS_TEXT_COLOR)
|
|
target_widget.optionmenu_img_widget.configure(image=CTkImage(settings.image_file.ARROW_LEFT.rotate(90), size=settings.uism.SB__OPTIONMENU_IMG_SIZE))
|
|
target_widget.optionmenu_box.bindFunction()
|
|
target_widget.optionmenu_box.configure(cursor="hand2")
|
|
|
|
|
|
for target_name in target_names:
|
|
match target_name:
|
|
case "sb__optionmenu_mic_host":
|
|
if status == "disabled":
|
|
target_widget = config_window.sb__widgets["sb__optionmenu_mic_host"]
|
|
disableLabelsWidgets(target_widget)
|
|
disableOptionmenuWidget(target_widget)
|
|
|
|
case "sb__optionmenu_mic_device":
|
|
if status == "disabled":
|
|
target_widget = config_window.sb__widgets["sb__optionmenu_mic_device"]
|
|
disableLabelsWidgets(target_widget)
|
|
disableOptionmenuWidget(target_widget)
|
|
|
|
case "sb__optionmenu_appearance_theme":
|
|
if status == "disabled":
|
|
target_widget = config_window.sb__widgets["sb__optionmenu_appearance_theme"]
|
|
disableLabelsWidgets(target_widget)
|
|
disableOptionmenuWidget(target_widget)
|
|
|
|
case "sb__optionmenu_ctranslate2_weight_type":
|
|
target_widget = config_window.sb__widgets["sb__optionmenu_ctranslate2_weight_type"]
|
|
if status == "disabled":
|
|
disableOptionmenuWidget(target_widget)
|
|
elif status == "normal":
|
|
normalOptionmenuWidget(target_widget)
|
|
|
|
|
|
case "sb__switch_use_translation_feature":
|
|
target_widget = config_window.sb__widgets["sb__switch_use_translation_feature"]
|
|
if status == "disabled":
|
|
target_widget.switch_box.configure(
|
|
state="disabled",
|
|
fg_color=settings.ctm.SB__SWITCH_BOX_BG_DISABLED_COLOR,
|
|
progress_color=settings.ctm.SB__SWITCH_BOX_ACTIVE_BG_DISABLED_COLOR,
|
|
button_color=settings.ctm.SB__SWITCH_BOX_BUTTON_DISABLED_COLOR,
|
|
)
|
|
elif status == "normal":
|
|
target_widget.switch_box.configure(
|
|
state="normal",
|
|
fg_color=settings.ctm.SB__SWITCH_BOX_BG_COLOR,
|
|
progress_color=settings.ctm.SB__SWITCH_BOX_ACTIVE_BG_COLOR,
|
|
button_color=settings.ctm.SB__SWITCH_BOX_BUTTON_COLOR,
|
|
)
|
|
|
|
case "sb__checkbox_enable_send_received_message_to_vrc":
|
|
if status == "disabled":
|
|
target_widget = config_window.sb__widgets["sb__checkbox_enable_send_received_message_to_vrc"]
|
|
disableLabelsWidgets(target_widget)
|
|
target_widget.checkbox.configure(
|
|
state="disabled",
|
|
border_color=settings.ctm.SB__CHECKBOX_BORDER_DISABLED_COLOR
|
|
)
|
|
|
|
case _:
|
|
raise ValueError(f"No matching case for target_name: {target_name}")
|
|
|
|
|
|
|
|
config_window.update() |