┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/search/dolphinsearchoptionsconfigurator.cpp
diff options
context:
space:
mode:
authorSebastian Trueg <[email protected]>2010-02-17 21:01:29 +0000
committerSebastian Trueg <[email protected]>2010-02-17 21:01:29 +0000
commit52e1503052508d6423d4deba05ea93a075ad78fe (patch)
tree4a0b88476faee8c24a8893d5f39d0f348d4bd7a1 /src/search/dolphinsearchoptionsconfigurator.cpp
parentc7515e9e90c5fd81790759444b82cdc3f71fcbf6 (diff)
Implemented search restriction to filenames.
svn path=/trunk/KDE/kdebase/apps/; revision=1091902
Diffstat (limited to 'src/search/dolphinsearchoptionsconfigurator.cpp')
-rw-r--r--src/search/dolphinsearchoptionsconfigurator.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/search/dolphinsearchoptionsconfigurator.cpp b/src/search/dolphinsearchoptionsconfigurator.cpp
index 93b7a589c..29df5f49d 100644
--- a/src/search/dolphinsearchoptionsconfigurator.cpp
+++ b/src/search/dolphinsearchoptionsconfigurator.cpp
@@ -28,7 +28,7 @@
#include <nepomuk/orterm.h>
#include <nepomuk/queryparser.h>
#include <nepomuk/resourcetypeterm.h>
-#include <nepomuk/term.h>
+#include <nepomuk/literalterm.h>
#include "nfo.h"
@@ -318,11 +318,7 @@ Nepomuk::Query::Query DolphinSearchOptionsConfigurator::nepomukQuery() const
andTerm.addSubTerm(term);
}
- // add custom query term from the searchbar
- const Nepomuk::Query::Query customQuery = Nepomuk::Query::QueryParser::parseQuery(m_customSearchQuery);
- if (customQuery.isValid()) {
- andTerm.addSubTerm(customQuery.term());
- }
+ bool addCustomQuery = true;
// filter result by the "What" filter
switch (m_whatBox->currentIndex()) {
@@ -338,9 +334,27 @@ Nepomuk::Query::Query DolphinSearchOptionsConfigurator::nepomukQuery() const
andTerm.addSubTerm(textDocument);
break;
}
+ case 3: {
+ // Filenames
+ // trueg: Restriction to filename differs a bit from restriction to a type of file since it does not add a condition
+ // on the query but influences the text edited in the search bar directly.
+ // This is a bit tricky as we need to use the search bar text as plain text value for filename searches
+ // We do it the ugly way assuming the user only entered a literal value.
+ Nepomuk::Query::ComparisonTerm filenameTerm(Nepomuk::Vocabulary::NFO::fileName(), Nepomuk::Query::LiteralTerm(m_customSearchQuery));
+ andTerm.addSubTerm(filenameTerm);
+ addCustomQuery = false;
+ }
default: break;
}
+ if (addCustomQuery) {
+ // add custom query term from the searchbar
+ const Nepomuk::Query::Query customQuery = Nepomuk::Query::QueryParser::parseQuery(m_customSearchQuery);
+ if (customQuery.isValid()) {
+ andTerm.addSubTerm(customQuery.term());
+ }
+ }
+
Nepomuk::Query::FileQuery fileQuery;
if ((m_locationBox->currentIndex() == 1) && m_directory.isValid()) {
// "From Here" is selected as location filter