Add stats bar across modules and fix thumb color

This commit is contained in:
Stu Leak 2025-12-17 02:32:06 -05:00
parent 73e5c4940f
commit 1eb2d11ccd

45
main.go
View File

@ -9568,7 +9568,13 @@ func buildCompareView(state *appState) fyne.CanvasObject {
backBtn.Importance = widget.LowImportance backBtn.Importance = widget.LowImportance
// Top bar with module color // Top bar with module color
topBar := ui.TintedBar(compareColor, container.NewHBox(backBtn, layout.NewSpacer())) queueBtn := widget.NewButton("View Queue", func() {
state.showQueue()
})
state.queueBtn = queueBtn
state.updateQueueButtonLabel()
topBar := ui.TintedBar(compareColor, container.NewHBox(backBtn, layout.NewSpacer(), queueBtn))
bottomBar := ui.TintedBar(compareColor, container.NewHBox(state.statsBar, layout.NewSpacer()))
// Instructions // Instructions
instructions := widget.NewLabel("Load two videos to compare their metadata side by side. Drag videos here or use buttons below.") instructions := widget.NewLabel("Load two videos to compare their metadata side by side. Drag videos here or use buttons below.")
@ -10045,9 +10051,6 @@ func buildCompareView(state *appState) fyne.CanvasObject {
file2InfoScroll, file2InfoScroll,
) )
// Bottom bar with module color
bottomBar := ui.TintedBar(compareColor, container.NewHBox(layout.NewSpacer()))
// Main content: instructions at top, then two columns side by side // Main content: instructions at top, then two columns side by side
content := container.NewBorder( content := container.NewBorder(
container.NewVBox(instructionsRow, widget.NewSeparator()), container.NewVBox(instructionsRow, widget.NewSeparator()),
@ -10069,7 +10072,12 @@ func buildInspectView(state *appState) fyne.CanvasObject {
backBtn.Importance = widget.LowImportance backBtn.Importance = widget.LowImportance
// Top bar with module color // Top bar with module color
topBar := ui.TintedBar(inspectColor, container.NewHBox(backBtn, layout.NewSpacer())) queueBtn := widget.NewButton("View Queue", func() {
state.showQueue()
})
state.queueBtn = queueBtn
state.updateQueueButtonLabel()
topBar := ui.TintedBar(inspectColor, container.NewHBox(backBtn, layout.NewSpacer(), queueBtn))
// Instructions // Instructions
instructions := widget.NewLabel("Load a video to inspect its properties and preview playback. Drag a video here or use the button below.") instructions := widget.NewLabel("Load a video to inspect its properties and preview playback. Drag a video here or use the button below.")
@ -10331,7 +10339,11 @@ func buildInspectView(state *appState) fyne.CanvasObject {
} }
}() }()
bottomBar := ui.TintedBar(inspectColor, container.NewHBox(queueBtn, layout.NewSpacer(), statusLabel)) bottomContent := container.NewVBox(
container.NewHBox(statusLabel, layout.NewSpacer()),
state.statsBar,
)
bottomBar := ui.TintedBar(inspectColor, bottomContent)
// Main content // Main content
content := container.NewBorder( content := container.NewBorder(
@ -10354,7 +10366,12 @@ func buildThumbView(state *appState) fyne.CanvasObject {
backBtn.Importance = widget.LowImportance backBtn.Importance = widget.LowImportance
// Top bar with module color // Top bar with module color
topBar := ui.TintedBar(thumbColor, container.NewHBox(backBtn, layout.NewSpacer())) queueBtn := widget.NewButton("View Queue", func() {
state.showQueue()
})
state.queueBtn = queueBtn
state.updateQueueButtonLabel()
topBar := ui.TintedBar(thumbColor, container.NewHBox(backBtn, layout.NewSpacer(), queueBtn))
// Instructions // Instructions
instructions := widget.NewLabel("Generate thumbnails from a video file. Load a video and configure settings.") instructions := widget.NewLabel("Generate thumbnails from a video file. Load a video and configure settings.")
@ -10670,7 +10687,9 @@ func buildThumbView(state *appState) fyne.CanvasObject {
mainContent, mainContent,
) )
return container.NewBorder(topBar, nil, nil, nil, content) bottomBar := ui.TintedBar(thumbColor, container.NewHBox(state.statsBar, layout.NewSpacer()))
return container.NewBorder(topBar, bottomBar, nil, nil, content)
} }
// buildPlayerView creates the VT_Player UI // buildPlayerView creates the VT_Player UI
@ -10684,7 +10703,12 @@ func buildPlayerView(state *appState) fyne.CanvasObject {
backBtn.Importance = widget.LowImportance backBtn.Importance = widget.LowImportance
// Top bar with module color // Top bar with module color
topBar := ui.TintedBar(playerColor, container.NewHBox(backBtn, layout.NewSpacer())) queueBtn := widget.NewButton("View Queue", func() {
state.showQueue()
})
state.queueBtn = queueBtn
state.updateQueueButtonLabel()
topBar := ui.TintedBar(playerColor, container.NewHBox(backBtn, layout.NewSpacer(), queueBtn))
// Instructions // Instructions
instructions := widget.NewLabel("VT_Player - Advanced video playback with frame-accurate seeking and analysis tools.") instructions := widget.NewLabel("VT_Player - Advanced video playback with frame-accurate seeking and analysis tools.")
@ -10740,8 +10764,9 @@ func buildPlayerView(state *appState) fyne.CanvasObject {
) )
content := container.NewPadded(mainContent) content := container.NewPadded(mainContent)
bottomBar := ui.TintedBar(playerColor, container.NewHBox(state.statsBar, layout.NewSpacer()))
return container.NewBorder(topBar, nil, nil, nil, content) return container.NewBorder(topBar, bottomBar, nil, nil, content)
} }
// buildFiltersView creates the Filters module UI // buildFiltersView creates the Filters module UI