/** * @RDE_HEADER@ * Loads Style Plugins and unloads them to keep one resource file only * $Id$ * $HeadURL$ * $Author$ * * Created by Mike Wille, NLSE, 2018-02-15 */ #pragma once #include #include class QPluginLoader; namespace LtsUtils { class LTSUTILSGUISTYLEMANAGER_EXPORT StyleManager : public QObject { Q_OBJECT using QObject::QObject; ~StyleManager() = default; public: static StyleManager *getInstance(); bool loadStyle(const QString &stylePluginName, bool highDpi = false); const QString ¤tStyleName() const { return m_stylePluginName; } private: friend struct StyleManagerHandler; QPluginLoader *m_currentStylePluginLoader = nullptr; QString m_stylePluginName; signals: void signalStyleChanged(const QString &stylePluginName); }; } // namespace LtsUtils