Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions src/library/baseplaylistfeature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,21 +95,22 @@ void BasePlaylistFeature::activate() {
}

void BasePlaylistFeature::activateChild(const QModelIndex& index) {
//qDebug() << "BasePlaylistFeature::activateChild()" << index;
qDebug() << "BasePlaylistFeature::activateChild()" << objectName() << index;

// Switch the playlist table model's playlist.
QString playlistName = index.data().toString();
int playlistId = -1;
// tro's lambda idea. This code calls synchronously!
m_pTrackCollection->callSync(
[this, index] (void) {
QString playlistName = index.data().toString();
int playlistId = m_playlistDao.getPlaylistIdFromName(playlistName);
if (m_pPlaylistTableModel) {
m_pPlaylistTableModel->setTableModel(playlistId);
}
if (m_pPlaylistTableModel) {
emit(showTrackModel(m_pPlaylistTableModel));
}
[this, &playlistName, &playlistId] (void) {
playlistId = m_playlistDao.getPlaylistIdFromName(playlistName);
}, __PRETTY_FUNCTION__);
if (m_pPlaylistTableModel) {
m_pPlaylistTableModel->setTableModel(playlistId);
}
if (m_pPlaylistTableModel) {
emit(showTrackModel(m_pPlaylistTableModel));
}
}

void BasePlaylistFeature::slotRenamePlaylist() {
Expand Down
6 changes: 3 additions & 3 deletions src/library/basetrackcache.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -187,9 +187,9 @@ bool BaseTrackCache::updateIndexWithQuery(const QString& queryString) {
QTime timer;
timer.start();

if (sDebug) {
// if (sDebug) {
qDebug() << "updateIndexWithQuery issuing query:" << queryString;
}
// }

QSqlQuery query(m_database);
// This causes a memory savings since QSqlCachedResult (what QtSQLite uses)
Expand Down Expand Up @@ -246,7 +246,7 @@ void BaseTrackCache::buildIndex() {

// tro's lambda idea. This code calls Synchronously!
m_pTrackCollection->callSync(
[this, queryString] (void) {
[this, &queryString] (void) {
if (!updateIndexWithQuery(queryString)) {
qDebug() << "buildIndex failed!";
}
Expand Down
21 changes: 10 additions & 11 deletions src/library/dao/trackdao.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -902,20 +902,20 @@ TrackPointer TrackDAO::getTrackFromDB(const int id) const {
// Listen to dirty and changed signals
connect(pTrack.data(), SIGNAL(dirty(TrackInfoObject*)),
this, SLOT(slotTrackDirty(TrackInfoObject*)),
// Qt::DirectConnection);
Qt::QueuedConnection); // tro
Qt::DirectConnection);
// Qt::QueuedConnection); // tro
connect(pTrack.data(), SIGNAL(clean(TrackInfoObject*)),
this, SLOT(slotTrackClean(TrackInfoObject*)),
// Qt::DirectConnection);
Qt::QueuedConnection); // tro
Qt::DirectConnection);
// Qt::QueuedConnection); // tro
connect(pTrack.data(), SIGNAL(changed(TrackInfoObject*)),
this, SLOT(slotTrackChanged(TrackInfoObject*)),
// Qt::DirectConnection);
Qt::QueuedConnection); // tro
Qt::DirectConnection);
// Qt::QueuedConnection); // tro
connect(pTrack.data(), SIGNAL(save(TrackInfoObject*)),
this, SLOT(slotTrackSave(TrackInfoObject*)),
// Qt::DirectConnection);
Qt::QueuedConnection); // tro
Qt::DirectConnection);
// Qt::QueuedConnection); // tro

m_sTracksMutex.lock();
// Automatic conversion to a weak pointer
Expand Down Expand Up @@ -1106,8 +1106,7 @@ void TrackDAO::invalidateTrackLocationsInLibrary(QString libraryPath) {
}
}

void TrackDAO::markTrackLocationAsVerified(const QString& location)
{
void TrackDAO::markTrackLocationAsVerified(const QString& location) {
//qDebug() << "TrackDAO::markTrackLocationAsVerified" << QThread::currentThread() << m_database.connectionName();
//qDebug() << "markTrackLocationAsVerified()" << location;

Expand Down Expand Up @@ -1299,7 +1298,7 @@ bool TrackDAO::isTrackFormatSupported(TrackInfoObject* pTrack) const {
return false;
}

void TrackDAO::verifyTracksOutside(const QString& libraryPath, volatile bool* pCancel, volatile bool* pPause) {
void TrackDAO::verifyTracksOutside(const QString& libraryPath, volatile bool* pCancel) {
// This function is called from the LibraryScanner Thread
ScopedTransaction transaction(m_database);
QSqlQuery query(m_database);
Expand Down
2 changes: 1 addition & 1 deletion src/library/dao/trackdao.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ class TrackDAO : public QObject, public virtual DAO {
void detectMovedFiles(QSet<int>* pTracksMovedSetNew, QSet<int>* pTracksMovedSetOld);
void databaseTrackAdded(TrackPointer pTrack);
void databaseTracksMoved(QSet<int> tracksMovedSetOld, QSet<int> tracksMovedSetNew);
void verifyTracksOutside(const QString& libraryPath, volatile bool* pCancel, volatile bool* pPause);
void verifyTracksOutside(const QString& libraryPath, volatile bool* pCancel);

signals:
void trackDirty(int trackId);
Expand Down
2 changes: 1 addition & 1 deletion src/library/libraryscanner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ void LibraryScanner::run() {
// m_trackDao.addTracksFinish(); //////////////////////////////////////

//Verify all Tracks inside Library but outside the library path
m_trackDao.verifyTracksOutside(m_qLibraryPath, &m_bCancelLibraryScan, &m_bPauseLibraryScan);
m_trackDao.verifyTracksOutside(m_qLibraryPath, &m_bCancelLibraryScan/*, &m_bPauseLibraryScan*/);


// tro's lambda idea. This code calls Synchronously!
Expand Down
1 change: 1 addition & 0 deletions src/library/libraryscanner.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ class LibraryScanner : public QThread {
void scanFinished();
void progressHashing(QString);
private:

TrackCollection* m_pTrackCollection; // The library trackcollection
QSqlDatabase m_database; // Hang on to a different DB connection
// since we run in a different thread */
Expand Down
7 changes: 4 additions & 3 deletions src/library/playlistfeature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ void PlaylistFeature::onRightClickChild(const QPoint& globalPos, QModelIndex ind
int playlistId = -1;
bool locked = false;

// tro's lambda idea. This code calls asynchronously!
m_pTrackCollection->callAsync(
// tro's lambda idea. This code calls synchronously!
m_pTrackCollection->callSync(
[this, &playlistName, &playlistId, &locked] (void) {
playlistId = m_playlistDao.getPlaylistIdFromName(playlistName);
locked = m_playlistDao.isPlaylistLocked(playlistId);
Expand Down Expand Up @@ -181,14 +181,15 @@ void PlaylistFeature::decorateChild(TreeItem* item, int playlist_id) {
}

void PlaylistFeature::slotPlaylistTableChanged(int playlistId) {
// here callSync uses
if (!m_pPlaylistTableModel) {
return;
}

PlaylistDAO::HiddenType type;

m_pTrackCollection->callSync(
[this, playlistId, &type] (void) {
[this, &playlistId, &type] (void) {
type = m_playlistDao.getHiddenType(playlistId);
}, __PRETTY_FUNCTION__ + objectName());

Expand Down
Loading