@@ -9,6 +9,7 @@
99
1010class ProxyScreen;
1111class ProxyScreens;
12+class ScreenConfig;
1213
1314class Screen: public QObject
1415{
@@ -30,8 +31,6 @@ class Screen: public QObject
3031 Q_PROPERTY(WorkspaceModel* workspaces READ workspaces CONSTANT)
3132 Q_PROPERTY(Workspace* currentWorkspace READ currentWorkspace WRITE setCurrentWorkspace2 NOTIFY currentWorkspaceChanged)
3233public:
33− // From qtmir::Screen
34− qtmir::OutputId outputId() const;
3534 bool used() const;
3635 QString name() const;
3736 float scale() const;
@@ -48,8 +47,8 @@ public:
4847 QScreen* qscreen() const;
4948 QString outputTypeName() const;
5049
51− qtmir::ScreenConfiguration *beginConfiguration() const;
52− bool applyConfiguration(qtmir::ScreenConfiguration *configuration);
50+ Q_INVOKABLE ScreenConfig *beginConfiguration() const;
51+ Q_INVOKABLE bool applyConfiguration(ScreenConfig *configuration);
5352
5453 virtual WorkspaceModel* workspaces() const = 0;
5554 virtual Workspace *currentWorkspace() const = 0;
@@ -132,4 +131,21 @@ private:
132131 QPointer<Workspace> m_currentWorspace;
133132};
134133
134+class ScreenConfig: public QObject
135+{
136+ Q_OBJECT
137+ Q_PRIVATE_PROPERTY(m_config, bool valid MEMBER used CONSTANT)
138+ Q_PRIVATE_PROPERTY(m_config, bool used MEMBER used)
139+ Q_PRIVATE_PROPERTY(m_config, float scale MEMBER scale)
140+ Q_PRIVATE_PROPERTY(m_config, qtmir::FormFactor formFactor MEMBER formFactor)
141+ Q_PRIVATE_PROPERTY(m_config, uint currentModeIndex MEMBER currentModeIndex)
142+ Q_PRIVATE_PROPERTY(m_config, QPoint position MEMBER topLeft)
143+
144+public:
145+ ScreenConfig(qtmir::ScreenConfiguration*);
146+ ~ScreenConfig();
147+
148+ qtmir::ScreenConfiguration* m_config;
149+};
150+
135151#endif // SCREEN_H