Preselect default subtitles from config

Load user's default_subtitle_language from ConfigManager and preselect matching manual or auto-generated subtitles on analysis load. Handles comma-separated strings, checks against available_subtitles and available_automatic_subtitles, and updates the selected subtitles list. Attempts to update the UI label and button state (with style refresh) inside a try/except to avoid errors during initialization.
This commit is contained in:
oop7
2026-04-25 10:32:20 +03:00
parent ab7d77800a
commit 717e9b40ae
+23
View File
@@ -394,6 +394,29 @@ class AnalysisMixin:
self.selected_playlist_items = None
self.selected_subtitles = []
from ..utils.ytsage_config_manager import ConfigManager
default_sub = ConfigManager.get("default_subtitle_language")
if default_sub:
if isinstance(default_sub, str):
default_sub_list = [s.strip() for s in default_sub.split(",")]
else:
default_sub_list = []
for lang in default_sub_list:
if lang in self.available_subtitles:
self.selected_subtitles.append(f"{lang} - Manual")
elif lang in self.available_automatic_subtitles:
self.selected_subtitles.append(f"{lang} - Auto-generated")
count = len(self.selected_subtitles)
try:
self.signals.selected_subs_label_text.emit(_("subtitle_selection.count_selected", count=count))
self.subtitle_select_btn.setProperty("subtitlesSelected", count > 0)
self.subtitle_select_btn.style().unpolish(self.subtitle_select_btn)
self.subtitle_select_btn.style().polish(self.subtitle_select_btn)
except Exception:
pass
# Update UI components (safe - we're in main thread)
self.update_video_info(self.video_info)