From 17765e484f8024b79895ea4c921334f01c25f120 Mon Sep 17 00:00:00 2001 From: Stu Leak Date: Wed, 31 Dec 2025 15:48:29 -0500 Subject: [PATCH] fix(convert): Fix scrolling and add horizontal padding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Removed outer VScroll that was scrolling entire content including video player - Added VScroll to Simple tab (Advanced already had it) - Only settings panel now scrolls, video/metadata stay fixed - Changed mainContent to use NewPadded for horizontal spacing - Improves usability and reduces claustrophobic feeling 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- main.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index ed36902..f993ac0 100644 --- a/main.go +++ b/main.go @@ -8479,8 +8479,9 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { // Wrap simple options with settings box at top simpleWithSettings := container.NewVBox(settingsBox, simpleOptions) - // Keep Simple lightweight; wrap Advanced in its own scroll to avoid bloating MinSize. - simpleScrollBox := simpleWithSettings + // Both Simple and Advanced get their own scrolling + simpleScrollBox := container.NewVScroll(simpleWithSettings) + simpleScrollBox.SetMinSize(fyne.NewSize(0, 0)) advancedScrollBox := container.NewVScroll(advancedOptions) advancedScrollBox.SetMinSize(fyne.NewSize(0, 0)) @@ -8714,8 +8715,8 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { // Split: left side (video + metadata) takes 60% | right side (options) takes 40% mainSplit := container.New(&fixedHSplitLayout{ratio: 0.6}, leftColumn, optionsPanel) - // Core content now just the split; ancillary controls stack in bottomSection. - mainContent := container.NewMax(mainSplit) + // Add horizontal padding around the split (10px on each side) + mainContent := container.NewPadded(mainSplit) resetBtn := widget.NewButton("Reset", func() { if resetConvertDefaults != nil { @@ -9042,8 +9043,6 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { // Update stats bar state.updateStatsBar() - scrollableMain := container.NewVScroll(mainContent) - // Build footer sections footerSections := []fyne.CanvasObject{ snippetRow, @@ -9058,7 +9057,7 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { nil, container.NewVBox(footerSections...), nil, nil, - container.NewMax(scrollableMain), + mainContent, ) return container.NewBorder(backBar, moduleFooter(convertColor, actionBar, state.statsBar), nil, nil, mainWithFooter)