From 717e9b40aee8a9e2a76f9d1cc909db90a9373a4c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:32:20 +0300 Subject: [PATCH] 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. --- ytsage/gui/ytsage_gui_analysis.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/ytsage/gui/ytsage_gui_analysis.py b/ytsage/gui/ytsage_gui_analysis.py index e05ee70..2dd4f42 100644 --- a/ytsage/gui/ytsage_gui_analysis.py +++ b/ytsage/gui/ytsage_gui_analysis.py @@ -393,6 +393,29 @@ class AnalysisMixin: self.available_automatic_subtitles = result_data["available_automatic_subtitles"] 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)