diff options
| author | megabigbug <megabigbug@arrakis.(none)> | 2010-07-20 22:07:04 +0200 | 
|---|---|---|
| committer | megabigbug <megabigbug@arrakis.(none)> | 2010-07-20 22:07:04 +0200 | 
| commit | 68dfc20b8f8d8ff583c4e06ddb61a9986ccb7df7 (patch) | |
| tree | f1d47659f5eb68593035219293c6a43e29c3a2f8 /src/urlbar | |
| parent | rekonq 0.5.50 (diff) | |
| download | rekonq-68dfc20b8f8d8ff583c4e06ddb61a9986ccb7df7.tar.xz | |
history review:
- remove AwesomeUrlCompletion class
- add an QHash to the history manager: each url have a visit counter
- sort history urls by visit count
TODO:
- reintroduce bookmark item in url resolver (broken when AwesomeUrlCompletion was removed)
Diffstat (limited to 'src/urlbar')
| -rw-r--r-- | src/urlbar/urlresolver.cpp | 138 | ||||
| -rw-r--r-- | src/urlbar/urlresolver.h | 50 | 
2 files changed, 14 insertions, 174 deletions
| diff --git a/src/urlbar/urlresolver.cpp b/src/urlbar/urlresolver.cpp index d457e1fb..50f1692f 100644 --- a/src/urlbar/urlresolver.cpp +++ b/src/urlbar/urlresolver.cpp @@ -162,7 +162,7 @@ UrlSearchList UrlResolver::orderedSearchItems()      UrlSearchList commonList;      int commonResutls = 0; -     +      //prefer items which are history items als well bookmarks item      //if there are more than 1000 bookmark results, the performance impact is noticeable      if(bookmarksResults < 1000) @@ -300,16 +300,23 @@ UrlSearchList UrlResolver::webSearchesResolution()  // STEP 3 = history completion  UrlSearchList UrlResolver::historyResolution()  { -    AwesomeUrlCompletion *historyCompletion = Application::historyManager()->completionObject(); -    return historyCompletion->substringCompletion(_typedString); +    QList<HistoryHashItem> mostVisited = Application::historyManager()->findMostVisited(_typedString); +    UrlSearchList list; +    foreach (HistoryHashItem i, mostVisited) +    { +        UrlSearchItem gItem(UrlSearchItem::History, i.url, i.title); +        list << gItem; +    } +    return list;  }  // STEP 4 = bookmarks completion  UrlSearchList UrlResolver::bookmarksResolution()  { -    AwesomeUrlCompletion *bookmarkCompletion = Application::bookmarkProvider()->completionObject(); -    return bookmarkCompletion->substringCompletion(_typedString); +    UrlSearchList list; +    //AwesomeUrlCompletion *bookmarkCompletion = Application::bookmarkProvider()->completionObject(); +    return list;  } @@ -333,124 +340,3 @@ UrlSearchItem UrlResolver::privilegedItem(UrlSearchList* list)      }      return UrlSearchItem();  } - -// ------------------------------------------------------------------------------------------------------ - - -AwesomeUrlCompletion::AwesomeUrlCompletion() -{ -    m_resetCompletion = true; -} - - -AwesomeUrlCompletion::~AwesomeUrlCompletion() -{ - -} - - -void AwesomeUrlCompletion::addItem(const UrlSearchItem& itemToAdd) -{ -    bool match = false; -    QTime myTime; -    myTime.start(); -    for(int i = 0; i < m_items.count(); i++) -    { -        //check if item is already in list; the items are equal if the url and the title are equal -        if(m_items[i] == itemToAdd) -        { -            match = true; -            //TODO: check what to do if comment or bookmarkPath are different -            if(m_items[i] < itemToAdd) -            { -                m_items[i].visitDateTime = itemToAdd.visitDateTime; -            } -            m_items[i].visitCount += itemToAdd.visitCount; -        } -    } -    if(!match) -    { -        m_items.append(itemToAdd); -    } -    m_resetCompletion = true; -} - - -void AwesomeUrlCompletion::removeItem(const UrlSearchItem& item) -{ -    m_resetCompletion = m_items.removeOne(item); -} - - -void AwesomeUrlCompletion::setOrder(KCompletion::CompOrder) -{ -    //TODO -} - - -void AwesomeUrlCompletion::updateTitle(const UrlSearchItem& item, const QString& newTitle) -{ -    foreach(UrlSearchItem i, m_items) -    { -        if(i == item) -        { -            i.title = newTitle; -        } -    } -    m_resetCompletion = true; -} - - -void AwesomeUrlCompletion::clear() -{ -    m_items.clear(); -    m_resetCompletion = true; -} - - -UrlSearchList AwesomeUrlCompletion::substringCompletion(const QString& completionString) -{ -    UrlSearchList* searchList; -    UrlSearchList tempList; -     -    if(!m_resetCompletion) -    { -        if(completionString.length() <= 1) -        { -            m_resetCompletion = true; -        } -        if(!m_resetCompletion && completionString.length() < m_lastCompletionString.length()) -        { -            m_resetCompletion = true; -        } -        if(!m_resetCompletion && !completionString.startsWith(m_lastCompletionString, Qt::CaseInsensitive)) -        { -            m_resetCompletion = true; -        } -    } -     -    if(m_resetCompletion) -    { -        searchList = &m_items; -        m_resetCompletion = false; -    } -    else -    { -        searchList = &m_filteredItems; -    } -     -    Q_FOREACH(const UrlSearchItem &i, *searchList) -    { -        //TODO: split string and also search for each word if the are more than one word separated with space -        if(    i.url.contains(completionString, Qt::CaseInsensitive)  -            || i.title.contains(completionString, Qt::CaseInsensitive)  -            || i.description.contains(completionString, Qt::CaseInsensitive) -          ) -        { -            tempList.append(i); -        } -    } -    m_lastCompletionString = completionString; -    m_filteredItems = tempList; -    return m_filteredItems; -} diff --git a/src/urlbar/urlresolver.h b/src/urlbar/urlresolver.h index 83228140..0ba93921 100644 --- a/src/urlbar/urlresolver.h +++ b/src/urlbar/urlresolver.h @@ -33,14 +33,11 @@  // KDE Includes  #include <KUrl> -#include <KCompletion> +  // Qt Includes  #include <QString>  #include <QList> -#include <QDateTime> - -class AwesomeUrlCompletion;  class UrlSearchItem  { @@ -58,25 +55,19 @@ public:      int type;      QString url;      QString title; -    QDateTime visitDateTime; -    int visitCount;      QString description;      QString bookmarkPath;      UrlSearchItem(const UrlSearchItem &item) : type(item.type),                                                 url(item.url),                                                 title(item.title), -                                               visitDateTime(item.visitDateTime), -                                               visitCount(item.visitCount),                                                 description(item.description),                                                 bookmarkPath(item.bookmarkPath)      {}; -     +      UrlSearchItem() : type(UrlSearchItem::Undefined),                        url(QString()),                        title(QString()), -                      visitDateTime(QDateTime()), -                      visitCount(0),                        description(QString()),                        bookmarkPath(QString())      {}; @@ -84,16 +75,12 @@ public:      UrlSearchItem(const int &_type,                    const QString &_url,                    const QString &_title = QString(), -                  const QDateTime &visitDateTime  = QDateTime(), -                  const int       &visitCount     = 0,                    const QString   &description    = QString(),                    const QString   &bookmarkPath   = QString()                    )                    : type(_type),                    url(_url),                    title(_title), -                  visitDateTime(visitDateTime), -                  visitCount(visitCount),                    description(description),                    bookmarkPath(bookmarkPath)      {}; @@ -102,16 +89,6 @@ public:      {          return i.url == url;//TODO && i.title == title;      } -     -    inline bool operator <(const UrlSearchItem &i) const -    { -        return visitDateTime < i.visitDateTime; -    } -     -    inline bool operator >(const UrlSearchItem &i) const -    { -        return visitDateTime > i.visitDateTime; -    }  };  typedef QList <UrlSearchItem> UrlSearchList; @@ -141,27 +118,4 @@ private:  // ------------------------------------------------------------------------------ - -/** - * This class represents all searchable item for the awesomebar. - */ -class AwesomeUrlCompletion// : public KCompletion -{ -public: -    AwesomeUrlCompletion(); -    ~AwesomeUrlCompletion(); -    void addItem(const UrlSearchItem& item); -    void removeItem(const UrlSearchItem& item); -    void setOrder(KCompletion::CompOrder); -    void updateTitle(const UrlSearchItem& item, const QString& newTitle); -    void clear(); -    UrlSearchList substringCompletion(const QString& completionString); -     -private: -    UrlSearchList m_items; -    UrlSearchList m_filteredItems; -    bool m_resetCompletion; -    QString m_lastCompletionString; -}; -  #endif // URL_RESOLVER_H | 
