diff options
author | Uwe Klotz <uklotz@mixxx.org> | 2019-11-01 20:51:43 +0100 |
---|---|---|
committer | Uwe Klotz <uklotz@mixxx.org> | 2019-11-21 11:27:43 +0100 |
commit | 8e04492dcb85205a3ec8d9a33e238eac8651391f (patch) | |
tree | 696c11ea9f059ea4ccbc86f0f3ce078fdb69cf89 /src/library/banshee/bansheeplaylistmodel.cpp | |
parent | 0cdced650845d66c8fc5b71acb9ed7f9b1e914aa (diff) |
Move export of track metadata from TrackCollection into Library
Diffstat (limited to 'src/library/banshee/bansheeplaylistmodel.cpp')
-rw-r--r-- | src/library/banshee/bansheeplaylistmodel.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/library/banshee/bansheeplaylistmodel.cpp b/src/library/banshee/bansheeplaylistmodel.cpp index 7c6a1256a0..666d426dcd 100644 --- a/src/library/banshee/bansheeplaylistmodel.cpp +++ b/src/library/banshee/bansheeplaylistmodel.cpp @@ -5,6 +5,7 @@ #include "library/queryutil.h" #include "library/starrating.h" #include "library/previewbuttondelegate.h" +#include "library/trackcollectionmanager.h" #include "track/beatfactory.h" #include "track/beats.h" #include "mixer/playermanager.h" @@ -32,11 +33,13 @@ #define CLM_PREVIEW "preview" namespace { + QAtomicInt sTableNumber; + } -BansheePlaylistModel::BansheePlaylistModel(QObject* pParent, TrackCollection* pTrackCollection, BansheeDbConnection* pConnection) - : BaseSqlTableModel(pParent, pTrackCollection, "mixxx.db.model.banshee_playlist"), +BansheePlaylistModel::BansheePlaylistModel(QObject* pParent, TrackCollectionManager* pTrackCollectionManager, BansheeDbConnection* pConnection) + : BaseSqlTableModel(pParent, pTrackCollectionManager, "mixxx.db.model.banshee_playlist"), m_pConnection(pConnection), m_playlistId(-1) { m_tempTableName = BANSHEE_TABLE + QString::number(sTableNumber.fetchAndAddAcquire(1)); @@ -50,7 +53,7 @@ void BansheePlaylistModel::dropTempTable() { if (m_playlistId >= 0) { // Clear old playlist m_playlistId = -1; - QSqlQuery query(m_pTrackCollection->database()); + QSqlQuery query(m_database); QString strQuery("DROP TABLE IF EXISTS %1"); if (!query.exec(strQuery.arg(m_tempTableName))) { LOG_FAILED_QUERY(query); @@ -71,7 +74,7 @@ void BansheePlaylistModel::setTableModel(int playlistId) { // setup new playlist m_playlistId = playlistId; - QSqlQuery query(m_pTrackCollection->database()); + QSqlQuery query(m_database); QString strQuery("CREATE TEMP TABLE IF NOT EXISTS %1" " (" CLM_TRACK_ID " INTEGER, " CLM_VIEW_ORDER " INTEGER, " @@ -209,7 +212,7 @@ void BansheePlaylistModel::setTableModel(int playlistId) { << CLM_COMPOSER; QSharedPointer<BaseTrackCache> trackSource( - new BaseTrackCache(m_pTrackCollection, m_tempTableName, CLM_TRACK_ID, + new BaseTrackCache(m_pTrackCollectionManager->internalCollection(), m_tempTableName, CLM_TRACK_ID, trackSourceColumns, false)); setTable(m_tempTableName, CLM_TRACK_ID, tableColumns, trackSource); @@ -315,7 +318,7 @@ TrackPointer BansheePlaylistModel::getTrack(const QModelIndex& index) const { } bool track_already_in_library = false; - TrackPointer pTrack = m_pTrackCollection->getOrAddTrack( + TrackPointer pTrack = m_pTrackCollectionManager->getOrAddTrack( TrackRef::fromFileInfo(location), &track_already_in_library); |