summaryrefslogtreecommitdiff
path: root/src/searchengine.cpp
diff options
context:
space:
mode:
authorMaarten De Meyer <de.meyer.maarten@gmail.com>2013-04-07 11:38:09 +0200
committerAndrea Diamantini <adjam7@gmail.com>2013-04-07 11:39:40 +0200
commit5d1a223145be0eb1bb5eed76cda7d4b889d986ed (patch)
tree1e81db324a50968f5484e073685a5bac61b2deeb /src/searchengine.cpp
parentFix rekonq window title update (diff)
downloadrekonq-5d1a223145be0eb1bb5eed76cda7d4b889d986ed.tar.xz
Use kurifilter instead of custom rekonq code.
Now all web shortcuts work. BUG: 258639 REVIEWED BY: adjam
Diffstat (limited to 'src/searchengine.cpp')
-rw-r--r--src/searchengine.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/searchengine.cpp b/src/searchengine.cpp
index 19529d30..21a9f92d 100644
--- a/src/searchengine.cpp
+++ b/src/searchengine.cpp
@@ -31,6 +31,7 @@
//KDE includes
#include <KConfigGroup>
#include <KServiceTypeTrader>
+#include <KUriFilter>
struct SearchEnginePrivate
@@ -146,11 +147,22 @@ KService::Ptr SearchEngine::fromString(const QString &text)
}
+QString SearchEngine::buildQuery(const QString &text)
+{
+ QString query = text;
+ KUriFilter::self()->filterUri(query, QStringList("kurisearchfilter"));
+
+ //If the query did not change, use the default searchengine
+ if(query == text)
+ KUriFilter::self()->filterUri(query, QStringList("kuriikwsfilter"));
+
+ return query;
+}
QString SearchEngine::buildQuery(KService::Ptr engine, const QString &text)
{
if (!engine)
return QString();
- QString query = engine->property("Query").toString();
- query = query.replace("\\{@}", KUrl::toPercentEncoding(text));
- return query;
+
+ QString query = engine->property("Keys").toStringList().at(0) + SearchEngine::delimiter() + text;
+ return buildQuery(query);
}