fix bugs with reordering playlist tracks multiple times
This commit is contained in:
+14
-10
@@ -190,16 +190,20 @@ func (a *PlaylistPage) doSetNewTrackOrder(ids []string, newPos int) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
newTracks := sharedutil.ReorderItems(a.tracks, idxs, newPos)
|
newTracks := sharedutil.ReorderItems(a.tracks, idxs, newPos)
|
||||||
ids = sharedutil.TracksToIDs(newTracks)
|
// we can't block the UI waiting for the server so assume it will succeed
|
||||||
if err := a.sm.Server.ReplacePlaylistTracks(a.playlistID, ids); err != nil {
|
go func() {
|
||||||
log.Printf("error updating playlist: %s", err.Error())
|
ids = sharedutil.TracksToIDs(newTracks)
|
||||||
} else {
|
if err := a.sm.Server.ReplacePlaylistTracks(a.playlistID, ids); err != nil {
|
||||||
renumberTracks(newTracks)
|
log.Printf("error updating playlist: %s", err.Error())
|
||||||
// force-switch back to unsorted view to show new track order
|
}
|
||||||
a.tracklist.SetSorting(widgets.TracklistSort{})
|
}()
|
||||||
a.tracklist.SetTracks(newTracks)
|
|
||||||
a.tracklist.UnselectAll()
|
renumberTracks(newTracks)
|
||||||
}
|
// force-switch back to unsorted view to show new track order
|
||||||
|
a.tracklist.SetSorting(widgets.TracklistSort{})
|
||||||
|
a.tracklist.SetTracks(newTracks)
|
||||||
|
a.tracklist.UnselectAll()
|
||||||
|
a.tracks = newTracks
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *PlaylistPage) onRemoveSelectedFromPlaylist() {
|
func (a *PlaylistPage) onRemoveSelectedFromPlaylist() {
|
||||||
|
|||||||
Reference in New Issue
Block a user