Polish menu header and Windows DVDStyler download

This commit is contained in:
Stu Leak 2025-12-23 18:30:35 -05:00
parent 056df2ec25
commit 4d031a4dae
3 changed files with 44 additions and 4 deletions

34
DONE.md
View File

@ -2,6 +2,40 @@
This file tracks completed features, fixes, and milestones.
## Version 0.1.0-dev20+ (2025-12-23) - Player UX & Installer Polish
### Features (2025-12-23 Session)
- ✅ **Player Module UI Improvements**
- Responsive video player sizing based on screen resolution
- Screens < 1600px wide: 640x360 (prevents layout breaking)
- Screens ≥ 1600px wide: 1280x720 (larger viewing area)
- Dynamically adapts to display when player view is built
- Prevents excessive negative space on lower resolution displays
- ✅ **Main Menu Cleanup**
- Hidden "Logs" button from main menu (history sidebar replaces it)
- Logs button only appears when onLogsClick callback is provided
- Cleaner, less cluttered interface
- Dynamic header controls based on available functionality
- ✅ **Windows Installer Fix**
- Fixed DVDStyler download from SourceForge mirrors
- Added `-MaximumRedirection 10` to handle SourceForge redirects
- Added browser user agent to prevent rejection
- Resolves "invalid archive" error on Windows 11
- Reported by: Jake
### Technical Improvements
- ✅ **Responsive Design Pattern**
- Canvas size detection for adaptive UI sizing
- Prevents window layout issues on smaller displays
- Maintains larger preview on high-resolution screens
- ✅ **PowerShell Download Robustness**
- Proper redirect following for mirror systems
- User agent spoofing for compatibility
- Multiple fallback URLs for resilience
## Version 0.1.0-dev20 (2025-12-21) - VT_Player Framework Implementation
### Features (2025-12-21 Session)

View File

@ -65,14 +65,20 @@ func BuildMainMenu(modules []ModuleInfo, onModuleClick func(string), onModuleDro
viewResultsBtn := widget.NewButton("Results", onBenchmarkHistoryClick)
viewResultsBtn.Importance = widget.LowImportance
logsBtn := widget.NewButton("Logs", onLogsClick)
logsBtn.Importance = widget.LowImportance
// Build header controls dynamically - only show logs button if callback is provided
headerControls := []fyne.CanvasObject{sidebarToggleBtn}
if onLogsClick != nil {
logsBtn := widget.NewButton("Logs", onLogsClick)
logsBtn.Importance = widget.LowImportance
headerControls = append(headerControls, logsBtn)
}
headerControls = append(headerControls, benchmarkBtn, viewResultsBtn, queueTile)
// Compact header - title on left, controls on right
header := container.NewBorder(
nil, nil,
title,
container.NewHBox(sidebarToggleBtn, logsBtn, benchmarkBtn, viewResultsBtn, queueTile),
container.NewHBox(headerControls...),
nil,
)

View File

@ -76,7 +76,7 @@ function Ensure-DVDStylerTools {
if (Test-Path $dvdstylerZip) {
Remove-Item -Force $dvdstylerZip
}
Invoke-WebRequest -Uri $url -OutFile $dvdstylerZip -UseBasicParsing
Invoke-WebRequest -Uri $url -OutFile $dvdstylerZip -UseBasicParsing -MaximumRedirection 10 -UserAgent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
} catch {
try {
Start-BitsTransfer -Source $url -Destination $dvdstylerZip -ErrorAction Stop