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
@@ -57,6 +57,10 @@ import "../theme"
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
readonly property bool artworkReady: root.artSource !== "" && artworkLoader.item
|
||||
? artworkLoader.item.ready : false
|
||||
readonly property bool artworkImmediate: root.artSource !== "" && artworkLoader.item
|
||||
? artworkLoader.item.immediateGridArtwork : false
|
||||
|
||||
property var item: ({})
|
||||
// Host-resolved artwork path (the AlbumCard artSource pattern).
|
||||
@@ -194,12 +198,14 @@ Rectangle {
|
||||
// those surfaces pad too, and a genuinely square cover
|
||||
// (`image.covers[0]`, the fallback that map picks) still crops.
|
||||
Loader {
|
||||
id: artworkLoader
|
||||
anchors.fill: parent
|
||||
sourceComponent: root.artSource !== "" ? singleArtwork : collageArtwork
|
||||
}
|
||||
Component {
|
||||
id: singleArtwork
|
||||
RoundedImage {
|
||||
gridArtwork: true
|
||||
source: root.artSource
|
||||
radius: theme.radiusSm
|
||||
fit: root.ownImage ? "pad" : "auto"
|
||||
@@ -211,6 +217,7 @@ Rectangle {
|
||||
Component {
|
||||
id: collageArtwork
|
||||
PlaylistCollage {
|
||||
gridArtwork: true
|
||||
urls: root.ownImage ? [] : root.collageUrls
|
||||
radius: theme.radiusSm
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user