From ecaee4d907ad4b708bd27e4d96a35f5af7164e55 Mon Sep 17 00:00:00 2001 From: joren Date: Tue, 24 Mar 2026 01:01:18 +0100 Subject: [PATCH] fix: sorting never changes the queue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removed the sortApplied→syncQueueToModel connection. Sorting the track list only reorders the view; the queue is only set when a track is actually played (double-click or Play Now), at which point the current sorted order and clicked row are used. Co-Authored-By: Claude Sonnet 4.6 --- src/list/tracks.cpp | 9 --------- src/list/tracks.hpp | 8 +++----- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/list/tracks.cpp b/src/list/tracks.cpp index 5153ab2..5a8ffa6 100644 --- a/src/list/tracks.cpp +++ b/src/list/tracks.cpp @@ -35,10 +35,6 @@ Tracks::Tracks(QobuzBackend *backend, PlayQueue *queue, QWidget *parent) connect(this, &QTreeView::customContextMenuRequested, this, &Tracks::onContextMenu); - // Re-sync queue order whenever the model is re-sorted (user clicked header - // or setTracks re-applied an existing sort). - connect(m_model, &TrackListModel::sortApplied, - this, &Tracks::syncQueueToModel); } void Tracks::loadTracks(const QJsonArray &tracks) @@ -65,14 +61,9 @@ void Tracks::loadSearchTracks(const QJsonArray &tracks) void Tracks::setPlayingTrackId(qint64 id) { - m_playingId = id; m_model->setPlayingId(id); } -void Tracks::syncQueueToModel() -{ - m_queue->reorderContext(m_model->currentTracksJson(), m_playingId); -} void Tracks::onDoubleClicked(const QModelIndex &index) { diff --git a/src/list/tracks.hpp b/src/list/tracks.hpp index 05cc774..4fa3755 100644 --- a/src/list/tracks.hpp +++ b/src/list/tracks.hpp @@ -29,13 +29,11 @@ namespace List void playTrackRequested(qint64 trackId); private: - TrackListModel *m_model = nullptr; - QobuzBackend *m_backend = nullptr; - PlayQueue *m_queue = nullptr; - qint64 m_playingId = 0; + TrackListModel *m_model = nullptr; + QobuzBackend *m_backend = nullptr; + PlayQueue *m_queue = nullptr; void onDoubleClicked(const QModelIndex &index); void onContextMenu(const QPoint &pos); - void syncQueueToModel(); }; }