#pragma once #include #include #include #include #include #include #include "qmlscreen.hpp" class QtShellGlobal: public QObject { Q_OBJECT; Q_PROPERTY(QQmlListProperty screens READ screens NOTIFY screensChanged); QML_SINGLETON; QML_ELEMENT; public: QtShellGlobal(QObject* parent = nullptr); QQmlListProperty screens(); signals: void screensChanged(); public slots: void updateScreens(); private: static qsizetype screensCount(QQmlListProperty* prop); static QtShellScreenInfo* screenAt(QQmlListProperty* prop, qsizetype i); QVector mScreens; };