From 762403b77048013f5274bda3bb04ccc862eedf2d Mon Sep 17 00:00:00 2001 From: Stu Leak Date: Sat, 20 Dec 2025 16:41:07 -0500 Subject: [PATCH] Lower video pane min sizes for window snapping --- DONE.md | 1 + TODO.md | 1 + main.go | 10 +++++----- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/DONE.md b/DONE.md index b386e0d..8f8e71a 100644 --- a/DONE.md +++ b/DONE.md @@ -832,6 +832,7 @@ This file tracks completed features, fixes, and milestones. - ✅ Linked simple and advanced bitrate presets so they stay in sync - ✅ Hide quality presets when bitrate mode is not CRF - ✅ Snippet UI now shows Convert Snippet + batch + options with context-sensitive controls +- ✅ Reduced module video pane minimum sizes to allow GNOME window snapping - ✅ Stabilized video seeking and embedded rendering - ✅ Improved player window positioning - ✅ Fixed clear video functionality diff --git a/TODO.md b/TODO.md index a5e5f8a..9dd360d 100644 --- a/TODO.md +++ b/TODO.md @@ -65,6 +65,7 @@ This file tracks upcoming features, improvements, and known issues. - Simple/advanced bitrate presets synced - Quality presets hidden when bitrate mode is not CRF - Snippet UI rearranged into Convert Snippet / Batch / Options with context-sensitive visibility + - Reduce module video pane min sizes to allow GNOME snapping *Last Updated: 2025-12-20* diff --git a/main.go b/main.go index dd9d43a..7760960 100644 --- a/main.go +++ b/main.go @@ -11966,7 +11966,7 @@ func buildInspectView(state *appState) fyne.CanvasObject { metadataText.SetText(formatMetadata(state.inspectFile)) // Build video player - videoContainer = buildVideoPane(state, fyne.NewSize(640, 360), state.inspectFile, nil) + videoContainer = buildVideoPane(state, fyne.NewSize(480, 270), state.inspectFile, nil) } else { fileLabel.SetText("No file loaded") metadataText.SetText("No file loaded") @@ -12125,7 +12125,7 @@ func buildThumbView(state *appState) fyne.CanvasObject { var videoContainer fyne.CanvasObject if state.thumbFile != nil { fileLabel.SetText(fmt.Sprintf("File: %s", filepath.Base(state.thumbFile.Path))) - videoContainer = buildVideoPane(state, fyne.NewSize(640, 360), state.thumbFile, nil) + videoContainer = buildVideoPane(state, fyne.NewSize(480, 270), state.thumbFile, nil) } else { videoContainer = container.NewCenter(widget.NewLabel("No video loaded")) } @@ -12448,7 +12448,7 @@ func buildPlayerView(state *appState) fyne.CanvasObject { var videoContainer fyne.CanvasObject if state.playerFile != nil { fileLabel.SetText(fmt.Sprintf("File: %s", filepath.Base(state.playerFile.Path))) - videoContainer = buildVideoPane(state, fyne.NewSize(960, 540), state.playerFile, nil) + videoContainer = buildVideoPane(state, fyne.NewSize(640, 360), state.playerFile, nil) } else { videoContainer = container.NewCenter(widget.NewLabel("No video loaded")) } @@ -12537,7 +12537,7 @@ func buildFiltersView(state *appState) fyne.CanvasObject { var videoContainer fyne.CanvasObject if state.filtersFile != nil { fileLabel.SetText(fmt.Sprintf("File: %s", filepath.Base(state.filtersFile.Path))) - videoContainer = buildVideoPane(state, fyne.NewSize(640, 360), state.filtersFile, nil) + videoContainer = buildVideoPane(state, fyne.NewSize(480, 270), state.filtersFile, nil) } else { videoContainer = container.NewCenter(widget.NewLabel("No video loaded")) } @@ -12720,7 +12720,7 @@ func buildUpscaleView(state *appState) fyne.CanvasObject { fileLabel.SetText(fmt.Sprintf("File: %s", filepath.Base(state.upscaleFile.Path))) sourceResLabel = widget.NewLabel(fmt.Sprintf("Source: %dx%d", state.upscaleFile.Width, state.upscaleFile.Height)) sourceResLabel.TextStyle = fyne.TextStyle{Italic: true} - videoContainer = buildVideoPane(state, fyne.NewSize(640, 360), state.upscaleFile, nil) + videoContainer = buildVideoPane(state, fyne.NewSize(480, 270), state.upscaleFile, nil) } else { sourceResLabel = widget.NewLabel("Source: N/A") sourceResLabel.TextStyle = fyne.TextStyle{Italic: true}