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:
@@ -394,6 +394,29 @@ class AnalysisMixin:
|
|||||||
self.selected_playlist_items = None
|
self.selected_playlist_items = None
|
||||||
self.selected_subtitles = []
|
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)
|
# Update UI components (safe - we're in main thread)
|
||||||
self.update_video_info(self.video_info)
|
self.update_video_info(self.video_info)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user