/* SPDX-FileCopyrightText: 2019 Michail Vourlakos SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef SCHEMESTRACKER_H #define SCHEMESTRACKER_H // local #include "../windowinfowrap.h" // Qt #include namespace Latte { namespace WindowSystem { class AbstractWindowInterface; class SchemeColors; } } namespace Latte { namespace WindowSystem { namespace Tracker { class Schemes : public QObject { Q_OBJECT public: Schemes(AbstractWindowInterface *parent); ~Schemes() override; SchemeColors *schemeForWindow(WindowId wId); void setColorSchemeForWindow(WindowId wId, QString scheme); signals: void colorSchemeChanged(const WindowId &wid); private slots: void updateDefaultScheme(); private: void init(); private: AbstractWindowInterface *m_wm; //! scheme file and its loaded colors QMap m_schemes; //! window id and its corresponding scheme file QMap m_windowScheme; }; } } } #endif