/* SPDX-FileCopyrightText: 2018 Michail Vourlakos SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef PLASMASCREENPOOL_H #define PLASMASCREENPOOL_H // Qt #include #include #include // KDE #include #include class PrimaryOutputWatcher; namespace Latte { namespace PlasmaExtended { class ScreenPool: public QObject { Q_OBJECT public: ScreenPool(QObject *parent = nullptr); ~ScreenPool() override; int id(const QString &connector) const; QString connector(int id) const; signals: void idsChanged(); private slots: void load(); void insertScreenMapping(int id, const QString &connector); private: QHash m_screens; //order is important QMap m_connectorForId; QHash m_idForConnector; KSharedConfig::Ptr m_plasmarcConfig; KConfigGroup m_screensGroup; PrimaryOutputWatcher *m_primaryWatcher; }; } } #endif