feat(qbz-slint): route album artwork through the shared image cache

Cover art now goes through the QBZ image cache instead of being
downloaded directly every time, matching the Tauri behavior.

- Moves ImageCacheService / ImageCacheStats into the qbz-cache crate
  (LRU disk cache, MD5-keyed, SQLite index). src-tauri/image_cache.rs
  re-exports it and keeps the Tauri managed-state wrapper, so the Tauri
  app stays behavior-identical and both shells share one implementation
  and one on-disk cache (~/.cache/qbz/images).
- qbz-slint artwork.rs checks the cache first, downloads and stores on
  a miss, and trims the cache to 200MB on startup.

cc
This commit is contained in:
vicrodh committed 2026-05-18 13:32:10 -06:00
1 parent 2e47fbb544
commit 3e61ec3b0f
9 files changed
+301 -217

No files matched your search

+1
View File
@@ -23,6 +23,7 @@ open = "5"
qbz-app = { path = "../qbz-app" }
qbz-core = { path = "../qbz-core" }
qbz-models = { path = "../qbz-models" }
qbz-cache = { path = "../qbz-cache" }
[build-dependencies]
slint-build = "1"