Compare commits

..

2 Commits

Author SHA1 Message Date
5c8ad4e355 feat(author): Clear DVD title on module open and sync between tabs
- DVD title now starts empty each time Author module is opened
- Added DVD Title entry field to Videos tab
- Both Videos and Settings tab title fields update the same state
- Both trigger summary update and config persistence

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 15:12:24 -05:00
ff1fdd9c1e fix(ui): Fix vertical text in metadata filename display
Changed filename row to use VBox layout instead of HBox to give
it full width. This prevents the filename from wrapping at every
character. Removed wrapping from other metadata fields since
they're short values that don't need it.
2025-12-31 15:06:34 -05:00
2 changed files with 27 additions and 4 deletions

View File

@ -370,12 +370,28 @@ func buildVideoClipsTab(state *appState) fyne.CanvasObject {
listArea := container.NewMax(dropTarget, emptyOverlay)
// DVD Title entry (synced with Settings tab)
dvdTitleEntry := widget.NewEntry()
dvdTitleEntry.SetPlaceHolder("DVD Title")
dvdTitleEntry.SetText(state.authorTitle)
dvdTitleEntry.OnChanged = func(value string) {
state.authorTitle = value
state.updateAuthorSummary()
state.persistAuthorConfig()
}
// Note about chapter names
chapterNote := widget.NewLabel("Chapter names are saved for future DVD menu support")
chapterNote.TextStyle = fyne.TextStyle{Italic: true}
controls := container.NewBorder(
container.NewVBox(widget.NewLabel("Videos:"), chapterNote),
container.NewVBox(
widget.NewLabel("DVD Title:"),
dvdTitleEntry,
widget.NewSeparator(),
widget.NewLabel("Videos:"),
chapterNote,
),
container.NewVBox(chapterToggle, container.NewHBox(addBtn, clearBtn, addQueueBtn, compileBtn)),
nil,
nil,

13
main.go
View File

@ -3183,6 +3183,9 @@ func (s *appState) showAuthorView() {
s.authorSceneThreshold = 0.3
}
// Clear DVD title for fresh start
s.authorTitle = ""
s.setContent(buildAuthorView(s))
}
@ -9197,12 +9200,16 @@ Metadata: %s`,
keyLabel := widget.NewLabel(key + ":")
keyLabel.TextStyle = fyne.TextStyle{Bold: true}
valueLabel := widget.NewLabel(value)
valueLabel.Wrapping = fyne.TextWrapWord
// Don't wrap metadata values - they're short and wrapping causes vertical text
return container.NewHBox(keyLabel, valueLabel)
}
// Filename gets its own full-width row to prevent overlap
fileRow := makeRow("File", src.DisplayName)
// Filename gets its own full-width VBox layout to prevent vertical text
fileKeyLabel := widget.NewLabel("File:")
fileKeyLabel.TextStyle = fyne.TextStyle{Bold: true}
fileValueLabel := widget.NewLabel(src.DisplayName)
fileValueLabel.Wrapping = fyne.TextWrapWord
fileRow := container.NewVBox(fileKeyLabel, fileValueLabel)
// Organize metadata into a compact two-column grid
col1 := container.NewVBox(