Queue: add "reorder" parameter to SetPriority()

This commit is contained in:
Max Kellermann 2014-11-25 19:00:06 +01:00
parent 9af470c92d
commit 7519768cb1
2 changed files with 7 additions and 3 deletions

View File

@ -402,7 +402,8 @@ Queue::CountSamePriority(unsigned start_order, uint8_t priority) const
} }
bool bool
Queue::SetPriority(unsigned position, uint8_t priority, int after_order) Queue::SetPriority(unsigned position, uint8_t priority, int after_order,
bool reorder)
{ {
assert(position < length); assert(position < length);
@ -414,7 +415,7 @@ Queue::SetPriority(unsigned position, uint8_t priority, int after_order)
item->version = version; item->version = version;
item->priority = priority; item->priority = priority;
if (!random) if (!random || !reorder)
/* don't reorder if not in random mode */ /* don't reorder if not in random mode */
return true; return true;

View File

@ -340,10 +340,13 @@ struct Queue {
/** /**
* Shuffles a (position) range in the queue. The songs are physically * Shuffles a (position) range in the queue. The songs are physically
* shuffled, not by using the "order" mapping. * shuffled, not by using the "order" mapping.
*
* @param reorder false to suppress updating the order list
*/ */
void ShuffleRange(unsigned start, unsigned end); void ShuffleRange(unsigned start, unsigned end);
bool SetPriority(unsigned position, uint8_t priority, int after_order); bool SetPriority(unsigned position, uint8_t priority, int after_order,
bool reorder=true);
bool SetPriorityRange(unsigned start_position, unsigned end_position, bool SetPriorityRange(unsigned start_position, unsigned end_position,
uint8_t priority, int after_order); uint8_t priority, int after_order);