Fix enable/disable subtitle_combo fom voice mixer

This commit is contained in:
Deniz Şafak
2025-05-02 21:16:51 +03:00
parent 07a2fe2d5b
commit d5388c62be
-20
View File
@@ -475,7 +475,6 @@ class VoiceFormulaDialog(QDialog):
self.add_voices(initial_state or [])
self.update_weighted_sums()
self.update_subtitle_combo_enabled()
# assemble splitter
splitter.addWidget(profile_widget)
@@ -496,8 +495,6 @@ class VoiceFormulaDialog(QDialog):
for vm in self.voice_mixers:
vm.spin_box.valueChanged.connect(self.mark_profile_modified)
vm.checkbox.stateChanged.connect(lambda *_: self.mark_profile_modified())
vm.spin_box.valueChanged.connect(self.update_subtitle_combo_enabled)
vm.checkbox.stateChanged.connect(self.update_subtitle_combo_enabled)
def keyPressEvent(self, event):
# Bind Delete key to delete_profile when a profile is selected
@@ -682,8 +679,6 @@ class VoiceFormulaDialog(QDialog):
voice_mixer.checkbox.stateChanged.connect(
lambda *_: self.mark_profile_modified()
)
voice_mixer.spin_box.valueChanged.connect(self.update_subtitle_combo_enabled)
voice_mixer.checkbox.stateChanged.connect(self.update_subtitle_combo_enabled)
return voice_mixer
def handle_voice_checkbox(self, voice_mixer, state):
@@ -743,20 +738,6 @@ class VoiceFormulaDialog(QDialog):
self.error_label.show()
self.weighted_sums_container.hide()
def update_subtitle_combo_enabled(self):
# Only enable subtitle_combo if at least one selected voice is from supported languages
selected_langs = set()
for vm in self.voice_mixers:
if vm.checkbox.isChecked() and vm.spin_box.value() > 0:
lang_code = vm.voice_name[0]
selected_langs.add(lang_code)
enable = any(
lang in SUPPORTED_LANGUAGES_FOR_SUBTITLE_GENERATION
for lang in selected_langs
)
if self.subtitle_combo:
self.subtitle_combo.setEnabled(enable)
def disable_voice_by_name(self, voice_name):
for mixer in self.voice_mixers:
if mixer.voice_name == voice_name:
@@ -819,7 +800,6 @@ class VoiceFormulaDialog(QDialog):
# sync enabled state
vm.toggle_inputs()
self.update_weighted_sums()
self.update_subtitle_combo_enabled()
def save_profile_by_name(self, name):
profiles = load_profiles()