diff --git a/DONE.md b/DONE.md index 4c97539..e0d42c5 100644 --- a/DONE.md +++ b/DONE.md @@ -821,6 +821,7 @@ This file tracks completed features, fixes, and milestones. - ✅ Reset now restores full default convert settings even with no config file - ✅ Reset now forces resolution and frame rate back to Source - ✅ Fixed reset handler scope for convert tabs +- ✅ Restored 25%/33%/50%/75% target size reduction presets - ✅ Stabilized video seeking and embedded rendering - ✅ Improved player window positioning - ✅ Fixed clear video functionality diff --git a/TODO.md b/TODO.md index 2ce6ea2..9df7092 100644 --- a/TODO.md +++ b/TODO.md @@ -54,6 +54,7 @@ This file tracks upcoming features, improvements, and known issues. - Reset restores full default convert settings - Reset forces resolution/frame rate back to Source - Reset handler scope fixed for convert tabs + - Target size reduction presets restored (25/33/50/75%) ## Priority Features for dev20+ diff --git a/main.go b/main.go index d0328f3..897fa65 100644 --- a/main.go +++ b/main.go @@ -6208,6 +6208,7 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { srcSizeMB := float64(srcSize) / (1024 * 1024) // Calculate smart reductions + size25 := int(srcSizeMB * 0.75) // 25% reduction size33 := int(srcSizeMB * 0.67) // 33% reduction size50 := int(srcSizeMB * 0.50) // 50% reduction size75 := int(srcSizeMB * 0.25) // 75% reduction @@ -6223,6 +6224,9 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { if size33 > 15 { options = append(options, fmt.Sprintf("%dMB (33%% smaller)", size33)) } + if size25 > 20 { + options = append(options, fmt.Sprintf("%dMB (25%% smaller)", size25)) + } // Add common sizes options = append(options, "25MB", "50MB", "100MB", "200MB", "500MB", "1GB")