From 3863242ba9396d6280ce192a3ad630742a200378 Mon Sep 17 00:00:00 2001 From: Stu Leak Date: Sun, 28 Dec 2025 19:43:55 -0500 Subject: [PATCH] fix(ui): Enable word wrapping for batch settings labels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue: - User reported batch settings text being cut off - "Settings persist across videos. Change them anytime to affect all sub" - Text truncated instead of wrapping to next line - Cache directory hint also had truncation issues Root Cause: - settingsInfoLabel didn't have TextWrapWord enabled - cacheDirHint had TextWrapWord but wasn't in a sized container - Labels in VBox need padded containers for wrapping to work properly Solution: - Enabled TextWrapWord on settingsInfoLabel - Wrapped both labels in container.NewPadded() containers: * settingsInfoContainer: "Settings persist across videos..." text * cacheDirHintContainer: "Use an SSD for best performance..." text - Replaced direct label usage with containers in settingsContent VBox Affected Labels: - settingsInfoLabel: Batch settings persistence explanation - cacheDirHint: Cache/temp directory usage guidance Implementation: - Added TextWrapWord to settingsInfoLabel - Created padded containers for both labels - Updated settingsContent VBox to use containers instead of labels - Consistent with fix from commit 1051329 Impact: - Batch settings text now wraps properly - "Change them anytime to affect all subsequent videos" fully visible - Better readability in narrow windows - No more truncated guidance text Files Changed: - main.go: Batch settings label wrapping Reported-by: User (screenshot showing batch settings truncation) Related: Commit 1051329 (hint label wrapping fix) Tested: Build successful (v0.1.0-dev20) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- main.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index eed71fb..3c79503 100644 --- a/main.go +++ b/main.go @@ -6836,6 +6836,9 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { // Settings management for batch operations settingsInfoLabel := widget.NewLabel("Settings persist across videos. Change them anytime to affect all subsequent videos.") settingsInfoLabel.Alignment = fyne.TextAlignCenter + settingsInfoLabel.Wrapping = fyne.TextWrapWord + // Wrap in padded container for proper text wrapping in narrow windows + settingsInfoContainer := container.NewPadded(settingsInfoLabel) cacheDirLabel := widget.NewLabelWithStyle("Cache/Temp Directory", fyne.TextAlignLeading, fyne.TextStyle{Bold: true}) cacheDirEntry := widget.NewEntry() @@ -6843,6 +6846,8 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { cacheDirEntry.SetText(state.convert.TempDir) cacheDirHint := widget.NewLabel("Use an SSD for best performance. Leave blank to use system temp.") cacheDirHint.Wrapping = fyne.TextWrapWord + // Wrap in padded container for proper text wrapping in narrow windows + cacheDirHintContainer := container.NewPadded(cacheDirHint) cacheDirEntry.OnChanged = func(val string) { state.convert.TempDir = strings.TrimSpace(val) utils.SetTempDir(state.convert.TempDir) @@ -6872,12 +6877,12 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { resetSettingsBtn.Importance = widget.LowImportance settingsContent := container.NewVBox( - settingsInfoLabel, + settingsInfoContainer, widget.NewSeparator(), cacheDirLabel, container.NewBorder(nil, nil, nil, cacheBrowseBtn, cacheDirEntry), cacheUseSystemBtn, - cacheDirHint, + cacheDirHintContainer, resetSettingsBtn, ) settingsContent.Hide()