summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2012-11-25 11:53:23 +0100
committerAndrea Diamantini <adjam7@gmail.com>2012-12-10 02:48:06 +0100
commit8e4af035abb73745427c32d563ed873810e6dd8b (patch)
treee141eab7c0e0bf24a2f2933e7e350b693333b1b0
parentLet "Removed" string translatable (diff)
downloadrekonq-8e4af035abb73745427c32d563ed873810e6dd8b.tar.xz
Improve suggestions, step 1
- fast response on kde short url type - fix secondary url load - let resolved urls typed (eg: kde.org) being first result
-rw-r--r--src/urlbar/listitem.cpp11
-rw-r--r--src/urlbar/urlsuggester.cpp25
2 files changed, 26 insertions, 10 deletions
diff --git a/src/urlbar/listitem.cpp b/src/urlbar/listitem.cpp
index 52f05f1b..e5adeec4 100644
--- a/src/urlbar/listitem.cpp
+++ b/src/urlbar/listitem.cpp
@@ -460,8 +460,15 @@ void SearchListItem::changeSearchEngine(KService::Ptr engine)
{
// NOTE: This to let rekonq loading text typed in the requested engine on click.
// There probably is a better way to do it. I just cannot see it now...
- UrlSuggestionItem item = UrlSuggestionItem(UrlSuggestionItem::Search, SearchEngine::buildQuery(engine, m_text), m_text);
- SearchListItem sItem(item, m_text, this);
+
+ // remove the xx: part...
+ QString separator = SearchEngine::delimiter();
+ QString text = m_text.section(separator, 1, 1);
+
+ // create a new item && load it...
+ UrlSuggestionItem item = UrlSuggestionItem(UrlSuggestionItem::Search, SearchEngine::buildQuery(engine, text), text);
+
+ SearchListItem sItem(item, text, this);
emit itemClicked(&sItem, Qt::LeftButton, Qt::NoModifier);
}
diff --git a/src/urlbar/urlsuggester.cpp b/src/urlbar/urlsuggester.cpp
index 6b9ccb13..efa0249b 100644
--- a/src/urlbar/urlsuggester.cpp
+++ b/src/urlbar/urlsuggester.cpp
@@ -163,10 +163,18 @@ UrlSuggestionList UrlSuggester::orderedSearchItems()
return list;
}
+ // NOTE: this sets _isKDEShortUrl.
+ // IF it is true we can just suggest it
+ computeWebSearches();
+
+ if (_isKDEShortUrl)
+ {
+ return _webSearches;
+ }
+
//compute lists
computeHistory();
computeQurlFromUserInput();
- computeWebSearches();
computeBookmarks();
return orderLists();
@@ -184,12 +192,9 @@ UrlSuggestionList UrlSuggester::orderLists()
UrlSuggestionList browseSearch;
QString lowerTypedString = _typedString.toLower();
- if (_isKDEShortUrl)
- {
- // KDE short url case (typed gg:kde): we need just the web search
- browseSearch << _webSearches;
- }
- else if (_browseRegexp.indexIn(lowerTypedString) != -1)
+ bool textIsUrl = (_browseRegexp.indexIn(lowerTypedString) != -1);
+
+ if (textIsUrl)
{
// browse url case (typed kde.org): show resolved url before
browseSearch << _qurlFromUserInput;
@@ -264,7 +269,11 @@ UrlSuggestionList UrlSuggester::orderLists()
// and finally, results
UrlSuggestionList list;
- list += relevant + browseSearch + _history + _bookmarks;
+ if (textIsUrl)
+ list += browseSearch + relevant + _history + _bookmarks;
+ else
+ list += relevant + browseSearch + _history + _bookmarks;
+
return list;
}