diff --git a/src/playlist/playlist.cpp b/src/playlist/playlist.cpp index ea07cca42..461baf11b 100644 --- a/src/playlist/playlist.cpp +++ b/src/playlist/playlist.cpp @@ -442,8 +442,9 @@ int Playlist::NextVirtualIndex(int i, bool ignore_repeat_track) const { ++i; // Advance i until we find any track that is in the filter - while (i < virtual_items_.count() && !FilterContainsVirtualIndex(i)) - ++i; + while ((i < virtual_items_.count() && !FilterContainsVirtualIndex(i)) || queue_->SkipSourceRow(i)) { + ++i; + } return i; } diff --git a/src/playlist/queue.cpp b/src/playlist/queue.cpp index 691402dd2..5b160e34b 100644 --- a/src/playlist/queue.cpp +++ b/src/playlist/queue.cpp @@ -48,6 +48,17 @@ bool Queue::ContainsSourceRow(int source_row) const { return false; } +bool Queue::SkipSourceRow(int source_row) const { + qDebug() << "Entrou aqui"; + qDebug() << source_row; + for (int i=0 ; i& proxy_rows, int pos); void MoveUp(int row); @@ -69,6 +71,8 @@ private slots: private: QList source_indexes_; + QList skipped_indexes_; + }; #endif // QUEUE_H