diff --git a/src/file/fileindexscheduler.h b/src/file/fileindexscheduler.h --- a/src/file/fileindexscheduler.h +++ b/src/file/fileindexscheduler.h @@ -77,6 +77,7 @@ void scheduleIndexing(); void scheduleCheckUnindexedFiles(); void scheduleCheckStaleIndexEntries(); + void halt(); Q_SCRIPTABLE void suspend() { suspendContentIndexer(true); } Q_SCRIPTABLE void resume() { suspendContentIndexer(false); } diff --git a/src/file/fileindexscheduler.cpp b/src/file/fileindexscheduler.cpp --- a/src/file/fileindexscheduler.cpp +++ b/src/file/fileindexscheduler.cpp @@ -206,6 +206,14 @@ } } +void FileIndexScheduler::halt() +{ + m_indexerStates = QList() << Idle; + m_contentIndexer->quit(); + m_threadPool.clear(); + m_threadPool.waitForDone(); +} + uint FileIndexScheduler::getRemainingTime() { if (m_indexerStates.at(0) != ContentIndexing) { diff --git a/src/file/mainhub.cpp b/src/file/mainhub.cpp --- a/src/file/mainhub.cpp +++ b/src/file/mainhub.cpp @@ -41,7 +41,7 @@ connect(&m_fileWatcher, &FileWatch::indexXAttr, &m_fileIndexScheduler, &FileIndexScheduler::indexXAttrFile); connect(&m_fileWatcher, &FileWatch::fileRemoved, &m_fileIndexScheduler, &FileIndexScheduler::handleFileRemoved); - connect(&m_fileWatcher, &FileWatch::installedWatches, &m_fileIndexScheduler, &FileIndexScheduler::scheduleIndexing); + connect(&m_fileWatcher, &FileWatch::installedWatches, &m_fileIndexScheduler, &FileIndexScheduler::checkUnindexedFiles); connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, &m_fileIndexScheduler, &FileIndexScheduler::halt); @@ -69,8 +69,6 @@ m_fileIndexScheduler.halt(); m_config->forceConfigUpdate(); - // FIXME!! - //m_fileIndexer.updateConfig(); m_fileWatcher.updateIndexedFoldersWatches(); }