Commit Graph
13 Commits
Author SHA1 Message Date
tri 3e65f21fcb feat(playlist): compact rows with clean titles and durations 2026-11-13 22:52:29 +07:00
tri 76b12d6632 feat(translate): keep translated subtitles next to the video so they load on reopen (#14)
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-13 22:49:56 +07:00
tri b34a01a92f fix(mpv): auto-select subtitle and audio tracks on file open (#12)
Closes #7

mpv only turns on a subtitle that is flagged default or matches `slang`, so releases like VisionQuest (Russian dub by default, ru/ru/en subtitles, none flagged) open with subtitles off, which also disabled **Translate subtitle**.

- New `TrackSelection` helpers in `qtpotato_core` with unit tests.
- On file load: audio follows *Preferred languages* (Playback settings); subtitle follows *Preferred languages* (Subtitles settings), else keeps mpv's choice, else (new *Turn on a subtitle when none matches*, on by default) picks a full text subtitle in the system language, then English, then the audio language, then the default/first track.
- Translate is enabled whenever the file has a text subtitle; with none or a bitmap subtitle shown it translates the best text track (English first).

Verified in the real app on VisionQuest S01E01: subtitle 3 (en) is selected on open; with audio set to `en` and auto-select off, audio switches to track 7, subtitle stays off and Translate stays enabled with the English source.

Reviewed-on: #12
Co-authored-by: Tri Vo Khac <git@trivk.dev>
2026-11-13 21:15:22 +07:00
tri de9e6484ee feat(ui): style app menus and extract glossary dialog
- Add AppMenu and AppMenuItem so menu labels, mnemonics and shortcuts render consistently under org.kde.union
- Move the translation glossary into GlossaryDialog with add, remove and clear-all actions
- Regroup the translation preset and instructions settings layout
2026-11-07 15:03:37 +07:00
tri 9e55dba687 feat(translate): add per-series glossary with auto extraction 2026-11-07 13:28:32 +07:00
tri 18ba92a6e3 feat(translate): add translation presets and custom instructions 2026-11-07 13:28:32 +07:00
tri 359162828d fix(ui): respect Plasma style and add app branding
- Preserve the platform-selected QtQuick style on Plasma
- Add the QtPotato desktop entry and bundled app icon
- Remove the empty-state open-file action
2026-10-28 10:03:25 +07:00
triandClaude Opus 5.5 614a31db1b feat: rebuild the interface after Haruna
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 09:26:47 +07:00
triandClaude Opus 5.5 54ad4eecf3 feat: add playlist, recent files and MPRIS backends
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 09:26:12 +07:00
tri 6b5742b2ca feat: load the user's mpv.conf 2026-10-28 00:03:01 +07:00
tri 4665bf632a feat: translate subtitles with an OpenAI-compatible LLM 2026-10-27 22:43:03 +07:00
tri 48cac86d60 feat: add subtitle track selection, secondary subtitle and delay 2026-10-27 22:18:36 +07:00
triandClaude Opus 5.5 1eb67b829c feat: add Kirigami app skeleton with libmpv playback
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:09:52 +07:00