┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/panels/search/searchpanel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/panels/search/searchpanel.cpp')
-rw-r--r--src/panels/search/searchpanel.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/panels/search/searchpanel.cpp b/src/panels/search/searchpanel.cpp
index 38c78aacb..a7226154b 100644
--- a/src/panels/search/searchpanel.cpp
+++ b/src/panels/search/searchpanel.cpp
@@ -66,6 +66,9 @@ SearchPanel::~SearchPanel()
void SearchPanel::setSearchMode(SearchMode mode)
{
m_searchMode = mode;
+ if (isVisible()) {
+ setEnabled(isFilteringPossible());
+ }
}
SearchPanel::SearchMode SearchPanel::searchMode() const
@@ -104,9 +107,7 @@ bool SearchPanel::urlChanged()
setQuery(Nepomuk::Query::Query());
}
- const DolphinSearchInformation& searchInfo = DolphinSearchInformation::instance();
- setEnabled(searchInfo.isIndexingEnabled() &&
- searchInfo.isPathIndexed(m_startedFromDir));
+ setEnabled(isFilteringPossible());
}
return true;
@@ -167,9 +168,7 @@ void SearchPanel::showEvent(QShowEvent* event)
m_initialized = true;
}
- const DolphinSearchInformation& searchInfo = DolphinSearchInformation::instance();
- setEnabled(searchInfo.isIndexingEnabled() &&
- searchInfo.isPathIndexed(url()));
+ setEnabled(isFilteringPossible());
Panel::showEvent(event);
}
@@ -190,9 +189,7 @@ void SearchPanel::slotSetUrlStatFinished(KJob* job)
{
m_lastSetUrlStatJob = 0;
- const DolphinSearchInformation& searchInfo = DolphinSearchInformation::instance();
- setEnabled(searchInfo.isIndexingEnabled() &&
- searchInfo.isPathIndexed(m_startedFromDir));
+ setEnabled(isFilteringPossible());
const KIO::UDSEntry uds = static_cast<KIO::StatJob*>(job)->statResult();
const QString nepomukQueryStr = uds.stringValue(KIO::UDSEntry::UDS_NEPOMUK_QUERY);
@@ -260,3 +257,10 @@ void SearchPanel::setQuery(const Nepomuk::Query::Query& query)
m_facetWidget->setClientQuery(query);
m_facetWidget->blockSignals(block);
}
+
+bool SearchPanel::isFilteringPossible() const
+{
+ const DolphinSearchInformation& searchInfo = DolphinSearchInformation::instance();
+ return searchInfo.isIndexingEnabled()
+ && ((m_searchMode == Everywhere) || searchInfo.isPathIndexed(m_startedFromDir));
+}