diff options
author | megabigbug <megabigbug@arrakis.(none)> | 2010-08-19 21:34:46 +0200 |
---|---|---|
committer | megabigbug <megabigbug@arrakis.(none)> | 2010-08-19 21:34:46 +0200 |
commit | 802d8d468189308394e06cf25fe9c74699aa96ec (patch) | |
tree | 04c58d6e41e5467883712a3f0e77d7122bd2c63d /src/urlbar/listitem.cpp | |
parent | working opensearch suggestions (diff) | |
download | rekonq-802d8d468189308394e06cf25fe9c74699aa96ec.tar.xz |
fix suggestion item: use the correct search engine
Diffstat (limited to 'src/urlbar/listitem.cpp')
-rw-r--r-- | src/urlbar/listitem.cpp | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/urlbar/listitem.cpp b/src/urlbar/listitem.cpp index c9946257..a6258cb5 100644 --- a/src/urlbar/listitem.cpp +++ b/src/urlbar/listitem.cpp @@ -139,6 +139,12 @@ KUrl ListItem::url() } +QString ListItem::text() +{ + return m_url.url(); +} + + void ListItem::nextItemSubChoice() { //will be override @@ -298,6 +304,12 @@ SearchListItem::SearchListItem(const UrlSearchItem &item, const QString &text, Q } +QString SearchListItem::text() +{ + return m_text; +} + + QString SearchListItem::searchItemTitle(QString engine, QString text) { return QString(i18nc("%1=search engine, e.g. Google, Wikipedia %2=text to search for", "Search %1 for <b>%2</b>", engine, Qt::escape(text))); @@ -393,11 +405,25 @@ void EngineBar::selectNextEngine() SuggestionListItem::SuggestionListItem(const UrlSearchItem &item, const QString &text, QWidget *parent) : ListItem(item, parent) + , m_text(item.title) { QHBoxLayout *hLayout = new QHBoxLayout; hLayout->setSpacing(4); - hLayout->addWidget(new IconLabel(item.url, this)); + QString query = item.title; + KService::Ptr engine = SearchEngine::fromString(query); + if (engine) + { + query = query.remove(0, text.indexOf(SearchEngine::delimiter()) + 1); + } + else + { + engine = qobject_cast<CompletionWidget *>(parent)->searchEngine(); + } + + m_url = SearchEngine::buildQuery(engine, query); + + hLayout->addWidget(new IconLabel(SearchEngine::buildQuery(engine, ""), this)); hLayout->addWidget(new TextLabel(item.title, text, this)); hLayout->addWidget(new TypeIconLabel(item.type, this)); @@ -405,6 +431,11 @@ SuggestionListItem::SuggestionListItem(const UrlSearchItem &item, const QString } +QString SuggestionListItem::text() +{ + return m_text; +} + // --------------------------------------------------------------- |