feat(queue): Play later everywhere — every context menu and bulk bar (#442)
Extends Play later (end of the manual block) from track rows to every surface that already offered Play next / Add to queue: - playback.rs: enqueue_album_later, enqueue_playlist_later (mixed sidecar interleave), enqueue_artist_top_later, enqueue_tracks_later, enqueue_local_tracks_later — all NATURAL order (each add_track_later appends, no reverse), QConnect controller routing via play_later_batch_on_peer_if_active, and post-add queue sync. - local_playlist::enqueue_later_by_id (source-aware rows, offline-only stamp preserved), myqbz_play RowMode::PlayLater + BulkEnqueueMode. - 19 dispatch arms in main.rs (album/playlist/artist/label/mix/ favorites/local-library/album-page/disc/myqbz dialects). - 12 context menus + 10 bulk bars in .slint: list-plus icon between Play next and Add to queue, popup heights bumped. The immersive tap-action dropdown is deliberately untouched (it is a configurable single-tap behavior setting, not a context menu). km
This commit is contained in:
22 files changed
+785
-92
No files matched your search
@@ -79,7 +79,7 @@ export component TrackCard inherits Rectangle {
|
||||
animate opacity { duration: 250ms; }
|
||||
callback clicked(string);
|
||||
// kind ("track"), track id, action ("play" | "queue" | "play-next" |
|
||||
// "favorite" | "open").
|
||||
// "play-later" | "favorite" | "open").
|
||||
callback media-action(string, string, string);
|
||||
|
||||
in property <length> card-height: 246px;
|
||||
@@ -202,8 +202,8 @@ export component TrackCard inherits Rectangle {
|
||||
x: 26px;
|
||||
y: 56px;
|
||||
width: 196px;
|
||||
// Play / Play-next / Queue / Go-to-artist / Go-to-album / favorite.
|
||||
height: 6 * 33px + 10px;
|
||||
// Play / Play-next / Play-later / Queue / Go-to-artist / Go-to-album / favorite.
|
||||
height: 7 * 33px + 10px;
|
||||
ContextMenu {
|
||||
ContextMenuItem {
|
||||
icon: @image-url("../assets/icons/play.svg");
|
||||
@@ -219,6 +219,13 @@ export component TrackCard inherits Rectangle {
|
||||
root.media-action("track", root.track.id, "play-next");
|
||||
}
|
||||
}
|
||||
ContextMenuItem {
|
||||
icon: @image-url("../assets/icons/list-plus.svg");
|
||||
label: @tr("Play later");
|
||||
clicked => {
|
||||
root.media-action("track", root.track.id, "play-later");
|
||||
}
|
||||
}
|
||||
ContextMenuItem {
|
||||
icon: @image-url("../assets/icons/list-end.svg");
|
||||
label: @tr("Add to queue");
|
||||
|
||||
Reference in new issue
Block a user