fix(qt): custom album covers propagate to every surface

The per-builder sweep was whack-a-mole — the report caught empty cards
in Home > Recently Played Albums and the NPB, and mosaics still showing
the Qobuz art. Overrides are keyed by album id but most surfaces carry
only the art URL, so the link is now the artwork HASH: every size
variant of one Qobuz cover shares its filename stem. Setting a cover
records hash -> path in a Qt-side store (custom_cover_keys.json — same
reason as the playlist store: the Slint file round-trips known keys
only), the album page backfills it for covers set before the map
existed, and artwork_qt's cached_path / cached_raw_path answer the
override for any URL whose hash has one — cards, NPB, MPRIS, queue,
collage tiles, no per-surface wiring. download_missing skips overridden
URLs.

km
This commit is contained in:
vicrodh committed 2026-08-11 08:59:36 -06:00
1 parent a53e8a7af7
commit d112c726b6
5 files changed
+125 -5

No files matched your search

+1 -1
View File
@@ -1376,7 +1376,7 @@ Rectangle {
onClicked: {
coverMenu.close()
var a = modelData.action
if (a === "add") QbzAlbum.coverAddCustom(header.id)
if (a === "add") QbzAlbum.coverAddCustom(header.id, header.artUrl)
else if (a === "remove") QbzAlbum.coverRemoveCustom(header.id)
else if (a === "view") coverLightbox.openWith(root.bestCoverSource())
else if (a === "browser") QbzShell.openExternalUrl(header.artUrl)