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:
vicrodh committed 2026-09-07 08:23:11 -06:00
1 parent c1c463dc94
commit b1dba198c9
139 files changed
+9590 -4973

No files matched your search

+2 -2
View File
@@ -48,7 +48,7 @@ QbzContextMenu {
readonly property bool hot: cmiArea.containsMouse && rowEnabled
width: parent ? parent.width : 0
height: isSep ? 7 : 33
height: isSep ? 7 : (cmRoot.kioskHost ? 44 : 33)
radius: isSep ? 0 : 5
color: hot ? theme.surfaceHover : "transparent"
// ContextMenuItem.slint: `opacity: enabled ? 1.0 : 0.4`.
@@ -84,7 +84,7 @@ QbzContextMenu {
text: row.modelData.label || ""
color: row.isDanger ? theme.danger
: (row.hot ? theme.textPrimary : theme.textSecondary)
font.pixelSize: 13
font.pixelSize: cmRoot.kioskHost ? 16 : 13
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
}