From e32eb63819917e06a3919f2a18ccba2e2ea2c8ef Mon Sep 17 00:00:00 2001 From: ronso0 Date: Fri, 16 Aug 2024 16:43:31 +0200 Subject: [PATCH] Playlists: paint sidebar items bold immediateley after dropping tracks --- src/library/trackset/baseplaylistfeature.cpp | 2 ++ src/library/trackset/baseplaylistfeature.h | 2 +- src/library/trackset/playlistfeature.cpp | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/library/trackset/baseplaylistfeature.cpp b/src/library/trackset/baseplaylistfeature.cpp index b8c0eaa48f43..b8187939bc08 100644 --- a/src/library/trackset/baseplaylistfeature.cpp +++ b/src/library/trackset/baseplaylistfeature.cpp @@ -772,6 +772,7 @@ void BasePlaylistFeature::updateChildModel(const QSet& playlistIds) { label = fetchPlaylistLabel(id); pChild->setLabel(label); decorateChild(pChild, id); + markTreeItem(pChild); } } } else { @@ -780,6 +781,7 @@ void BasePlaylistFeature::updateChildModel(const QSet& playlistIds) { label = fetchPlaylistLabel(id); pTreeItem->setLabel(label); decorateChild(pTreeItem, id); + markTreeItem(pTreeItem); } } } diff --git a/src/library/trackset/baseplaylistfeature.h b/src/library/trackset/baseplaylistfeature.h index 036529e15a81..0783a2f88686 100644 --- a/src/library/trackset/baseplaylistfeature.h +++ b/src/library/trackset/baseplaylistfeature.h @@ -117,6 +117,7 @@ class BasePlaylistFeature : public BaseTrackSetFeature { PlaylistTableModel* m_pPlaylistTableModel; QSet m_playlistIdsOfSelectedTrack; const QString m_countsDurationTableName; + TrackId m_selectedTrackId; private slots: void slotTrackSelected(TrackId trackId); @@ -129,7 +130,6 @@ class BasePlaylistFeature : public BaseTrackSetFeature { void markTreeItem(TreeItem* pTreeItem); QString fetchPlaylistLabel(int playlistId); - TrackId m_selectedTrackId; const bool m_keepHiddenTracks; }; diff --git a/src/library/trackset/playlistfeature.cpp b/src/library/trackset/playlistfeature.cpp index b8f2d33a1214..c6b0292a232e 100644 --- a/src/library/trackset/playlistfeature.cpp +++ b/src/library/trackset/playlistfeature.cpp @@ -265,6 +265,9 @@ void PlaylistFeature::slotPlaylistContentOrLockChanged(const QSet& playlist idsToBeUpdated.insert(playlistId); } } + // Update the playlists set to allow toggling bold correctly after + // tracks have been dropped on sidebar items + m_playlistDao.getPlaylistsTrackIsIn(m_selectedTrackId, &m_playlistIdsOfSelectedTrack); updateChildModel(idsToBeUpdated); }