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
@@ -23,6 +23,9 @@ import com.blitzfc.qbz
|
||||
import "../theme"
|
||||
|
||||
Rectangle {
|
||||
// Explicit density opt-in; desktop geometry remains the default.
|
||||
property bool kioskHost: false
|
||||
|
||||
id: root
|
||||
|
||||
// --- plain arm (API unchanged) ---------------------------------------
|
||||
@@ -60,7 +63,7 @@ Rectangle {
|
||||
// The ROOT keeps the closed footprint; only the inner field animates, so
|
||||
// a positioner never reflows while the search opens.
|
||||
width: expandable ? collapsedSize : 240
|
||||
height: (searchMode || expandable) ? collapsedSize : 34
|
||||
height: kioskHost ? 44 : ((searchMode || expandable) ? collapsedSize : 34)
|
||||
color: "transparent"
|
||||
activeFocusOnTab: root.enabled && root.expandable && !root.open
|
||||
|
||||
@@ -220,7 +223,7 @@ Rectangle {
|
||||
id: input
|
||||
anchors.fill: parent
|
||||
color: theme.textPrimary
|
||||
font.pixelSize: root.searchMode ? 12 : theme.fontBody
|
||||
font.pixelSize: root.kioskHost ? (root.searchMode ? 12 : theme.fontBody) * 1.2 : (root.searchMode ? 12 : theme.fontBody)
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
clip: true
|
||||
selectByMouse: true
|
||||
@@ -275,7 +278,7 @@ Rectangle {
|
||||
anchors.fill: parent
|
||||
text: root.placeholder
|
||||
color: theme.textMuted
|
||||
font.pixelSize: root.searchMode ? 12 : theme.fontBody
|
||||
font.pixelSize: root.kioskHost ? (root.searchMode ? 12 : theme.fontBody) * 1.2 : (root.searchMode ? 12 : theme.fontBody)
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user