feat(playlist): drag-and-drop reorder for custom-order tracks
Adds a dedicated drag HANDLE (grip) in the reorder gutter with the queue's drag gesture (6px threshold, absolute-position - root.y correction, three end paths incl. the changed-pressed safety net), so the row-body drag-to-sidebar stays intact. PlaylistView keeps component-local reorder state (slot math folds in the ListView viewport-y), a drop indicator and a floating ghost; commit fires PlaylistActions.reorder-track(from,to). Rust reuses the arbitrary-index persist path (repo::reorder for local, persist_custom for Qobuz) the arrows already back. Edge auto-scroll during drag is a follow-up TODO. Resolves #589. cc
This commit is contained in:
6 files changed
+462
-35
No files matched your search
@@ -1994,6 +1994,11 @@ export global PlaylistActions {
|
||||
callback search(string);
|
||||
// Sort by a field (re-selecting the active field toggles asc/desc).
|
||||
callback set-sort(string);
|
||||
// Drag-reorder commit (custom-order list, issue #589): move the row at
|
||||
// visible index `from` to insertion slot `to` (0..N; slots `from` and
|
||||
// `from+1` are the no-op gaps and never fire). Complements the
|
||||
// single-step ("track","move-up"/"move-down") chevron arms.
|
||||
callback reorder-track(int /* from */, int /* to */);
|
||||
}
|
||||
|
||||
// "Edit playlist" modal state (rename + description + delete).
|
||||
|
||||
Reference in new issue
Block a user