#pragma once #include #include class IconResourceHandler : public ResourceHandler { public: explicit IconResourceHandler(const QString &key); /// Sets the current theme and notifies all IconResourceHandlers of the change static void setTheme(const QString &theme); private: // we need to keep track of all IconResourceHandlers so that we can update them if the theme changes void init(std::shared_ptr &ptr) override; static QList> m_iconHandlers; QString m_key; // the workhorse, returns QVariantMap (filename => size) for m_key/m_theme QVariant get() const; };