From 759106f9a4abf0e32777a6e9f357e5499206e354 Mon Sep 17 00:00:00 2001 From: Stu Leak Date: Sun, 4 Jan 2026 19:27:57 -0500 Subject: [PATCH] Simplify Whisper UI when auto-detected --- subtitles_module.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/subtitles_module.go b/subtitles_module.go index 52db66b..f0c6d99 100644 --- a/subtitles_module.go +++ b/subtitles_module.go @@ -186,6 +186,26 @@ func buildSubtitlesView(state *appState) fyne.CanvasObject { state.persistSubtitlesConfig() } + backendLabel := widget.NewLabel("") + modelLabel := widget.NewLabel("") + refreshWhisperUI := func() { + if strings.TrimSpace(state.subtitleBackendPath) != "" { + backendLabel.SetText(fmt.Sprintf("Whisper backend: %s", state.subtitleBackendPath)) + backendEntry.Hide() + } else { + backendLabel.SetText("") + backendEntry.Show() + } + if strings.TrimSpace(state.subtitleModelPath) != "" { + modelLabel.SetText(fmt.Sprintf("Whisper model: %s", state.subtitleModelPath)) + modelEntry.Hide() + } else { + modelLabel.SetText("") + modelEntry.Show() + } + } + refreshWhisperUI() + outputEntry := widget.NewEntry() outputEntry.SetPlaceHolder("Output video path (for embed/burn)") outputEntry.SetText(state.subtitleBurnOutput) @@ -435,6 +455,7 @@ func buildSubtitlesView(state *appState) fyne.CanvasObject { modelEntry.SetText(state.subtitleModelPath) outputEntry.SetText(state.subtitleBurnOutput) offsetEntry.SetText(fmt.Sprintf("%.2f", state.subtitleTimeOffset)) + refreshWhisperUI() } loadCfgBtn := widget.NewButton("Load Config", func() { @@ -485,7 +506,9 @@ func buildSubtitlesView(state *appState) fyne.CanvasObject { applyOffsetBtn, widget.NewSeparator(), widget.NewLabelWithStyle("Offline Speech-to-Text (whisper.cpp)", fyne.TextAlignLeading, fyne.TextStyle{Bold: true}), + backendLabel, backendEntry, + modelLabel, modelEntry, container.NewHBox(generateBtn), widget.NewSeparator(),