commit e7ae1cc2dfc43cf4e6cc902434b769d120958b93 Author: megabigbug Date: Sat May 22 11:40:24 2010 +0200 keep the selected engine when the user types reset to default engine when the completionwidget is shown diff --git a/src/urlbar/completionwidget.cpp b/src/urlbar/completionwidget.cpp index 9a5c943..acec2d4 100644 --- a/src/urlbar/completionwidget.cpp +++ b/src/urlbar/completionwidget.cpp @@ -68,6 +68,11 @@ CompletionWidget::CompletionWidget(QWidget *parent) void CompletionWidget::insertSearchList(const UrlSearchList &list, const QString& text) { + if (!isVisible()) + { + _searchEngine = SearchEngine::defaultEngine(); + } + _list = list; int i = 0; foreach(const UrlSearchItem &item, _list) diff --git a/src/urlbar/completionwidget.h b/src/urlbar/completionwidget.h index 2d33b59..90cd2b2 100644 --- a/src/urlbar/completionwidget.h +++ b/src/urlbar/completionwidget.h @@ -56,7 +56,7 @@ public: return _searchEngine; }; - void setCurrentEngine(KService::Ptr engine) + void setSearchEngine(KService::Ptr engine) { _searchEngine = engine; }; diff --git a/src/urlbar/listitem.cpp b/src/urlbar/listitem.cpp index e3af638..13535a7 100644 --- a/src/urlbar/listitem.cpp +++ b/src/urlbar/listitem.cpp @@ -257,8 +257,6 @@ SearchListItem::SearchListItem(const UrlSearchItem &item, const QString &text, Q : ListItem(item, parent) , m_text(text) { - KService::Ptr currentEngine = SearchEngine::defaultEngine(); - QString query = text; KService::Ptr engine = SearchEngine::fromString(text); if (engine) @@ -267,7 +265,7 @@ SearchListItem::SearchListItem(const UrlSearchItem &item, const QString &text, Q } else { - engine = currentEngine; + engine = qobject_cast(parent)->searchEngine(); } m_url = SearchEngine::buildQuery(engine, query); @@ -302,9 +300,7 @@ void SearchListItem::changeSearchEngine(KService::Ptr engine) m_titleLabel->setText(searchItemTitle(engine->name(), m_text)); m_iconLabel->setPixmap(Application::icon(KUrl(engine->property("Query").toString())).pixmap(16)); m_url = SearchEngine::buildQuery(engine, m_text); - - CompletionWidget *w = qobject_cast(parent()); - w->setCurrentEngine(engine); + qobject_cast(parent())->setSearchEngine(engine); }