diff options
| author | Peter Penz <[email protected]> | 2009-12-12 12:23:05 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2009-12-12 12:23:05 +0000 |
| commit | 5e25098037571c8a43fd8c407c1758065e1a1548 (patch) | |
| tree | 29dcad0e5ef565f58014e9046fa54f3a2e3cbbdd /src/search/dolphinsearchoptionsconfigurator.cpp | |
| parent | 1dbcada3764c9d04116672544e7d85aeb3146452 (diff) | |
allow to restrict the search results by the current folder (including all sub folders)
svn path=/trunk/KDE/kdebase/apps/; revision=1061589
Diffstat (limited to 'src/search/dolphinsearchoptionsconfigurator.cpp')
| -rw-r--r-- | src/search/dolphinsearchoptionsconfigurator.cpp | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/src/search/dolphinsearchoptionsconfigurator.cpp b/src/search/dolphinsearchoptionsconfigurator.cpp index 9fd07f6cb..b24c36b8e 100644 --- a/src/search/dolphinsearchoptionsconfigurator.cpp +++ b/src/search/dolphinsearchoptionsconfigurator.cpp @@ -24,6 +24,7 @@ #define DISABLE_NEPOMUK_LEGACY #include <nepomuk/andterm.h> +#include <nepomuk/filequery.h> #include <nepomuk/orterm.h> #include <nepomuk/queryparser.h> #include <nepomuk/resourcetypeterm.h> @@ -88,6 +89,7 @@ static const CriterionItem g_criterionItems[] = { DolphinSearchOptionsConfigurator::DolphinSearchOptionsConfigurator(QWidget* parent) : QWidget(parent), m_initialized(false), + m_directory(), m_locationBox(0), m_whatBox(0), m_addSelectorButton(0), @@ -184,6 +186,17 @@ DolphinSearchOptionsConfigurator::~DolphinSearchOptionsConfigurator() SearchSettings::self()->writeConfig(); } +QString DolphinSearchOptionsConfigurator::customSearchQuery() const +{ + return m_customSearchQuery; +} + + +KUrl DolphinSearchOptionsConfigurator::directory() const +{ + return m_directory; +} + KUrl DolphinSearchOptionsConfigurator::nepomukSearchUrl() const { const Nepomuk::Query::Query query = nepomukQuery(); @@ -196,6 +209,13 @@ void DolphinSearchOptionsConfigurator::setCustomSearchQuery(const QString& searc updateButtons(); } +void DolphinSearchOptionsConfigurator::setDirectory(const KUrl& dir) +{ + if (dir.protocol() != QString::fromLatin1("nepomuksearch")) { + m_directory = dir; + } +} + void DolphinSearchOptionsConfigurator::showEvent(QShowEvent* event) { if (!event->spontaneous() && !m_initialized) { @@ -342,9 +362,13 @@ Nepomuk::Query::Query DolphinSearchOptionsConfigurator::nepomukQuery() const default: break; } - Nepomuk::Query::Query query; - query.setTerm(andTerm); - return query; + Nepomuk::Query::FileQuery fileQuery; + if ((m_locationBox->currentIndex() == 1) && m_directory.isValid()) { + // "From Here" is selected as location filter + fileQuery.addIncludeFolder(m_directory); + } + fileQuery.setTerm(andTerm); + return fileQuery; } #include "dolphinsearchoptionsconfigurator.moc" |
