Compare commits

...

2 Commits

Author SHA1 Message Date
7bf03dec9f Lock module splits to fixed 60-40 layout 2025-12-21 16:23:59 -05:00
8bc621b583 Enforce fixed Upscale split ratio 2025-12-21 16:19:55 -05:00

32
main.go
View File

@ -146,24 +146,14 @@ func (l *fixedHSplitLayout) Layout(objects []fyne.CanvasObject, size fyne.Size)
return
}
minLead := float64(lead.MinSize().Width)
minTrail := float64(trail.MinSize().Width)
ratio := float64(l.ratio)
if ratio <= 0 {
ratio = 0.6
}
min := minLead / total
max := 1 - (minTrail / total)
if min <= max {
if ratio < min {
ratio = min
}
if ratio > max {
ratio = max
}
} else {
ratio = minLead / (minLead + minTrail)
if ratio < 0.1 {
ratio = 0.1
} else if ratio > 0.9 {
ratio = 0.9
}
leadWidth := float32(total * ratio)
@ -3051,8 +3041,7 @@ func (s *appState) showMergeView() {
container.NewHBox(addQueueBtn, runNowBtn),
)
content := container.NewHSplit(left, right)
content.Offset = 0.55
content := container.New(&fixedHSplitLayout{ratio: 0.6}, left, right)
s.setContent(container.NewBorder(topBar, bottomBar, nil, nil, container.NewPadded(content)))
buildList()
@ -7725,9 +7714,8 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject {
// Stack video and metadata directly so metadata sits immediately under the player.
leftColumn := container.NewVBox(videoPanel, metaPanel)
// Split: left side (video + metadata VSplit) takes 55% | right side (options) takes 45%
mainSplit := container.NewHSplit(leftColumn, optionsPanel)
mainSplit.Offset = 0.55 // Video/metadata column gets 55%, options gets 45%
// 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)
@ -12895,8 +12883,7 @@ func buildThumbView(state *appState) fyne.CanvasObject {
settingsPanel,
)
mainContent := container.NewHSplit(leftColumn, rightColumn)
mainContent.Offset = 0.55 // Give more space to preview
mainContent := container.New(&fixedHSplitLayout{ratio: 0.6}, leftColumn, rightColumn)
content := container.NewBorder(
container.NewVBox(instructions, widget.NewSeparator(), fileLabel, container.NewHBox(loadBtn, clearBtn)),
@ -13846,11 +13833,10 @@ func buildUpscaleView(state *appState) fyne.CanvasObject {
// Adaptive height for small screens
settingsScroll.SetMinSize(fyne.NewSize(400, 400))
mainContent := container.NewHSplit(
mainContent := container.New(&fixedHSplitLayout{ratio: 0.6},
container.NewVBox(leftPanel, videoContainer),
settingsScroll,
)
mainContent.SetOffset(0.55) // 55% for video preview, 45% for settings
content := container.NewPadded(mainContent)