feat(library): page Tracks from local catalog

Add an opt-in QAbstractListModel backed by keyset pages from the derived catalog, with bounded residency, global query semantics, source-aware actions, and per-session fallback to the existing reader.

Wire profile-scoped bootstrap locations and refresh the native surface only after a complete catalog is active.

cx
This commit is contained in:
vicrodh committed 2026-08-23 09:37:15 -06:00
1 parent 7689fb0df6
commit 1bb3c41dcf
23 files changed
+2634 -130

No files matched your search

@@ -64,6 +64,8 @@ Item {
property var view: null
property bool selectMode: false
property bool checked: false
property bool nativeActions: false
property int nativeIndex: -1
/// Alternating row tint, forwarded to the shared row. Off by default there
/// (rows/TrackRow.qml), which is why the local album page had none while
/// the Qobuz one (AlbumView.qml) did — the flag was simply never handed
@@ -246,7 +248,10 @@ Item {
// point, which owns the only source-aware row -> ref resolver
// (see the file header).
else if (a === "add-to-playlist" || a === "add-to-mixtape") {
QbzLocal.bulkAction("track", JSON.stringify([String(root.item.id)]), a)
if (root.nativeActions)
QbzLocal.tracksNativeRowAction(root.nativeIndex, a)
else
QbzLocal.bulkAction("track", JSON.stringify([String(root.item.id)]), a)
}
else if (a === "go-album") {
QbzLocal.openAlbum(root.item.albumId)