PlaylistEdit: postpone UpdateQueuedSong() when adding multiple songs
Implement a "bulk" edit mode that postpones both UpdateQueuedSong() and OnModified(). This way, the playlist version gets incremented only once. More importantly: when adding multiple songs to a queue that consists of only one song, the first song that got added will always be played next. By postponing this choice, all newly added songs get a chance to become the next song. Fixes the second (and last) part of Mantis ticket 0004005.
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
#include "util/Error.hxx"
|
||||
#include "SongFilter.hxx"
|
||||
#include "protocol/Result.hxx"
|
||||
#include "BulkEdit.hxx"
|
||||
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
@@ -92,6 +93,8 @@ handle_match_add(Client &client, int argc, char *argv[], bool fold_case)
|
||||
return CommandResult::ERROR;
|
||||
}
|
||||
|
||||
const ScopeBulkEdit bulk_edit(client.partition);
|
||||
|
||||
const DatabaseSelection selection("", true, &filter);
|
||||
Error error;
|
||||
return AddFromDatabase(client.partition, selection, error)
|
||||
|
Reference in New Issue
Block a user