Collapse snippet tools behind a toggle

This commit is contained in:
Stu Leak 2025-12-20 16:27:19 -05:00
parent 7b264c7224
commit a7b92cfa8e
3 changed files with 22 additions and 2 deletions

View File

@ -831,6 +831,7 @@ This file tracks completed features, fixes, and milestones.
- ✅ Default bitrate preset normalized to 2.5 Mbps to avoid "select one"
- ✅ Linked simple and advanced bitrate presets so they stay in sync
- ✅ Hide quality presets when bitrate mode is not CRF
- ✅ Collapsed snippet tools behind a toggle in the convert footer
- ✅ Stabilized video seeking and embedded rendering
- ✅ Improved player window positioning
- ✅ Fixed clear video functionality

View File

@ -64,6 +64,7 @@ This file tracks upcoming features, improvements, and known issues.
- Default bitrate preset normalized to 2.5 Mbps to prevent empty select
- Simple/advanced bitrate presets synced
- Quality presets hidden when bitrate mode is not CRF
- Snippet tools collapsed behind a toggle to reduce footer clutter
*Last Updated: 2025-12-20*

22
main.go
View File

@ -7235,6 +7235,24 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject {
snippetRow = container.NewHBox(snippetBtn, layout.NewSpacer(), snippetHint)
}
snippetTools := container.NewVBox(snippetConfigRow, snippetRow)
snippetTools.Hide()
snippetToolsVisible := false
snippetToggleBtn := widget.NewButton("Show Snippet Tools", func() {
if snippetToolsVisible {
snippetTools.Hide()
snippetToggleBtn.SetText("Show Snippet Tools")
} else {
snippetTools.Show()
snippetToggleBtn.SetText("Hide Snippet Tools")
}
snippetToolsVisible = !snippetToolsVisible
})
snippetToggleBtn.Importance = widget.LowImportance
if src == nil {
snippetToggleBtn.Disable()
}
// Stack video and metadata directly so metadata sits immediately under the player.
leftColumn := container.NewVBox(videoPanel, metaPanel)
@ -7558,8 +7576,8 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject {
// Build footer sections
footerSections := []fyne.CanvasObject{
snippetConfigRow,
snippetRow,
snippetToggleBtn,
snippetTools,
widget.NewSeparator(),
}
if commandPreviewRow != nil && state.convertCommandPreviewShow {