4#include <qtmir/screen.h>
5#include <QScopedPointer>
8#include "WorkspaceModel.h"
14class Screen: public QObject
18 Q_PROPERTY(bool active READ isActive WRITE setActive NOTIFY activeChanged)
20 Q_PROPERTY(bool used READ used NOTIFY usedChanged)
21 Q_PROPERTY(QString name READ name NOTIFY nameChanged)
22 Q_PROPERTY(qtmir::OutputTypes outputType READ outputType NOTIFY outputTypeChanged)
23 Q_PROPERTY(float scale READ scale NOTIFY scaleChanged)
24 Q_PROPERTY(qtmir::FormFactor formFactor READ formFactor NOTIFY formFactorChanged)
25 Q_PROPERTY(MirPowerMode powerMode READ powerMode NOTIFY powerModeChanged)
26 Q_PROPERTY(Qt::ScreenOrientation orientation READ orientation NOTIFY orientationChanged)
27 Q_PROPERTY(QPoint position READ position NOTIFY positionChanged)
28 Q_PROPERTY(uint currentModeIndex READ currentModeIndex NOTIFY currentModeIndexChanged)
29 Q_PROPERTY(QQmlListProperty<qtmir::ScreenMode> availableModes READ availableModes NOTIFY availableModesChanged)
30 Q_PROPERTY(QSizeF physicalSize READ physicalSize NOTIFY physicalSizeChanged)
31 Q_PROPERTY(QString outputTypeName READ outputTypeName NOTIFY outputTypeChanged)
32 Q_PROPERTY(WorkspaceModel* workspaces READ workspaces CONSTANT)
33 Q_PROPERTY(Workspace* currentWorkspace READ currentWorkspace WRITE setCurrentWorkspace2 NOTIFY currentWorkspaceChanged)
38 QSizeF physicalSize() const;
39 qtmir::FormFactor formFactor() const;
40 qtmir::OutputTypes outputType() const;
41 MirPowerMode powerMode() const;
42 Qt::ScreenOrientation orientation() const;
43 QPoint position() const;
44 QQmlListProperty<qtmir::ScreenMode> availableModes();
45 uint currentModeIndex() const;
46 bool isActive() const;
47 void setActive(bool active);
48 QScreen* qscreen() const;
49 QString outputTypeName() const;
51 Q_INVOKABLE bool isSameAs(Screen*) const;
53 Q_INVOKABLE ScreenConfig *beginConfiguration() const;
54 Q_INVOKABLE bool applyConfiguration(ScreenConfig *configuration);
56 virtual WorkspaceModel* workspaces() const = 0;
57 virtual Workspace *currentWorkspace() const = 0;
58 virtual void setCurrentWorkspace(Workspace* workspace) = 0;
60 void sync(Screen* proxy);
62 qtmir::Screen* wrapped() const { return m_wrapped; }
70 void outputTypeChanged();
71 void outputTypeNameChanged();
73 void formFactorChanged();
74 void powerModeChanged();
75 void orientationChanged();
76 void positionChanged();
77 void currentModeIndexChanged();
78 void physicalSizeChanged();
79 void availableModesChanged();
80 void activeChanged(bool active);
81 void currentWorkspaceChanged(Workspace*);
84 Screen(QObject* parent = 0);
86 void connectToScreen(qtmir::Screen* screen);
87 void connectToScreen(Screen* screen);
90 void setCurrentWorkspace2(Workspace* workspace);
93 QPointer<qtmir::Screen> m_wrapped;
97class ConcreteScreen : public Screen
101 explicit ConcreteScreen(qtmir::Screen*const wrapped);
103 // From qtmir::Screen
104 WorkspaceModel* workspaces() const override;
105 Workspace *currentWorkspace() const override;
106 void setCurrentWorkspace(Workspace* workspace) override;
109 void resetCurrentWorkspace();
111 const QScopedPointer<WorkspaceModel> m_workspaces;
112 QPointer<Workspace> m_currentWorspace;
115class ProxyScreen : public Screen
119 explicit ProxyScreen(Screen*const screen, ProxyScreens* screens);
121 // From qtmir::Screen
122 WorkspaceModel* workspaces() const override;
123 Workspace *currentWorkspace() const override;
124 void setCurrentWorkspace(Workspace* workspace) override;
126 Screen* proxyObject() const { return m_original.data(); }
128 bool isSyncing() const;
131 const QScopedPointer<WorkspaceModel> m_workspaces;
132 const QPointer<Screen> m_original;
133 const ProxyScreens* m_screens;
134 QPointer<Workspace> m_currentWorspace;
137class ScreenConfig: public QObject
140 Q_PRIVATE_PROPERTY(m_config, bool valid MEMBER used CONSTANT)
141 Q_PRIVATE_PROPERTY(m_config, bool used MEMBER used)
142 Q_PRIVATE_PROPERTY(m_config, float scale MEMBER scale)
143 Q_PRIVATE_PROPERTY(m_config, qtmir::FormFactor formFactor MEMBER formFactor)
144 Q_PRIVATE_PROPERTY(m_config, uint currentModeIndex MEMBER currentModeIndex)
145 Q_PRIVATE_PROPERTY(m_config, QPoint position MEMBER topLeft)
148 ScreenConfig(qtmir::ScreenConfiguration*);
151 qtmir::ScreenConfiguration* m_config;
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list