fix(qt): restore window lifecycle and improve grid artwork

Restore tray-aware close and quit confirmation, circular label covers, and missing label artist portraits. Publish artwork progressively, preload two grid rows, and skip redundant motion reports while preserving data refreshes.

Include regression tests and isolated artwork benchmarks. Verified Linux build, QML checks, and scrolling smoke tests.

cx
This commit is contained in:
vicrodh committed 2026-09-09 21:58:25 -06:00
1 parent 5fab503eb7
commit 2fc03d325d
61 files changed
+1591 -151

No files matched your search

@@ -58,6 +58,8 @@ Item {
/// how a call site ends up setting a property that does not exist — which in
/// QML is not an error, just a silently-ignored line.
property bool danger: true
property string checkboxLabel: ""
property bool checkboxChecked: false
readonly property bool opened: root._open
property bool _open: false
@@ -184,6 +186,28 @@ Item {
font.pixelSize: root.kioskHost ? (theme.fontBody) * 1.2 : (theme.fontBody)
wrapMode: Text.WordWrap
}
Row {
visible: root.checkboxLabel !== ""
width: parent.width
spacing: 10
QbzCheckbox {
kioskHost: root.kioskHost
checked: root.checkboxChecked
Accessible.name: root.checkboxLabel
onToggled: root.checkboxChecked = !root.checkboxChecked
}
Text {
width: parent.width - 54
text: root.checkboxLabel
color: theme.textSecondary
font.pixelSize: theme.fontBody
wrapMode: Text.WordWrap
MouseArea {
anchors.fill: parent
onClicked: root.checkboxChecked = !root.checkboxChecked
}
}
}
Item {
width: parent.width
height: root.kioskHost ? 44 : 36