Write auto-subs only if selected; show count
Downloader: add detection for "Auto-generated" subtitle selection and only append --write-auto-subs when an auto-generated subtitle is explicitly chosen (prevents always enabling the flag when any subtitles are requested). GUI: update subtitle label to display the number of selected subtitles when >0, falling back to the zero-selected message otherwise. Small UX and behavior fixes in DownloadThread and AnalysisMixin.
This commit is contained in:
@@ -352,17 +352,21 @@ class DownloadThread(QThread):
|
|||||||
|
|
||||||
# Get language codes from subtitle selections
|
# Get language codes from subtitle selections
|
||||||
lang_codes: List[str] = []
|
lang_codes: List[str] = []
|
||||||
|
has_auto_generated = False
|
||||||
for sub_selection in self.subtitle_langs:
|
for sub_selection in self.subtitle_langs:
|
||||||
try:
|
try:
|
||||||
# Extract just the language code (e.g., 'en' from 'en - Manual')
|
# Extract just the language code (e.g., 'en' from 'en - Manual')
|
||||||
lang_code = sub_selection.split(" - ")[0]
|
lang_code = sub_selection.split(" - ")[0]
|
||||||
lang_codes.append(lang_code)
|
lang_codes.append(lang_code)
|
||||||
|
if "Auto-generated" in sub_selection:
|
||||||
|
has_auto_generated = True
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.exception(f"Could not parse subtitle selection '{sub_selection}': {e}")
|
logger.exception(f"Could not parse subtitle selection '{sub_selection}': {e}")
|
||||||
|
|
||||||
if lang_codes:
|
if lang_codes:
|
||||||
cmd.extend(["--sub-langs", ",".join(lang_codes)])
|
cmd.extend(["--sub-langs", ",".join(lang_codes)])
|
||||||
cmd.append("--write-auto-subs") # Include auto-generated subtitles
|
if has_auto_generated:
|
||||||
|
cmd.append("--write-auto-subs") # Include auto-generated subtitles
|
||||||
|
|
||||||
# Only embed subtitles if merge is enabled
|
# Only embed subtitles if merge is enabled
|
||||||
if self.merge_subs:
|
if self.merge_subs:
|
||||||
|
|||||||
@@ -435,7 +435,11 @@ class AnalysisMixin:
|
|||||||
self.download_thumbnail_file(self.video_url, self.last_path)
|
self.download_thumbnail_file(self.video_url, self.last_path)
|
||||||
|
|
||||||
# Update subtitle UI
|
# Update subtitle UI
|
||||||
self.signals.selected_subs_label_text.emit(_("main_ui.zero_selected"))
|
count = len(self.selected_subtitles)
|
||||||
|
if count > 0:
|
||||||
|
self.signals.selected_subs_label_text.emit(_("subtitle_selection.count_selected", count=count))
|
||||||
|
else:
|
||||||
|
self.signals.selected_subs_label_text.emit(_("main_ui.zero_selected"))
|
||||||
|
|
||||||
# Update format table
|
# Update format table
|
||||||
self.video_button.setChecked(True)
|
self.video_button.setChecked(True)
|
||||||
|
|||||||
Reference in New Issue
Block a user