diff --git a/src/file/indexerstate.h b/src/file/indexerstate.h --- a/src/file/indexerstate.h +++ b/src/file/indexerstate.h @@ -40,6 +40,7 @@ UnindexedFileCheck, StaleIndexEntriesClean, LowPowerIdle, + Unavailable, }; Q_ENUM_NS(IndexerState) @@ -77,6 +78,9 @@ case LowPowerIdle: status = i18n("Idle (Powersave)"); break; + case Unavailable: + status = i18n("Unavailable"); + break; } return status; } diff --git a/src/qml/experimental/monitor.h b/src/qml/experimental/monitor.h --- a/src/qml/experimental/monitor.h +++ b/src/qml/experimental/monitor.h @@ -77,7 +77,7 @@ QString m_filePath; bool m_balooRunning = false; - Baloo::IndexerState m_indexerState = Baloo::Idle; + Baloo::IndexerState m_indexerState = Baloo::Unavailable; org::kde::baloo::scheduler* m_scheduler; org::kde::baloo::fileindexer* m_fileindexer; diff --git a/src/qml/experimental/monitor.cpp b/src/qml/experimental/monitor.cpp --- a/src/qml/experimental/monitor.cpp +++ b/src/qml/experimental/monitor.cpp @@ -69,6 +69,13 @@ QDBusServiceWatcher::WatchForRegistration, this); connect(balooWatcher, &QDBusServiceWatcher::serviceRegistered, this, &Monitor::balooStarted); + connect(balooWatcher, &QDBusServiceWatcher::serviceUnregistered, this, [this]() { + m_balooRunning = false; + m_indexerState = Baloo::Unavailable; + emit balooStateChanged(); + emit indexerStateChanged(); + }); + } }