fix tracklist selection being maintained when sorting

This commit is contained in:
Drew Weymouth
2023-06-02 17:43:22 -07:00
parent 8b238fd239
commit b64dcdcc0b
5 changed files with 182 additions and 71 deletions
+1 -1
View File
@@ -99,7 +99,7 @@ func (a *NowPlayingPage) onPlayTrackAt(tracknum int) {
}
func (a *NowPlayingPage) onRemoveSelectedFromQueue() {
a.pm.RemoveTracksFromQueue(a.tracklist.SelectedTrackIndexes())
a.pm.RemoveTracksFromQueue(a.tracklist.SelectedTrackIDs())
a.tracklist.UnselectAll()
a.Reload()
}
+8 -1
View File
@@ -186,7 +186,14 @@ func (a *PlaylistPage) doSetNewTrackOrder(op sharedutil.TrackReorderOp) {
}
func (a *PlaylistPage) onRemoveSelectedFromPlaylist() {
a.sm.Server.EditPlaylistTracks(a.playlistID, nil, a.tracklist.SelectedTrackIndexes())
sel := sharedutil.ToSet(a.tracklist.SelectedTrackIDs())
idxs := make([]int, 0, len(sel))
for i, tr := range a.tracks {
if _, ok := sel[tr.ID]; ok {
idxs = append(idxs, i)
}
}
a.sm.Server.EditPlaylistTracks(a.playlistID, nil, idxs)
a.tracklist.UnselectAll()
go a.Reload()
}