on xenial help sign in
add outputTypeName to Screen
b4c4b67Michael Zanetti
plugins/WindowManager/Screen.cpp+32
@@ -36,6 +36,7 @@ Screen::Screen(qtmir::Screen* screen)
36 connect(m_wrapped, &qtmir::Screen::activeChanged, this, &Screen::activeChanged);
36 connect(m_wrapped, &qtmir::Screen::activeChanged, this, &Screen::activeChanged);
37 connect(m_wrapped, &qtmir::Screen::currentModeIndexChanged, this, &Screen::currentModeIndexChanged);
37 connect(m_wrapped, &qtmir::Screen::currentModeIndexChanged, this, &Screen::currentModeIndexChanged);
38 connect(m_wrapped, &qtmir::Screen::availableModesChanged, this, &Screen::availableModesChanged);
38 connect(m_wrapped, &qtmir::Screen::availableModesChanged, this, &Screen::availableModesChanged);
39+ connect(m_wrapped, &qtmir::Screen::outputTypeChanged, this, &Screen::outputTypeNameChanged);
39
40
40 // Connect the active workspace to activate the screen.
41 // Connect the active workspace to activate the screen.
41 connect(m_workspaces.data(), &WorkspaceModel::workspaceAdded, this, [this](Workspace* workspace) {
42 connect(m_workspaces.data(), &WorkspaceModel::workspaceAdded, this, [this](Workspace* workspace) {
@@ -132,6 +133,37 @@ qtmir::OutputTypes Screen::outputType() const
132 return m_wrapped->outputType();
133 return m_wrapped->outputType();
133}
134}
134
135
136+QString Screen::outputTypeName() const
137+{
138+ switch (m_wrapped->outputType()) {
139+ case qtmir::Unknown:
140+ return tr("Unknown");
141+ case qtmir::VGA:
142+ return tr("VGA");
143+ case qtmir::DVII:
144+ case qtmir::DVID:
145+ case qtmir::DVIA:
146+ return tr("DVI");
147+ case qtmir::Composite:
148+ return tr("Composite");
149+ case qtmir::SVideo:
150+ return tr("S-Video");
151+ case qtmir::LVDS:
152+ case qtmir::NinePinDIN:
153+ case qtmir::EDP:
154+ return tr("Internal");
155+ case qtmir::Component:
156+ return tr("Component");
157+ case qtmir::DisplayPort:
158+ return tr("DisplayPort");
159+ case qtmir::HDMIA:
160+ case qtmir::HDMIB:
161+ return tr("HDMI");
162+ case qtmir::TV:
163+ return tr("TV");
164+ }
165+}
166+
135MirPowerMode Screen::powerMode() const
167MirPowerMode Screen::powerMode() const
136{
168{
137 return m_wrapped->powerMode();
169 return m_wrapped->powerMode();
plugins/WindowManager/Screen.h+3
@@ -14,6 +14,7 @@ class Screen : public qtmir::Screen
14 Q_OBJECT
14 Q_OBJECT
15 Q_PROPERTY(WorkspaceModel* workspaces READ workspaces CONSTANT)
15 Q_PROPERTY(WorkspaceModel* workspaces READ workspaces CONSTANT)
16 Q_PROPERTY(Workspace* currentWorkspace READ currentWorkspace WRITE setCurrentWorkspace NOTIFY currentWorkspaceChanged)
16 Q_PROPERTY(Workspace* currentWorkspace READ currentWorkspace WRITE setCurrentWorkspace NOTIFY currentWorkspaceChanged)
17+ Q_PROPERTY(QString outputTypeName READ outputTypeName NOTIFY outputTypeNameChanged)
17
18
18public:
19public:
19 explicit Screen(qtmir::Screen*const wrapped);
20 explicit Screen(qtmir::Screen*const wrapped);
@@ -25,6 +26,7 @@ public:
25 QSizeF physicalSize() const override;
26 QSizeF physicalSize() const override;
26 qtmir::FormFactor formFactor() const override;
27 qtmir::FormFactor formFactor() const override;
27 qtmir::OutputTypes outputType() const override;
28 qtmir::OutputTypes outputType() const override;
29+ QString outputTypeName() const;
28 MirPowerMode powerMode() const override;
30 MirPowerMode powerMode() const override;
29 Qt::ScreenOrientation orientation() const override;
31 Qt::ScreenOrientation orientation() const override;
30 QPoint position() const override;
32 QPoint position() const override;
@@ -52,6 +54,7 @@ public Q_SLOTS:
52
54
53Q_SIGNALS:
55Q_SIGNALS:
54 void currentWorkspaceChanged(Workspace*);
56 void currentWorkspaceChanged(Workspace*);
57+ void outputTypeNameChanged();
55
58
56protected:
59protected:
57 Screen(Screen const& other);
60 Screen(Screen const& other);
qml/Stage/Spread/ScreensAndWorkspaces.qml+1−1
@@ -63,7 +63,7 @@ Item {
63 }
63 }
64
64
65 Label {
65 Label {
66− text: model.screen.outputType === Screens.LVDS ? "Built-in" : "Clone"
66+ text: model.screen.outputTypeName
67 color: "black"
67 color: "black"
68 fontSize: "x-small"
68 fontSize: "x-small"
69 }
69 }
tests/mocks/WindowManager/MockScreens.cpp+5
@@ -24,6 +24,7 @@ namespace {
24class MockScreen : public qtmir::Screen
24class MockScreen : public qtmir::Screen
25{
25{
26 Q_OBJECT
26 Q_OBJECT
27+ Q_PROPERTY(QString outputTypeName READ outputTypeName NOTIFY outputTypeNameChanged)
27public:
28public:
28 MockScreen()
29 MockScreen()
29 {
30 {
@@ -41,6 +42,7 @@ public:
41 QSizeF physicalSize() const override { return m_physicalSize; }
42 QSizeF physicalSize() const override { return m_physicalSize; }
42 qtmir::FormFactor formFactor() const override { return m_formFactor; }
43 qtmir::FormFactor formFactor() const override { return m_formFactor; }
43 qtmir::OutputTypes outputType() const override { return m_outputType; }
44 qtmir::OutputTypes outputType() const override { return m_outputType; }
45+ QString outputTypeName() const { return QStringLiteral("Internal"); }
44 MirPowerMode powerMode() const override { return m_powerMode; }
46 MirPowerMode powerMode() const override { return m_powerMode; }
45 Qt::ScreenOrientation orientation() const override { return m_orientation; }
47 Qt::ScreenOrientation orientation() const override { return m_orientation; }
46 QPoint position() const override { return m_position; }
48 QPoint position() const override { return m_position; }
@@ -83,6 +85,9 @@ public:
83 return true;
85 return true;
84 }
86 }
85
87
88+Q_SIGNALS:
89+ void outputTypeNameChanged();
90+
86public:
91public:
87 qtmir::OutputId m_id{0};
92 qtmir::OutputId m_id{0};
88 bool m_active{false};
93 bool m_active{false};