diff --git a/runners/bookmarks/bookmarkmatch.h b/runners/bookmarks/bookmarkmatch.h --- a/runners/bookmarks/bookmarkmatch.h +++ b/runners/bookmarks/bookmarkmatch.h @@ -24,19 +24,19 @@ #include #include -#include +#include +#include -class Favicon; class BookmarkMatch { public: - BookmarkMatch(Favicon *favicon, const QString &searchTerm, const QString &bookmarkTitle, const QString &bookmarkURL, const QString &description = QString()); + BookmarkMatch(const QIcon &icon, const QString &searchTerm, const QString &bookmarkTitle, const QString &bookmarkURL, const QString &description = QString()); void addTo(QList< BookmarkMatch >& listOfResults, bool addEvenOnNoMatch); Plasma::QueryMatch asQueryMatch(Plasma::AbstractRunner *runner); private: bool matches(const QString &search, const QString &matchingField); private: - Favicon * m_favicon; + QIcon m_icon; QString m_searchTerm; QString m_bookmarkTitle; QString m_bookmarkURL; diff --git a/runners/bookmarks/bookmarkmatch.cpp b/runners/bookmarks/bookmarkmatch.cpp --- a/runners/bookmarks/bookmarkmatch.cpp +++ b/runners/bookmarks/bookmarkmatch.cpp @@ -21,18 +21,17 @@ #include "bookmarkmatch.h" #include -#include "favicon.h" // TODO: test -BookmarkMatch::BookmarkMatch(Favicon *favicon, const QString& searchTerm, const QString& bookmarkTitle, const QString& bookmarkURL, const QString& description ) - : m_favicon(favicon), m_searchTerm(searchTerm), m_bookmarkTitle(bookmarkTitle), m_bookmarkURL(bookmarkURL), m_description(description) +BookmarkMatch::BookmarkMatch(const QIcon &icon, const QString& searchTerm, const QString& bookmarkTitle, const QString& bookmarkURL, const QString& description ) + : m_icon(icon), m_searchTerm(searchTerm), m_bookmarkTitle(bookmarkTitle), m_bookmarkURL(bookmarkURL), m_description(description) { } Plasma::QueryMatch BookmarkMatch::asQueryMatch( Plasma::AbstractRunner* runner ) { - Plasma::QueryMatch::Type type = Plasma::QueryMatch::NoMatch; + Plasma::QueryMatch::Type type; qreal relevance = 0; if (m_bookmarkTitle.compare(m_searchTerm, Qt::CaseInsensitive) == 0 || @@ -60,7 +59,7 @@ Plasma::QueryMatch match(runner); match.setType(type); match.setRelevance(relevance); - match.setIcon(m_favicon->iconFor(m_bookmarkURL)); + match.setIcon(m_icon); match.setSubtext(m_bookmarkURL); // Try to set the following as text in this order: name, description, url diff --git a/runners/bookmarks/browsers/chrome.cpp b/runners/bookmarks/browsers/chrome.cpp --- a/runners/bookmarks/browsers/chrome.cpp +++ b/runners/bookmarks/browsers/chrome.cpp @@ -82,12 +82,11 @@ QList results; const auto bookmarks = profileBookmarks->bookmarks(); + Favicon *favicon = profileBookmarks->profile().favicon(); for (const QJsonValue &bookmarkValue : bookmarks) { const QJsonObject bookmark = bookmarkValue.toObject(); - - QString url = bookmark.value(QStringLiteral("url")).toString(); - - BookmarkMatch bookmarkMatch(profileBookmarks->profile().favicon(), term, bookmark.value(QStringLiteral("name")).toString(), url); + const QString url = bookmark.value(QStringLiteral("url")).toString(); + BookmarkMatch bookmarkMatch(favicon->iconFor(url), term, bookmark.value(QStringLiteral("name")).toString(), url); bookmarkMatch.addTo(results, addEveryThing); } return results; diff --git a/runners/bookmarks/browsers/firefox.cpp b/runners/bookmarks/browsers/firefox.cpp --- a/runners/bookmarks/browsers/firefox.cpp +++ b/runners/bookmarks/browsers/firefox.cpp @@ -137,7 +137,8 @@ } for (auto result = uniqueResults.constKeyValueBegin(); result != uniqueResults.constKeyValueEnd(); ++result) { - BookmarkMatch bookmarkMatch(m_favicon, term, (*result).second, (*result).first); + const QString url = (*result).first; + BookmarkMatch bookmarkMatch(m_favicon->iconFor(url), term, (*result).second, url); bookmarkMatch.addTo(matches, addEverything); } diff --git a/runners/bookmarks/browsers/kdebrowser.cpp b/runners/bookmarks/browsers/kdebrowser.cpp --- a/runners/bookmarks/browsers/kdebrowser.cpp +++ b/runners/bookmarks/browsers/kdebrowser.cpp @@ -84,8 +84,9 @@ continue; } - - BookmarkMatch bookmarkMatch(m_favicon, term, bookmark.text(), bookmark.url().url() ); + + const QString url = bookmark.url().url(); + BookmarkMatch bookmarkMatch(m_favicon->iconFor(url), term, bookmark.text(), url); bookmarkMatch.addTo(matches, addEverything); bookmark = bookmarkGroup.next(bookmark); diff --git a/runners/bookmarks/browsers/opera.cpp b/runners/bookmarks/browsers/opera.cpp --- a/runners/bookmarks/browsers/opera.cpp +++ b/runners/bookmarks/browsers/opera.cpp @@ -61,7 +61,7 @@ } } - BookmarkMatch bookmarkMatch(m_favicon, term, name, url, description); + BookmarkMatch bookmarkMatch(m_favicon->iconFor(url), term, name, url, description); bookmarkMatch.addTo(matches, addEverything); } return matches;