5 Commits

Author SHA1 Message Date
Sebastian Palencsar
4806f9306a feat(ui): Mac-inspired layout with sidebar, details panel, and About page
Replace the modal About dialog with an embedded About page and introduce
a three-pane desktop layout: persistent sidebar navigation, flat station
list, right-side details panel, and compact player bar.

Load the GPLv3 license text from C++ and expose it to QML as context
data. Normalize i18n source strings to English, complete German and
Russian translations (133 strings each), and centralize page navigation
helpers in Main.qml. Simplify compact HeaderNavigation and extend
.gitignore for local build artifacts.
2026-06-27 13:21:55 +02:00
Sebastian Palencsar
a72543090b fix(qrc): correct QML resource paths for AUR and release builds
The QML refactor in 1.0.4 used prefix /qml with file paths like
qml/Main.qml, embedding resources at qrc:/qml/qml/Main.qml while
main.cpp loads qrc:/qml/Main.qml. Use prefix / so paths match.

Also derive the displayed app version from CMake PROJECT_VERSION and
add a qrc_resources_test to prevent this regression in CI.
2026-06-22 16:13:21 +02:00
Sebastian Palencsar
722f417c53 fix(ci): run Qt tests headless in Docker/CI
Use QCoreApplication for the race test, set QT_QPA_PLATFORM=offscreen
and QT_MEDIA_BACKEND=ffmpeg for playback tests, and export the same vars
in CI before ctest to avoid subprocess aborts without a display.
2026-06-21 08:56:03 +02:00
Sebastian Palencsar
74cabebc4b release: 1.0.4 security hardening and stability fixes
Validate manual stream URLs (http/https only), restrict notification
cover downloads to HTTPS, and add transfer timeouts for metadata and
cover fetches. Document playback, tray, MPRIS, and QML refactor changes
in CHANGELOG and AppStream metadata.
2026-06-20 14:31:13 +02:00
Sebastian Palencsar
1c736b97a6 Fix playback, API races, tray, MPRIS, and search UX; add tests
- Correct history/resume next-previous context and list index resync after reload
- Abort stale RadioBrowser requests and suppress error banners when cache satisfies loads
- Reset local search filter on page changes and debounce compact-mode API search
- Move system tray to C++ (QSystemTrayIcon) for reliable Wayland context menus
- Harden MPRIS registration and metadata updates for Plasma media widgets
- Add playback and API race unit tests
- Drop unused KF6 Kirigami, I18n, and CoreAddons build dependencies
- Update packaging docs, CI, and PKGBUILD to match Qt-only requirements
2026-06-20 14:06:48 +02:00