on xenial help sign in
add outputTypeName to Screen
commitb4c4b672fcbf651cefcdc4107f90dd96ae0bd292 authorMichael Zanetti <michael.zanetti@canonical.com> dateFri 10 Mar 2017, 10:02 (10 years ago) parentb9739cb
4 files changed+41−1
plugins/WindowManager/Screen.cpp+32 plugins/WindowManager/Screen.h+3 qml/Stage/Spread/ScreensAndWorkspaces.qml+1−1 tests/mocks/WindowManager/MockScreens.cpp+5
plugins/WindowManager/Screen.cpp+32
@@ -36,6 +36,7 @@ Screen::Screen(qtmir::Screen* screen)
3636 connect(m_wrapped, &qtmir::Screen::activeChanged, this, &Screen::activeChanged);
3737 connect(m_wrapped, &qtmir::Screen::currentModeIndexChanged, this, &Screen::currentModeIndexChanged);
3838 connect(m_wrapped, &qtmir::Screen::availableModesChanged, this, &Screen::availableModesChanged);
39+ connect(m_wrapped, &qtmir::Screen::outputTypeChanged, this, &Screen::outputTypeNameChanged);
3940
4041 // Connect the active workspace to activate the screen.
4142 connect(m_workspaces.data(), &WorkspaceModel::workspaceAdded, this, [this](Workspace* workspace) {
@@ -132,6 +133,37 @@ qtmir::OutputTypes Screen::outputType() const
132133 return m_wrapped->outputType();
133134}
134135
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+
135167MirPowerMode Screen::powerMode() const
136168{
137169 return m_wrapped->powerMode();
plugins/WindowManager/Screen.h+3
@@ -14,6 +14,7 @@ class Screen : public qtmir::Screen
1414 Q_OBJECT
1515 Q_PROPERTY(WorkspaceModel* workspaces READ workspaces CONSTANT)
1616 Q_PROPERTY(Workspace* currentWorkspace READ currentWorkspace WRITE setCurrentWorkspace NOTIFY currentWorkspaceChanged)
17+ Q_PROPERTY(QString outputTypeName READ outputTypeName NOTIFY outputTypeNameChanged)
1718
1819public:
1920 explicit Screen(qtmir::Screen*const wrapped);
@@ -25,6 +26,7 @@ public:
2526 QSizeF physicalSize() const override;
2627 qtmir::FormFactor formFactor() const override;
2728 qtmir::OutputTypes outputType() const override;
29+ QString outputTypeName() const;
2830 MirPowerMode powerMode() const override;
2931 Qt::ScreenOrientation orientation() const override;
3032 QPoint position() const override;
@@ -52,6 +54,7 @@ public Q_SLOTS:
5254
5355Q_SIGNALS:
5456 void currentWorkspaceChanged(Workspace*);
57+ void outputTypeNameChanged();
5558
5659protected:
5760 Screen(Screen const& other);
qml/Stage/Spread/ScreensAndWorkspaces.qml+1−1
@@ -63,7 +63,7 @@ Item {
6363 }
6464
6565 Label {
66− text: model.screen.outputType === Screens.LVDS ? "Built-in" : "Clone"
66+ text: model.screen.outputTypeName
6767 color: "black"
6868 fontSize: "x-small"
6969 }
tests/mocks/WindowManager/MockScreens.cpp+5
@@ -24,6 +24,7 @@ namespace {
2424class MockScreen : public qtmir::Screen
2525{
2626 Q_OBJECT
27+ Q_PROPERTY(QString outputTypeName READ outputTypeName NOTIFY outputTypeNameChanged)
2728public:
2829 MockScreen()
2930 {
@@ -41,6 +42,7 @@ public:
4142 QSizeF physicalSize() const override { return m_physicalSize; }
4243 qtmir::FormFactor formFactor() const override { return m_formFactor; }
4344 qtmir::OutputTypes outputType() const override { return m_outputType; }
45+ QString outputTypeName() const { return QStringLiteral("Internal"); }
4446 MirPowerMode powerMode() const override { return m_powerMode; }
4547 Qt::ScreenOrientation orientation() const override { return m_orientation; }
4648 QPoint position() const override { return m_position; }
@@ -83,6 +85,9 @@ public:
8385 return true;
8486 }
8587
88+Q_SIGNALS:
89+ void outputTypeNameChanged();
90+
8691public:
8792 qtmir::OutputId m_id{0};
8893 bool m_active{false};