Merge branch 'view' into UI_2.0

This commit is contained in:
Sakamoto Shiina
2023-10-16 12:42:31 +09:00
8 changed files with 48 additions and 111 deletions

View File

@@ -186,6 +186,14 @@ def messageBoxPressKeyAny(e):
else:
model.oscStopSendTyping()
def messageBoxFocusIn(e):
view.foregroundOffIfForegroundEnabled()
def messageBoxFocusOut(e):
view.foregroundOnIfForegroundEnabled()
if config.ENABLE_SEND_MESSAGE_TO_VRC is True:
model.oscStopSendTyping()
# func select languages
def initSetLanguageAndCountry():
select = config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]
@@ -642,8 +650,10 @@ def createMainWindow():
"values": model.getListLanguageAndCountry(),
"callback_selected_language_preset_tab": callbackSelectedLanguagePresetTab,
"bind_Return": messageBoxPressKeyEnter,
"bind_Any_KeyPress": messageBoxPressKeyAny,
"message_box_bind_Return": messageBoxPressKeyEnter,
"message_box_bind_Any_KeyPress": messageBoxPressKeyAny,
"message_box_bind_FocusIn": messageBoxFocusIn,
"message_box_bind_FocusOut": messageBoxFocusOut,
},
config_window_registers={
@@ -672,8 +682,6 @@ def createMainWindow():
"callback_set_mic_word_filter": callbackSetMicWordFilter,
# Transcription Tab (Speaker)
# "callback_set_speaker_device": callbackSetSpeakerDevice,
"list_speaker_device": model.getListOutputDevice(),
"callback_set_speaker_energy_threshold": callbackSetSpeakerEnergyThreshold,
"callback_set_speaker_dynamic_energy_threshold": callbackSetSpeakerDynamicEnergyThreshold,
"callback_check_speaker_threshold": callbackCheckSpeakerThreshold,

View File

@@ -55,7 +55,7 @@ config_window:
restart_message: Apply changes with a restart.
side_menu_labels:
appearance: Appearance
translation: Translation
# translation: Translation
transcription: Transcription
transcription_mic: Mic
transcription_speaker: Speaker
@@ -75,8 +75,8 @@ config_window:
ui_language:
label: UI Language
deepl_auth_key:
label: DeepL Auth Key
# deepl_auth_key:
# label: DeepL Auth Key
mic_host:
label: Mic Host/Driver
@@ -102,8 +102,7 @@ config_window:
label: Mic Word Filter
desc: "It will not send the sentence if the word(s) included in the set list of words.\nHow to set: e.g. AAA,BBB,CCC"
speaker_device:
label: Speaker Device
speaker_dynamic_energy_threshold:
label_for_automatic: "Speaker Energy Threshold (Current Setting: Automatic)"
desc_for_automatic: "Automatically determine speaker input sensitivity."

View File

@@ -55,7 +55,7 @@ config_window:
restart_message: 再起動して変更を適用する。
side_menu_labels:
appearance: デザイン
translation: 翻訳
# translation: 翻訳
transcription: 音声認識
transcription_mic: マイク
transcription_speaker: スピーカー
@@ -75,8 +75,8 @@ config_window:
ui_language:
label: UIの言語 / UI Language
deepl_auth_key:
label: DeepL 認証キー
# deepl_auth_key:
# label: DeepL 認証キー
mic_host:
label: マイク(ホスト/ドライバー)
@@ -102,8 +102,7 @@ config_window:
label: ワードフィルター
desc: "設定された単語を検出すると、その文章は送信されません。\n設定の例: AAA,BBB,CCC"
speaker_device:
label: スピーカー(デバイス)
speaker_dynamic_energy_threshold:
label_for_automatic: "スピーカー入力感度の調整 (現在の設定: 自動)"
desc_for_automatic: スピーカーの入力感度を自動的に調節する。

58
view.py
View File

@@ -158,6 +158,7 @@ class View():
VAR_CURRENT_ACTIVE_CONFIG_TITLE=StringVar(value=""),
# Appearance Tab
VAR_LABEL_TRANSPARENCY=StringVar(value=i18n.t("config_window.transparency.label")),
VAR_DESC_TRANSPARENCY=StringVar(value=i18n.t("config_window.transparency.desc")),
SLIDER_RANGE_TRANSPARENCY=(50, 100),
@@ -193,11 +194,11 @@ class View():
VAR_UI_LANGUAGE=StringVar(value=selectable_languages[config.UI_LANGUAGE]),
VAR_LABEL_DEEPL_AUTH_KEY=StringVar(value=i18n.t("config_window.deepl_auth_key.label")),
VAR_DESC_DEEPL_AUTH_KEY=None,
CALLBACK_SET_DEEPL_AUTH_KEY=None,
VAR_DEEPL_AUTH_KEY=StringVar(value=""),
# Translation Tab
# VAR_LABEL_DEEPL_AUTH_KEY=StringVar(value=i18n.t("config_window.deepl_auth_key.label")),
# VAR_DESC_DEEPL_AUTH_KEY=None,
# CALLBACK_SET_DEEPL_AUTH_KEY=None,
# VAR_DEEPL_AUTH_KEY=StringVar(value=""),
# Transcription Tab (Mic)
@@ -252,13 +253,6 @@ class View():
# Transcription Tab (Speaker)
VAR_LABEL_SPEAKER_DEVICE=StringVar(value=i18n.t("config_window.speaker_device.label")),
VAR_DESC_SPEAKER_DEVICE=None,
LIST_SPEAKER_DEVICE=[],
CALLBACK_SET_SPEAKER_DEVICE=None,
VAR_SPEAKER_DEVICE=StringVar(value=config.CHOICE_SPEAKER_DEVICE),
VAR_LABEL_SPEAKER_DYNAMIC_ENERGY_THRESHOLD=StringVar(value=""),
VAR_DESC_SPEAKER_DYNAMIC_ENERGY_THRESHOLD=StringVar(value=""),
CALLBACK_SET_SPEAKER_DYNAMIC_ENERGY_THRESHOLD=None,
@@ -378,12 +372,12 @@ class View():
entry_message_box = getattr(vrct_gui, "entry_message_box")
entry_message_box.bind("<Return>", main_window_registers.get("bind_Return"))
entry_message_box.bind("<Any-KeyPress>", main_window_registers.get("bind_Any_KeyPress"))
entry_message_box.bind("<Return>", main_window_registers.get("message_box_bind_Return"))
entry_message_box.bind("<Any-KeyPress>", main_window_registers.get("message_box_bind_Any_KeyPress"))
entry_message_box.bind("<FocusIn>", self._foregroundOffForcefully)
entry_message_box.bind("<FocusOut>", self._foregroundOnForcefully)
entry_message_box.bind("<FocusIn>", main_window_registers.get("message_box_bind_FocusIn"))
entry_message_box.bind("<FocusOut>", main_window_registers.get("message_box_bind_FocusOut"))
self.updateGuiVariableByPresetTabNo(config.SELECTED_TAB_NO)
@@ -413,7 +407,7 @@ class View():
# Translation Tab
self.view_variable.CALLBACK_SET_DEEPL_AUTHKEY = config_window_registers.get("callback_set_deepl_authkey", None)
# self.view_variable.CALLBACK_SET_DEEPL_AUTHKEY = config_window_registers.get("callback_set_deepl_authkey", None)
# Transcription Tab (Mic)
self.view_variable.CALLBACK_SET_MIC_HOST = config_window_registers.get("callback_set_mic_host", None)
@@ -431,9 +425,6 @@ class View():
self.view_variable.CALLBACK_SET_MIC_WORD_FILTER = config_window_registers.get("callback_set_mic_word_filter", None)
# Transcription Tab (Speaker)
self.view_variable.CALLBACK_SET_SPEAKER_DEVICE = config_window_registers.get("callback_set_speaker_device", None)
config_window_registers.get("list_speaker_device", None) and self.updateList_SpeakerDevice(config_window_registers["list_speaker_device"])
self.view_variable.CALLBACK_SET_SPEAKER_ENERGY_THRESHOLD = config_window_registers.get("callback_set_speaker_energy_threshold", None)
self.view_variable.CALLBACK_SET_SPEAKER_DYNAMIC_ENERGY_THRESHOLD = config_window_registers.get("callback_set_speaker_dynamic_energy_threshold", None)
self.view_variable.CALLBACK_CHECK_SPEAKER_THRESHOLD = config_window_registers.get("callback_check_speaker_threshold", None)
@@ -483,17 +474,6 @@ class View():
)
self.replaceMicThresholdCheckButton_Disabled()
if config.CHOICE_SPEAKER_DEVICE == "NoDevice":
self.view_variable.VAR_SPEAKER_DEVICE.set("No Speaker Device Detected")
vrct_gui._changeConfigWindowWidgetsStatus(
status="disabled",
target_names=[
"sb__optionmenu_speaker_device",
]
)
self.replaceSpeakerThresholdCheckButton_Disabled()
if config.INPUT_MIC_DYNAMIC_ENERGY_THRESHOLD is True:
self.closeMicEnergyThresholdWidget()
@@ -543,11 +523,11 @@ class View():
def _foregroundOnForcefully(self, _e):
def foregroundOnIfForegroundEnabled(self):
if config.ENABLE_FOREGROUND:
self.foregroundOn()
def _foregroundOffForcefully(self, _e):
def foregroundOffIfForegroundEnabled(self):
if config.ENABLE_FOREGROUND:
self.foregroundOff()
@@ -788,10 +768,7 @@ class View():
def initSpeakerThresholdCheckButton(self):
if config.CHOICE_SPEAKER_DEVICE == "NoDevice":
self.replaceSpeakerThresholdCheckButton_Disabled()
else:
self.replaceSpeakerThresholdCheckButton_Passive()
self.replaceSpeakerThresholdCheckButton_Passive()
@staticmethod
def replaceSpeakerThresholdCheckButton_Active():
@@ -843,13 +820,6 @@ class View():
vrct_gui.config_window.sb__progressbar_x_slider__progressbar_mic_energy_threshold.set(0)
def updateList_SpeakerDevice(self, new_speaker_device_list:list):
self.view_variable.LIST_SPEAKER_DEVICE = new_speaker_device_list
vrct_gui.dropdown_menu_window.updateDropdownMenuValues(
dropdown_menu_widget_id="sb__optionmenu_speaker_device",
dropdown_menu_values=new_speaker_device_list,
)
@staticmethod
def updateSetProgressBar_SpeakerEnergy(new_speaker_energy):
vrct_gui.config_window.sb__progressbar_x_slider__progressbar_speaker_energy_threshold.set(new_speaker_energy/config.MAX_SPEAKER_ENERGY_THRESHOLD)

View File

@@ -27,11 +27,6 @@ def _changeConfigWindowWidgetsStatus(config_window, settings, view_variable, sta
target_widget = config_window.sb__widgets["sb__optionmenu_mic_device"]
disableOptionmenuWidget(target_widget)
case "sb__optionmenu_speaker_device":
if status == "disabled":
target_widget = config_window.sb__widgets["sb__optionmenu_speaker_device"]
disableOptionmenuWidget(target_widget)
case "sb__optionmenu_appearance_theme":
if status == "disabled":
target_widget = config_window.sb__widgets["sb__optionmenu_appearance_theme"]

View File

@@ -10,7 +10,7 @@ from .setting_box_containers.setting_box_appearance import createSettingBox_Appe
from .setting_box_containers.setting_box_transcription import createSettingBox_Mic, createSettingBox_Speaker
from .setting_box_containers.setting_box_others import createSettingBox_Others
from .setting_box_containers.setting_box_advanced_settings import createSettingBox_AdvancedSettings
from .setting_box_containers.setting_box_translation import createSettingBox_Translation
# from .setting_box_containers.setting_box_translation import createSettingBox_Translation
def createSideMenuAndSettingsBoxContainers(config_window, settings, view_variable):
@@ -66,18 +66,18 @@ def createSideMenuAndSettingsBoxContainers(config_window, settings, view_variabl
]
},
},
{
"side_menu_tab_attr_name": "side_menu_tab_translation",
"label_attr_name": "label_translation",
"selected_mark_attr_name": "selected_mark_translation",
"textvariable": view_variable.VAR_SIDE_MENU_LABEL_TRANSLATION,
"setting_box_container_settings": {
"setting_box_container_attr_name": "setting_box_container_translation",
"setting_boxes": [
{ "var_section_title": None, "setting_box": createSettingBox_Translation },
]
},
},
# {
# "side_menu_tab_attr_name": "side_menu_tab_translation",
# "label_attr_name": "label_translation",
# "selected_mark_attr_name": "selected_mark_translation",
# "textvariable": view_variable.VAR_SIDE_MENU_LABEL_TRANSLATION,
# "setting_box_container_settings": {
# "setting_box_container_attr_name": "setting_box_container_translation",
# "setting_boxes": [
# { "var_section_title": None, "setting_box": createSettingBox_Translation },
# ]
# },
# },
{
"side_menu_tab_attr_name": "side_menu_tab_transcription",
"label_attr_name": "label_transcription",

View File

@@ -4,7 +4,6 @@ from .._SettingBoxGenerator import _SettingBoxGenerator
def createSettingBox_Speaker(setting_box_wrapper, config_window, settings, view_variable):
sbg = _SettingBoxGenerator(setting_box_wrapper, config_window, settings, view_variable)
createSettingBoxDropdownMenu = sbg.createSettingBoxDropdownMenu
createSettingBoxSwitch = sbg.createSettingBoxSwitch
createSettingBoxProgressbarXSlider = sbg.createSettingBoxProgressbarXSlider
createSettingBoxEntry = sbg.createSettingBoxEntry
@@ -14,9 +13,6 @@ def createSettingBox_Speaker(setting_box_wrapper, config_window, settings, view_
callFunctionIfCallable(view_variable.CALLBACK_CHECK_SPEAKER_THRESHOLD, is_turned_on)
def optionmenu_input_speaker_device_callback(value):
callFunctionIfCallable(view_variable.CALLBACK_SET_SPEAKER_DEVICE, value)
def slider_input_speaker_energy_threshold_callback(value):
callFunctionIfCallable(view_variable.CALLBACK_SET_SPEAKER_ENERGY_THRESHOLD, value)
@@ -36,18 +32,6 @@ def createSettingBox_Speaker(setting_box_wrapper, config_window, settings, view_
row=0
config_window.sb__speaker_device = createSettingBoxDropdownMenu(
for_var_label_text=view_variable.VAR_LABEL_SPEAKER_DEVICE,
for_var_desc_text=view_variable.VAR_DESC_SPEAKER_DEVICE,
optionmenu_attr_name="sb__optionmenu_speaker_device",
dropdown_menu_values=view_variable.LIST_SPEAKER_DEVICE,
dropdown_menu_width=settings.uism.RESPONSIVE_UI_SIZE_INT_500,
command=lambda value: optionmenu_input_speaker_device_callback(value),
variable=view_variable.VAR_SPEAKER_DEVICE,
)
config_window.sb__speaker_device.grid(row=row)
row+=1
config_window.sb__speaker_dynamic_energy_threshold = createSettingBoxSwitch(
for_var_label_text=view_variable.VAR_LABEL_SPEAKER_DYNAMIC_ENERGY_THRESHOLD,
for_var_desc_text=view_variable.VAR_DESC_SPEAKER_DYNAMIC_ENERGY_THRESHOLD,

View File

@@ -3,22 +3,4 @@ from utils import callFunctionIfCallable
from .._SettingBoxGenerator import _SettingBoxGenerator
def createSettingBox_Translation(setting_box_wrapper, config_window, settings, view_variable):
sbg = _SettingBoxGenerator(setting_box_wrapper, config_window, settings, view_variable)
createSettingBoxEntry = sbg.createSettingBoxEntry
def deepl_authkey_callback(value):
callFunctionIfCallable(view_variable.CALLBACK_SET_DEEPL_AUTHKEY, value)
row=0
config_window.sb__deepl_authkey = createSettingBoxEntry(
for_var_label_text=view_variable.VAR_LABEL_DEEPL_AUTH_KEY,
for_var_desc_text=view_variable.VAR_DESC_DEEPL_AUTH_KEY,
entry_attr_name="sb__entry_deepl_authkey",
entry_width=settings.uism.RESPONSIVE_UI_SIZE_INT_300,
entry_bind__Any_KeyRelease=lambda value: deepl_authkey_callback(value),
entry_textvariable=view_variable.VAR_DEEPL_AUTH_KEY,
)
config_window.sb__deepl_authkey.grid(row=row, pady=0)
row+=1
pass