summaryrefslogtreecommitdiff
path: root/src/urlbar
diff options
context:
space:
mode:
Diffstat (limited to 'src/urlbar')
-rw-r--r--src/urlbar/completionwidget.cpp2
-rw-r--r--src/urlbar/listitem.cpp30
-rw-r--r--src/urlbar/listitem.h12
-rw-r--r--src/urlbar/urlresolver.cpp21
-rw-r--r--src/urlbar/urlresolver.h4
5 files changed, 62 insertions, 7 deletions
diff --git a/src/urlbar/completionwidget.cpp b/src/urlbar/completionwidget.cpp
index b77e2d7c..8e72b26b 100644
--- a/src/urlbar/completionwidget.cpp
+++ b/src/urlbar/completionwidget.cpp
@@ -34,7 +34,7 @@
// Local Includes
#include "application.h"
#include "urlresolver.h"
-#include "searchengine.h"
+#include "search/searchengine.h"
#include "urlbar.h"
// KDE Includes
diff --git a/src/urlbar/listitem.cpp b/src/urlbar/listitem.cpp
index f10cefd7..c9946257 100644
--- a/src/urlbar/listitem.cpp
+++ b/src/urlbar/listitem.cpp
@@ -36,7 +36,7 @@
#include "application.h"
#include "websnap.h"
#include "completionwidget.h"
-#include "searchengine.h"
+#include "search/searchengine.h"
// KDE Includes
#include <KIcon>
@@ -161,6 +161,7 @@ TypeIconLabel::TypeIconLabel(int type, QWidget *parent)
if (type & UrlSearchItem::Browse) hLayout->addWidget(getIcon("applications-internet"));
if (type & UrlSearchItem::Bookmark) hLayout->addWidget(getIcon("rating"));
if (type & UrlSearchItem::History) hLayout->addWidget(getIcon("view-history"));
+ if (type & UrlSearchItem::Suggestion) hLayout->addWidget(getIcon("help-hint"));
}
@@ -390,6 +391,23 @@ void EngineBar::selectNextEngine()
// ---------------------------------------------------------------
+SuggestionListItem::SuggestionListItem(const UrlSearchItem &item, const QString &text, QWidget *parent)
+ : ListItem(item, parent)
+{
+ QHBoxLayout *hLayout = new QHBoxLayout;
+ hLayout->setSpacing(4);
+
+ hLayout->addWidget(new IconLabel(item.url, this));
+ hLayout->addWidget(new TextLabel(item.title, text, this));
+ hLayout->addWidget(new TypeIconLabel(item.type, this));
+
+ setLayout(hLayout);
+}
+
+
+// ---------------------------------------------------------------
+
+
BrowseListItem::BrowseListItem(const UrlSearchItem &item, const QString &text, QWidget *parent)
: ListItem(item, parent)
{
@@ -427,7 +445,15 @@ ListItem *ListItemFactory::create(const UrlSearchItem &item, const QString &text
}
else
{
- newItem = new PreviewListItem(item, text, parent);
+
+ if (item.type & UrlSearchItem::Suggestion)
+ {
+ newItem = new SuggestionListItem(item, text, parent);
+ }
+ else
+ {
+ newItem = new PreviewListItem(item, text, parent);
+ }
}
}
diff --git a/src/urlbar/listitem.h b/src/urlbar/listitem.h
index dcb4f76d..0e1a7ad5 100644
--- a/src/urlbar/listitem.h
+++ b/src/urlbar/listitem.h
@@ -174,6 +174,18 @@ private:
// -------------------------------------------------------------------------
+class SuggestionListItem : public ListItem
+{
+ Q_OBJECT
+
+public:
+ SuggestionListItem(const UrlSearchItem &item, const QString &text, QWidget *parent = 0);
+};
+
+
+// -------------------------------------------------------------------------
+
+
class PreviewListItem : public ListItem
{
Q_OBJECT
diff --git a/src/urlbar/urlresolver.cpp b/src/urlbar/urlresolver.cpp
index f0fd257b..157e26a2 100644
--- a/src/urlbar/urlresolver.cpp
+++ b/src/urlbar/urlresolver.cpp
@@ -31,7 +31,7 @@
#include "application.h"
#include "historymanager.h"
#include "bookmarksmanager.h"
-#include "searchengine.h"
+#include "search/searchengine.h"
// KDE Includes
#include <KUriFilter>
@@ -243,11 +243,14 @@ UrlSearchList UrlResolver::orderedSearchItems()
availableEntries -= commonList.count();
}
+
+ UrlSearchList suggestionsList = suggestionResolution();
historyResults = historyList.count();
bookmarksResults = bookmarksList.count();
commonResutls = commonList.count();
-
+ //TODO: count suggestions entries
+
//now fill the list to MAX_ELEMENTS
if(availableEntries > 0)
{
@@ -275,7 +278,7 @@ UrlSearchList UrlResolver::orderedSearchItems()
}
}
- list = list + historyList + commonList + bookmarksList;
+ list = list + historyList + commonList + bookmarksList + suggestionsList;
qWarning() << "orderedSearchItems leave: " << " elapsed: " << myTime.elapsed();
return list;
@@ -343,6 +346,18 @@ UrlSearchList UrlResolver::bookmarksResolution()
}
+// STEP 4 = suggestion completion
+UrlSearchList UrlResolver::suggestionResolution()
+{
+
+ UrlSearchList list;
+ UrlSearchItem gItem(UrlSearchItem::Suggestion, "a", "a");
+ list << gItem;
+
+ return list;
+}
+
+
UrlSearchItem UrlResolver::privilegedItem(UrlSearchList* list)
{
UrlSearchItem item;
diff --git a/src/urlbar/urlresolver.h b/src/urlbar/urlresolver.h
index c79ce184..d41e3f1a 100644
--- a/src/urlbar/urlresolver.h
+++ b/src/urlbar/urlresolver.h
@@ -50,6 +50,7 @@ public:
Browse = 0x00000010,
History = 0x00000100,
Bookmark = 0x00001000,
+ Suggestion = 0x00010000,
};
int type;
@@ -108,7 +109,8 @@ private:
UrlSearchList qurlFromUserInputResolution();
UrlSearchList bookmarksResolution();
UrlSearchItem privilegedItem(UrlSearchList* list);
-
+ UrlSearchList suggestionResolution();
+
static QRegExp _browseRegexp;
static QRegExp _searchEnginesRegexp;
};