fix(convert): Fix scrolling and add horizontal padding
- 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 <noreply@anthropic.com>
This commit is contained in:
parent
079969d375
commit
17765e484f
13
main.go
13
main.go
|
|
@ -8479,8 +8479,9 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject {
|
||||||
// Wrap simple options with settings box at top
|
// Wrap simple options with settings box at top
|
||||||
simpleWithSettings := container.NewVBox(settingsBox, simpleOptions)
|
simpleWithSettings := container.NewVBox(settingsBox, simpleOptions)
|
||||||
|
|
||||||
// Keep Simple lightweight; wrap Advanced in its own scroll to avoid bloating MinSize.
|
// Both Simple and Advanced get their own scrolling
|
||||||
simpleScrollBox := simpleWithSettings
|
simpleScrollBox := container.NewVScroll(simpleWithSettings)
|
||||||
|
simpleScrollBox.SetMinSize(fyne.NewSize(0, 0))
|
||||||
advancedScrollBox := container.NewVScroll(advancedOptions)
|
advancedScrollBox := container.NewVScroll(advancedOptions)
|
||||||
advancedScrollBox.SetMinSize(fyne.NewSize(0, 0))
|
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%
|
// Split: left side (video + metadata) takes 60% | right side (options) takes 40%
|
||||||
mainSplit := container.New(&fixedHSplitLayout{ratio: 0.6}, leftColumn, optionsPanel)
|
mainSplit := container.New(&fixedHSplitLayout{ratio: 0.6}, leftColumn, optionsPanel)
|
||||||
|
|
||||||
// Core content now just the split; ancillary controls stack in bottomSection.
|
// Add horizontal padding around the split (10px on each side)
|
||||||
mainContent := container.NewMax(mainSplit)
|
mainContent := container.NewPadded(mainSplit)
|
||||||
|
|
||||||
resetBtn := widget.NewButton("Reset", func() {
|
resetBtn := widget.NewButton("Reset", func() {
|
||||||
if resetConvertDefaults != nil {
|
if resetConvertDefaults != nil {
|
||||||
|
|
@ -9042,8 +9043,6 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject {
|
||||||
// Update stats bar
|
// Update stats bar
|
||||||
state.updateStatsBar()
|
state.updateStatsBar()
|
||||||
|
|
||||||
scrollableMain := container.NewVScroll(mainContent)
|
|
||||||
|
|
||||||
// Build footer sections
|
// Build footer sections
|
||||||
footerSections := []fyne.CanvasObject{
|
footerSections := []fyne.CanvasObject{
|
||||||
snippetRow,
|
snippetRow,
|
||||||
|
|
@ -9058,7 +9057,7 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject {
|
||||||
nil,
|
nil,
|
||||||
container.NewVBox(footerSections...),
|
container.NewVBox(footerSections...),
|
||||||
nil, nil,
|
nil, nil,
|
||||||
container.NewMax(scrollableMain),
|
mainContent,
|
||||||
)
|
)
|
||||||
return container.NewBorder(backBar, moduleFooter(convertColor, actionBar, state.statsBar), nil, nil, mainWithFooter)
|
return container.NewBorder(backBar, moduleFooter(convertColor, actionBar, state.statsBar), nil, nil, mainWithFooter)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user