File indexing completed on 2024-05-05 17:45:00
0001 /* 0002 SPDX-FileCopyrightText: 2007 Glenn Ergeerts <glenn.ergeerts@telenet.be> 0003 SPDX-FileCopyrightText: 2012 Marco Gulino <marco.gulino@xpeppers.com> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #pragma once 0009 0010 #include "favicon.h" 0011 #include "fetchsqlite.h" 0012 #include <QIcon> 0013 0014 class FaviconFromBlob : public Favicon 0015 { 0016 Q_OBJECT 0017 public: 0018 static FaviconFromBlob *chrome(const QString &profileDirectory, QObject *parent = nullptr); 0019 static FaviconFromBlob *firefox(FetchSqlite *fetchSqlite, QObject *parent = nullptr); 0020 static FaviconFromBlob *falkon(const QString &profileDirectory, QObject *parent = nullptr); 0021 ~FaviconFromBlob() override; 0022 QIcon iconFor(const QString &url) override; 0023 0024 public Q_SLOTS: 0025 void prepare() override; 0026 void teardown() override; 0027 0028 private: 0029 FaviconFromBlob(const QString &profileName, const QString &query, const QString &blobColumn, FetchSqlite *fetchSqlite, QObject *parent = nullptr); 0030 QString m_profileCacheDirectory; 0031 QString m_query; 0032 QString const m_blobcolumn; 0033 FetchSqlite *m_fetchsqlite; 0034 void cleanCacheDirectory(); 0035 };