feat(slint): offline button on every Qobuz track row + cache-whole-playlist
- TrackRow show-download now defaults to true: every Qobuz track row (album,
artist, label, playlist, mix, search, favorites) carries the offline
cloud/check button. Non-Qobuz surfaces (future Local Library / Plex) opt out
by setting it false.
- Playlist header gains a "make offline" CircleAction -> ("playlist","cache")
-> offline_cache::cache_playlist (get_playlist -> batch its tracks), mirroring
the album-header action.
qbz-slint compiles clean.
cc
This commit is contained in:
4 files changed
+52
-1
No files matched your search
@@ -375,6 +375,18 @@ export component PlaylistView inherits Rectangle {
|
||||
}
|
||||
}
|
||||
}
|
||||
// Make the whole playlist available offline.
|
||||
VerticalLayout {
|
||||
horizontal-stretch: 0;
|
||||
alignment: center;
|
||||
CircleAction {
|
||||
icon: @image-url("../assets/icons/cloud-download.svg");
|
||||
enabled: PlaylistState.tracks.length > 0;
|
||||
clicked => {
|
||||
root.media-action("playlist", PlaylistState.id, "cache");
|
||||
}
|
||||
}
|
||||
}
|
||||
// Edit (rename / delete) — only the user's own.
|
||||
if PlaylistState.is-owner: VerticalLayout {
|
||||
horizontal-stretch: 0;
|
||||
|
||||
@@ -32,7 +32,10 @@ export component TrackRow inherits Rectangle {
|
||||
in property <bool> show-artwork: true;
|
||||
in property <bool> show-album: false;
|
||||
in property <bool> show-favorite: false;
|
||||
in property <bool> show-download: false;
|
||||
// On by default: every Qobuz track row carries the offline cloud/check
|
||||
// button. A non-Qobuz surface (future Local Library / Plex rows, which are
|
||||
// already local) should set this false.
|
||||
in property <bool> show-download: true;
|
||||
in property <bool> multi-select-mode: false;
|
||||
// Custom-order reorder controls (up/down chevrons) at the leading
|
||||
// edge — used by the playlist custom sort.
|
||||
|
||||
Reference in new issue
Block a user