diff --git a/src/library/basetrackcache.cpp b/src/library/basetrackcache.cpp index 978979d0cb40..5057986dc1ac 100644 --- a/src/library/basetrackcache.cpp +++ b/src/library/basetrackcache.cpp @@ -49,37 +49,6 @@ BaseTrackCache::BaseTrackCache(TrackCollection* pTrackCollection, } } -void BaseTrackCache::connectTrackDAO(TrackDAO* pTrackDAO) { - connect(pTrackDAO, - &TrackDAO::trackDirty, - this, - &BaseTrackCache::slotTrackDirty); - connect(pTrackDAO, - &TrackDAO::trackClean, - this, - &BaseTrackCache::slotTrackClean); - connect(pTrackDAO, - &TrackDAO::trackChanged, - this, - &BaseTrackCache::slotTrackChanged); - connect(pTrackDAO, - &TrackDAO::tracksAdded, - this, - &BaseTrackCache::slotTracksAdded); - connect(pTrackDAO, - &TrackDAO::tracksRemoved, - this, - &BaseTrackCache::slotTracksRemoved); - connect(pTrackDAO, - &TrackDAO::dbTrackAdded, - this, - &BaseTrackCache::slotDbTrackAdded); -} - -void BaseTrackCache::disconnectTrackDAO(TrackDAO* pTrackDAO) { - disconnect(pTrackDAO); -} - BaseTrackCache::~BaseTrackCache() { // Required to allow forward declarations of (managed pointer) members // in header file diff --git a/src/library/basetrackcache.h b/src/library/basetrackcache.h index 2ce712eaafcd..92dcf4e74559 100644 --- a/src/library/basetrackcache.h +++ b/src/library/basetrackcache.h @@ -84,10 +84,6 @@ class BaseTrackCache : public QObject { void slotDbTrackAdded(TrackPointer pTrack); private: - friend class TrackCollection; - void connectTrackDAO(TrackDAO* pTrackDAO); - void disconnectTrackDAO(TrackDAO* pTrackDAO); - const TrackPointer& getRecentTrack(TrackId trackId) const; void replaceRecentTrack(TrackPointer pTrack) const; void replaceRecentTrack(TrackId trackId, TrackPointer pTrack) const; diff --git a/src/library/trackcollection.cpp b/src/library/trackcollection.cpp index 191a16c31d2e..067c6716478a 100644 --- a/src/library/trackcollection.cpp +++ b/src/library/trackcollection.cpp @@ -68,7 +68,30 @@ void TrackCollection::connectTrackSource(QSharedPointer pTrackSo return; } m_pTrackSource = pTrackSource; - m_pTrackSource->connectTrackDAO(&m_trackDao); + connect(&m_trackDao, + &TrackDAO::trackDirty, + m_pTrackSource.data(), + &BaseTrackCache::slotTrackDirty); + connect(&m_trackDao, + &TrackDAO::trackClean, + m_pTrackSource.data(), + &BaseTrackCache::slotTrackClean); + connect(&m_trackDao, + &TrackDAO::trackChanged, + m_pTrackSource.data(), + &BaseTrackCache::slotTrackChanged); + connect(&m_trackDao, + &TrackDAO::tracksAdded, + m_pTrackSource.data(), + &BaseTrackCache::slotTracksAdded); + connect(&m_trackDao, + &TrackDAO::tracksRemoved, + m_pTrackSource.data(), + &BaseTrackCache::slotTracksRemoved); + connect(&m_trackDao, + &TrackDAO::dbTrackAdded, + m_pTrackSource.data(), + &BaseTrackCache::slotDbTrackAdded); } QWeakPointer TrackCollection::disconnectTrackSource() { @@ -76,7 +99,8 @@ QWeakPointer TrackCollection::disconnectTrackSource() { auto pWeakPtr = m_pTrackSource.toWeakRef(); if (m_pTrackSource) { - m_pTrackSource->disconnectTrackDAO(&m_trackDao); + kLogger.info() << "Disconnecting track source"; + m_trackDao.disconnect(m_pTrackSource.data()); m_pTrackSource.reset(); } return pWeakPtr;