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:
61 files changed
+1591
-151
No files matched your search
@@ -548,6 +548,7 @@ Column {
|
||||
}
|
||||
SettingRow { kioskHost: root.kioskHost;
|
||||
label: QbzSession.tr("Show track in window title", QbzSession.trRev)
|
||||
visible: !QbzShell.isMacos || QbzShell.systemTitleBar
|
||||
QbzToggle { kioskHost: root.kioskHost;
|
||||
checked: root.doc.windowTitleShow === true
|
||||
onToggled: function (v) { QbzBridge.settingsBool("window-title-show", v) }
|
||||
@@ -604,30 +605,12 @@ Column {
|
||||
// Absent while there is no tray icon to close to (owner
|
||||
// 2026-08-21). The value still round-trips through the store, so
|
||||
// turning the tray back on restores the answer the user gave.
|
||||
visible: root.doc.trayEnable === true
|
||||
visible: root.doc.trayEnable === true && root.doc.isMacos !== true
|
||||
QbzToggle { kioskHost: root.kioskHost;
|
||||
checked: root.doc.trayCloseToTray === true
|
||||
onToggled: function (v) { QbzBridge.settingsBool("tray-close-to-tray", v) }
|
||||
}
|
||||
}
|
||||
// macOS only: switch the activation policy to .accessory while closed to
|
||||
// the menu bar (no Dock icon). Off = Spotify-style, keep the Dock icon.
|
||||
// `visible` is inherited Item.visible and the parent is a Column, which
|
||||
// skips invisible children — so on Linux this leaves no gap at all. The
|
||||
// enable condition is DOUBLED on the row and on the toggle because
|
||||
// SettingRow's `rowEnabled` only dims its own label column
|
||||
// (controls/SettingRow.qml:26); it does not reach the control.
|
||||
SettingRow { kioskHost: root.kioskHost;
|
||||
visible: root.doc.isMacos === true
|
||||
label: QbzSession.tr("Hide Dock icon when closed to menu bar", QbzSession.trRev)
|
||||
description: QbzSession.tr("Run as a menu-bar-only app while the window is closed. Off keeps the Dock icon (like Spotify)", QbzSession.trRev)
|
||||
rowEnabled: root.doc.trayEnable === true && root.doc.trayCloseToTray === true
|
||||
QbzToggle { kioskHost: root.kioskHost;
|
||||
enabled: root.doc.trayEnable === true && root.doc.trayCloseToTray === true
|
||||
checked: root.doc.trayMacHideDock === true
|
||||
onToggled: function (v) { QbzBridge.settingsBool("tray-mac-hide-dock", v) }
|
||||
}
|
||||
}
|
||||
SettingRow { kioskHost: root.kioskHost;
|
||||
// Absent while the tray is off — there is no icon to give a
|
||||
// variant to (owner 2026-08-21).
|
||||
|
||||
Reference in new issue
Block a user