fix(ui): Enable word wrapping for batch settings labels
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 commit1051329Impact: - 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: Commit1051329(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 <noreply@anthropic.com>
This commit is contained in:
parent
1051329763
commit
3863242ba9
9
main.go
9
main.go
|
|
@ -6836,6 +6836,9 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject {
|
||||||
// Settings management for batch operations
|
// Settings management for batch operations
|
||||||
settingsInfoLabel := widget.NewLabel("Settings persist across videos. Change them anytime to affect all subsequent videos.")
|
settingsInfoLabel := widget.NewLabel("Settings persist across videos. Change them anytime to affect all subsequent videos.")
|
||||||
settingsInfoLabel.Alignment = fyne.TextAlignCenter
|
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})
|
cacheDirLabel := widget.NewLabelWithStyle("Cache/Temp Directory", fyne.TextAlignLeading, fyne.TextStyle{Bold: true})
|
||||||
cacheDirEntry := widget.NewEntry()
|
cacheDirEntry := widget.NewEntry()
|
||||||
|
|
@ -6843,6 +6846,8 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject {
|
||||||
cacheDirEntry.SetText(state.convert.TempDir)
|
cacheDirEntry.SetText(state.convert.TempDir)
|
||||||
cacheDirHint := widget.NewLabel("Use an SSD for best performance. Leave blank to use system temp.")
|
cacheDirHint := widget.NewLabel("Use an SSD for best performance. Leave blank to use system temp.")
|
||||||
cacheDirHint.Wrapping = fyne.TextWrapWord
|
cacheDirHint.Wrapping = fyne.TextWrapWord
|
||||||
|
// Wrap in padded container for proper text wrapping in narrow windows
|
||||||
|
cacheDirHintContainer := container.NewPadded(cacheDirHint)
|
||||||
cacheDirEntry.OnChanged = func(val string) {
|
cacheDirEntry.OnChanged = func(val string) {
|
||||||
state.convert.TempDir = strings.TrimSpace(val)
|
state.convert.TempDir = strings.TrimSpace(val)
|
||||||
utils.SetTempDir(state.convert.TempDir)
|
utils.SetTempDir(state.convert.TempDir)
|
||||||
|
|
@ -6872,12 +6877,12 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject {
|
||||||
resetSettingsBtn.Importance = widget.LowImportance
|
resetSettingsBtn.Importance = widget.LowImportance
|
||||||
|
|
||||||
settingsContent := container.NewVBox(
|
settingsContent := container.NewVBox(
|
||||||
settingsInfoLabel,
|
settingsInfoContainer,
|
||||||
widget.NewSeparator(),
|
widget.NewSeparator(),
|
||||||
cacheDirLabel,
|
cacheDirLabel,
|
||||||
container.NewBorder(nil, nil, nil, cacheBrowseBtn, cacheDirEntry),
|
container.NewBorder(nil, nil, nil, cacheBrowseBtn, cacheDirEntry),
|
||||||
cacheUseSystemBtn,
|
cacheUseSystemBtn,
|
||||||
cacheDirHint,
|
cacheDirHintContainer,
|
||||||
resetSettingsBtn,
|
resetSettingsBtn,
|
||||||
)
|
)
|
||||||
settingsContent.Hide()
|
settingsContent.Hide()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user