diff --git a/runners/bookmarks/faviconfromblob.h b/runners/bookmarks/faviconfromblob.h --- a/runners/bookmarks/faviconfromblob.h +++ b/runners/bookmarks/faviconfromblob.h @@ -39,9 +39,9 @@ void teardown() override; private: - FaviconFromBlob(const QString &profileName, BuildQuery *buildQuery, const QString &blobColumn, FetchSqlite *fetchSqlite, QObject *parent = nullptr); + FaviconFromBlob(const QString &profileName, const QString &query, const QString &blobColumn, FetchSqlite *fetchSqlite, QObject *parent = nullptr); QString m_profileCacheDirectory; - BuildQuery *m_buildQuery; + QString m_query; QString const m_blobcolumn; FetchSqlite *m_fetchsqlite; void cleanCacheDirectory(); diff --git a/runners/bookmarks/faviconfromblob.cpp b/runners/bookmarks/faviconfromblob.cpp --- a/runners/bookmarks/faviconfromblob.cpp +++ b/runners/bookmarks/faviconfromblob.cpp @@ -35,17 +35,6 @@ #include #include - -class StaticQuery : public BuildQuery { -public: - StaticQuery(const QString &query) : m_query(query) {} - QString query() const override { - return m_query; - } -private: - const QString m_query; -}; - FaviconFromBlob *FaviconFromBlob::chrome(const QString &profileDirectory, QObject *parent) { QString profileName = QFileInfo(profileDirectory).fileName(); @@ -65,7 +54,7 @@ "WHERE page_url = :url LIMIT 1;"); } - return new FaviconFromBlob(profileName, new StaticQuery(faviconQuery), QStringLiteral("image_data"), fetchSqlite, parent); + return new FaviconFromBlob(profileName, faviconQuery, QStringLiteral("image_data"), fetchSqlite, parent); } FaviconFromBlob *FaviconFromBlob::firefox(FetchSqlite *fetchSqlite, QObject *parent) @@ -75,12 +64,12 @@ " INNER JOIN moz_icons_to_pages ON moz_icons.id = moz_icons_to_pages.icon_id" \ " INNER JOIN moz_pages_w_icons ON moz_icons_to_pages.page_id = moz_pages_w_icons.id" \ " WHERE moz_pages_w_icons.page_url = :url LIMIT 1;"); - return new FaviconFromBlob(QStringLiteral("firefox-default"), new StaticQuery(faviconQuery), QStringLiteral("data"), fetchSqlite, parent); + return new FaviconFromBlob(QStringLiteral("firefox-default"), faviconQuery, QStringLiteral("data"), fetchSqlite, parent); } -FaviconFromBlob::FaviconFromBlob(const QString &profileName, BuildQuery *buildQuery, const QString &blobColumn, FetchSqlite *fetchSqlite, QObject *parent) - : Favicon(parent), m_buildQuery(buildQuery), m_blobcolumn(blobColumn), m_fetchsqlite(fetchSqlite) +FaviconFromBlob::FaviconFromBlob(const QString &profileName, const QString &query, const QString &blobColumn, FetchSqlite *fetchSqlite, QObject *parent) + : Favicon(parent), m_query(query), m_blobcolumn(blobColumn), m_fetchsqlite(fetchSqlite) { m_profileCacheDirectory = QStringLiteral("%1/KRunner-Favicons-%2") .arg(QStandardPaths::writableLocation(QStandardPaths::CacheLocation), profileName); @@ -92,7 +81,6 @@ FaviconFromBlob::~FaviconFromBlob() { cleanCacheDirectory(); - delete m_buildQuery; } void FaviconFromBlob::prepare() @@ -120,7 +108,7 @@ if(!iconFile.exists()) { QMap bindVariables; bindVariables.insert(QStringLiteral(":url"), url); - QList faviconFound = m_fetchsqlite->query(m_buildQuery, bindVariables); + QList faviconFound = m_fetchsqlite->query(m_query, bindVariables); if(faviconFound.isEmpty()) return defaultIcon(); QByteArray iconData = faviconFound.first().value(m_blobcolumn).toByteArray(); diff --git a/runners/bookmarks/fetchsqlite.h b/runners/bookmarks/fetchsqlite.h --- a/runners/bookmarks/fetchsqlite.h +++ b/runners/bookmarks/fetchsqlite.h @@ -31,12 +31,6 @@ #include -class BuildQuery { -public: - virtual QString query() const = 0; - virtual ~BuildQuery() {} -}; - class FetchSqlite : public QObject { Q_OBJECT @@ -46,7 +40,6 @@ void prepare(); void teardown(); QList query(const QString &sql, QMap bindObjects); - QList query(BuildQuery *buildQuery, QMap bindObjects); QList query(const QString &sql); QStringList tables(QSql::TableType type = QSql::Tables); diff --git a/runners/bookmarks/fetchsqlite.cpp b/runners/bookmarks/fetchsqlite.cpp --- a/runners/bookmarks/fetchsqlite.cpp +++ b/runners/bookmarks/fetchsqlite.cpp @@ -65,11 +65,6 @@ m_db.close(); } -QList FetchSqlite::query(BuildQuery *buildQuery, QMap bindObjects) -{ - return query(buildQuery->query(), bindObjects); -} - QList FetchSqlite::query(const QString &sql, QMap bindObjects) { QMutexLocker lock(&m_mutex);