feat(qt): kiosk profile release hardening
Integrate the Kiosk profile hardening round: 12 dedicated Kiosk views plus 22 shared opt-in hosts, shared navigation history with Back/Forward, Albums as the default library tab, native paged Local Library (artists/tracks), lightweight MyQBZ grid and detail, Ephemeral lifecycle, bounded lists and artwork sized to the physical frame, static skeletons, 64px transport bar, Settings touch reflow and a persistent Immersive exit. Desktop keeps its prior behavior: every shared component defaults to the desktop path and only opts into Kiosk behavior through explicit properties (origin-relative ScrollMemory, viewport-bounded artwork requests). Regression coverage: kiosk navigation and artwork Node tests added to the runtime gate, scroll-origin fixtures for fixed and grouped rows, i18n strings for all eight locales. Verified by 750 release tests, six QML audits, Kiosk smokes at 800x480 and 1280x800 and a Desktop A/B with seven pixel-identical captures. cc
This commit is contained in:
139 files changed
+9590
-4973
No files matched your search
@@ -33,6 +33,7 @@ import "../theme"
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
property bool kioskHost: false
|
||||
|
||||
/// [{ id, label, icon, danger, needsSelection }] — `id` is what `action`
|
||||
/// publishes; `label` is the tooltip text and must arrive ALREADY
|
||||
@@ -75,8 +76,8 @@ Rectangle {
|
||||
required property var modelData
|
||||
readonly property bool armed: !modelData.needsSelection
|
||||
|| root.selectedCount > 0
|
||||
width: 34
|
||||
height: 30
|
||||
width: root.kioskHost ? 44 : 34
|
||||
height: root.kioskHost ? 44 : 30
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
radius: theme.radiusSm
|
||||
opacity: armed ? 1.0 : 0.4
|
||||
|
||||
Reference in new issue
Block a user