/* SPDX-FileCopyrightText: 2007 Glenn Ergeerts SPDX-FileCopyrightText: 2012 Marco Gulino SPDX-License-Identifier: LGPL-2.0-or-later */ #pragma once #include #include class Favicon : public QObject { Q_OBJECT public: explicit Favicon(QObject *parent = nullptr); virtual QIcon iconFor(const QString &url) = 0; protected: inline QIcon defaultIcon() const { return m_default_icon; } private: QIcon const m_default_icon; public Q_SLOTS: virtual void prepare() { } virtual void teardown() { } }; class FallbackFavicon : public Favicon { Q_OBJECT public: FallbackFavicon(QObject *parent = nullptr) : Favicon(parent) { } QIcon iconFor(const QString &) override { return defaultIcon(); } };