diff options
author | Maarten De Meyer <de.meyer.maarten@gmail.com> | 2013-04-07 11:38:09 +0200 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2013-04-07 11:39:40 +0200 |
commit | 5d1a223145be0eb1bb5eed76cda7d4b889d986ed (patch) | |
tree | 1e81db324a50968f5484e073685a5bac61b2deeb /src/searchengine.cpp | |
parent | Fix rekonq window title update (diff) | |
download | rekonq-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.cpp | 18 |
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); } |