Changeset View
Changeset View
Standalone View
Standalone View
src/file/fileindexscheduler.cpp
Show First 20 Lines • Show All 58 Lines • ▼ Show 20 Line(s) | 54 | { | |||
---|---|---|---|---|---|
59 | 59 | | |||
60 | connect(&m_powerMonitor, &PowerStateMonitor::powerManagementStatusChanged, | 60 | connect(&m_powerMonitor, &PowerStateMonitor::powerManagementStatusChanged, | ||
61 | this, &FileIndexScheduler::powerManagementStatusChanged); | 61 | this, &FileIndexScheduler::powerManagementStatusChanged); | ||
62 | 62 | | |||
63 | if (m_powerMonitor.isOnBattery()) { | 63 | if (m_powerMonitor.isOnBattery()) { | ||
64 | m_indexerState = LowPowerIdle; | 64 | m_indexerState = LowPowerIdle; | ||
65 | } | 65 | } | ||
66 | 66 | | |||
67 | m_contentIndexer = new FileContentIndexer(m_config, &m_provider, this); | 67 | m_contentIndexer = new FileContentIndexer(m_config, &m_provider, m_indexFinishedFiles, this); | ||
68 | m_contentIndexer->setAutoDelete(false); | 68 | m_contentIndexer->setAutoDelete(false); | ||
69 | connect(m_contentIndexer, &FileContentIndexer::done, this, | 69 | connect(m_contentIndexer, &FileContentIndexer::done, this, | ||
70 | &FileIndexScheduler::runnerFinished); | 70 | &FileIndexScheduler::runnerFinished); | ||
71 | connect(m_contentIndexer, &FileContentIndexer::newBatchTime, &m_timeEstimator, | 71 | connect(m_contentIndexer, &FileContentIndexer::newBatchTime, &m_timeEstimator, | ||
72 | &TimeEstimator::handleNewBatchTime); | 72 | &TimeEstimator::handleNewBatchTime); | ||
73 | 73 | | |||
74 | QDBusConnection::sessionBus().registerObject(QStringLiteral("/scheduler"), | 74 | QDBusConnection::sessionBus().registerObject(QStringLiteral("/scheduler"), | ||
75 | this, QDBusConnection::ExportScriptableContents); | 75 | this, QDBusConnection::ExportScriptableContents); | ||
▲ Show 20 Lines • Show All 98 Lines • ▼ Show 20 Line(s) | 171 | if (m_checkStaleIndexEntries) { | |||
174 | 174 | | |||
175 | m_threadPool.start(runnable); | 175 | m_threadPool.start(runnable); | ||
176 | m_checkStaleIndexEntries = false; | 176 | m_checkStaleIndexEntries = false; | ||
177 | m_indexerState = StaleIndexEntriesClean; | 177 | m_indexerState = StaleIndexEntriesClean; | ||
178 | Q_EMIT stateChanged(m_indexerState); | 178 | Q_EMIT stateChanged(m_indexerState); | ||
179 | return; | 179 | return; | ||
180 | } | 180 | } | ||
181 | 181 | | |||
182 | if (m_provider.size()) { | 182 | m_indexPendingFiles = m_provider.size(); | ||
183 | m_indexFinishedFiles = 0; | ||||
184 | if (m_indexPendingFiles) { | ||||
183 | m_threadPool.start(m_contentIndexer); | 185 | m_threadPool.start(m_contentIndexer); | ||
184 | m_indexerState = ContentIndexing; | 186 | m_indexerState = ContentIndexing; | ||
185 | Q_EMIT stateChanged(m_indexerState); | 187 | Q_EMIT stateChanged(m_indexerState); | ||
186 | return; | 188 | return; | ||
187 | } | 189 | } | ||
188 | 190 | | |||
189 | if (m_checkUnindexedFiles) { | 191 | if (m_checkUnindexedFiles) { | ||
190 | auto runnable = new UnindexedFileIndexer(m_db, m_config); | 192 | auto runnable = new UnindexedFileIndexer(m_db, m_config); | ||
▲ Show 20 Lines • Show All 87 Lines • ▼ Show 20 Line(s) | 267 | { | |||
278 | } | 280 | } | ||
279 | } | 281 | } | ||
280 | 282 | | |||
281 | uint FileIndexScheduler::getRemainingTime() | 283 | uint FileIndexScheduler::getRemainingTime() | ||
282 | { | 284 | { | ||
283 | if (m_indexerState != ContentIndexing) { | 285 | if (m_indexerState != ContentIndexing) { | ||
284 | return 0; | 286 | return 0; | ||
285 | } | 287 | } | ||
286 | return m_timeEstimator.calculateTimeLeft(m_provider.size()); | 288 | uint remainingFiles = m_indexPendingFiles - m_indexFinishedFiles; | ||
289 | return m_timeEstimator.calculateTimeLeft(remainingFiles); | ||||
287 | } | 290 | } | ||
288 | 291 | | |||
289 | void FileIndexScheduler::scheduleCheckUnindexedFiles() | 292 | void FileIndexScheduler::scheduleCheckUnindexedFiles() | ||
290 | { | 293 | { | ||
291 | m_checkUnindexedFiles = true; | 294 | m_checkUnindexedFiles = true; | ||
292 | } | 295 | } | ||
293 | 296 | | |||
294 | void FileIndexScheduler::checkUnindexedFiles() | 297 | void FileIndexScheduler::checkUnindexedFiles() | ||
Show All 21 Lines |