[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [libkscreen] /: Make Output::Type an enum, adapt tests and get/setter
From: Àlex_Fiestas <afiestas () kde ! org>
Date: 2013-04-30 18:30:55
Message-ID: 20130430183055.A8B34A603D () git ! kde ! org
[Download RAW message or body]
Git commit 4af0c3ebcff917e11e8ca47f518cc808bb92d0af by Àlex Fiestas.
Committed on 30/04/2013 at 11:56.
Pushed by afiestas into branch 'master'.
Make Output::Type an enum, adapt tests and get/setter
M +38 -0 backends/fake/parser.cpp
M +3 -3 src/output.cpp
M +23 -3 src/output.h
M +2 -2 tests/testscreenconfig.cpp
M +1 -1 tests/testxrandr.cpp
http://commits.kde.org/libkscreen/4af0c3ebcff917e11e8ca47f518cc808bb92d0af
diff --git a/backends/fake/parser.cpp b/backends/fake/parser.cpp
index 7e24034..287a3a4 100644
--- a/backends/fake/parser.cpp
+++ b/backends/fake/parser.cpp
@@ -21,6 +21,7 @@
#include <config.h>
#include <QtCore/QFile>
+#include <KDebug>
#include <qjson/parser.h>
#include <qjson/qobjecthelper.h>
@@ -104,6 +105,43 @@ Output* Parser::outputFromJson(const QVariant& data)
output->setClones(clones);
}
+
+ QString type = map["type"].toByteArray().toUpper();
+ if (type.contains("LVDS") || type.contains("EDP") || type.contains("IDP")) {
+ output->setType(Output::Panel);
+ } else if (type.contains("VGA")) {
+ output->setType(Output::VGA);
+ } else if (type.contains("DVI")) {
+ output->setType(Output::DVI);
+ } else if (type.contains("DVI-I")) {
+ output->setType(Output::DVII);
+ } else if (type.contains("DVI-A")) {
+ output->setType(Output::DVIA);
+ } else if (type.contains("DVI-D")) {
+ output->setType(Output::DVID);
+ } else if (type.contains("HDMI")) {
+ output->setType(Output::HDMI);
+ } else if (type.contains("Panel")) {
+ output->setType(Output::Panel);
+ } else if (type.contains("TV")) {
+ output->setType(Output::TV);
+ } else if (type.contains("TV-Composite")) {
+ output->setType(Output::TVComposite);
+ } else if (type.contains("TV-SVideo")) {
+ output->setType(Output::TVSVideo);
+ } else if (type.contains("TV-Component")) {
+ output->setType(Output::TVComponent);
+ } else if (type.contains("TV-SCART")) {
+ output->setType(Output::TVSCART);
+ } else if (type.contains("TV-C4")) {
+ output->setType(Output::TVC4);
+ } else if (type.contains("DisplayPort")) {
+ output->setType(Output::DisplayPort);
+ } else if (type.contains("Unknown")) {
+ output->setType(Output::Unknown);
+ } else {
+ kDebug() << "Output Type not translated:" << type;
+ }
return output;
}
diff --git a/src/output.cpp b/src/output.cpp
index a07205e..a30ca4a 100644
--- a/src/output.cpp
+++ b/src/output.cpp
@@ -42,7 +42,7 @@ class Output::Private
int id;
QString name;
- QString type;
+ Type type;
QString icon;
ModeList modeList;
QList<int> clones;
@@ -131,12 +131,12 @@ void Output::setName(const QString& name)
Q_EMIT outputChanged();
}
-QString Output::type() const
+Output::Type Output::type() const
{
return d->type;
}
-void Output::setType(const QString& type)
+void Output::setType(Type type)
{
if (d->type == type) {
return;
diff --git a/src/output.h b/src/output.h
index d2b543f..2a722af 100644
--- a/src/output.h
+++ b/src/output.h
@@ -39,9 +39,10 @@ class KSCREEN_EXPORT Output : public QObject
public:
Q_ENUMS(Rotation)
+ Q_ENUMS(Type)
Q_PROPERTY(int id READ id NOTIFY outputChanged)
Q_PROPERTY(QString name READ name WRITE setName NOTIFY outputChanged)
- Q_PROPERTY(QString type READ type WRITE setType NOTIFY outputChanged)
+ Q_PROPERTY(Type type READ type WRITE setType NOTIFY outputChanged)
Q_PROPERTY(QString icon READ icon WRITE setIcon NOTIFY outputChanged)
Q_PROPERTY(ModeList modes READ modes CONSTANT)
Q_PROPERTY(QPoint pos READ pos WRITE setPos NOTIFY posChanged)
@@ -54,6 +55,24 @@ class KSCREEN_EXPORT Output : public QObject
Q_PROPERTY(QList<int> clones READ clones WRITE setClones NOTIFY clonesChanged)
Q_PROPERTY(KScreen::Edid* edid READ edid CONSTANT)
+ enum Type {
+ Unknown,
+ VGA,
+ DVI,
+ DVII,
+ DVIA,
+ DVID,
+ HDMI,
+ Panel,
+ TV,
+ TVComposite,
+ TVSVideo,
+ TVComponent,
+ TVSCART,
+ TVC4,
+ DisplayPort
+ };
+
enum Rotation {
None = 1,
Left = 2,
@@ -70,8 +89,8 @@ class KSCREEN_EXPORT Output : public QObject
QString name() const;
void setName(const QString& name);
- QString type() const;
- void setType(const QString& type);
+ Type type() const;
+ void setType(Type type);
QString icon() const;
void setIcon(const QString& icon);
@@ -146,5 +165,6 @@ typedef QHash<int, Output*> OutputList;
Q_DECLARE_METATYPE(KScreen::OutputList)
Q_DECLARE_METATYPE(KScreen::Output::Rotation)
+Q_DECLARE_METATYPE(KScreen::Output::Type)
#endif //OUTPUT_H
diff --git a/tests/testscreenconfig.cpp b/tests/testscreenconfig.cpp
index 8f3f429..0adbd2a 100644
--- a/tests/testscreenconfig.cpp
+++ b/tests/testscreenconfig.cpp
@@ -68,7 +68,7 @@ void testScreenConfig::singleOutput()
Output *output = config->outputs().take(1);
QCOMPARE(output->name(), QString("LVDS1"));
- QCOMPARE(output->type(), QString("LVDS"));
+ QCOMPARE(output->type(), Output::Panel);
QCOMPARE(output->modes().count(), 3);
QCOMPARE(output->pos(), QPoint(0, 0));
QCOMPARE(output->currentModeId(), QLatin1String("3"));
@@ -117,7 +117,7 @@ void testScreenConfig::multiOutput()
Output *output = config->outputs().take(2);
QCOMPARE(output->name(), QString("HDMI1"));
- QCOMPARE(output->type(), QString("HDMI"));
+ QCOMPARE(output->type(), Output::HDMI);
QCOMPARE(output->modes().count(), 4);
QCOMPARE(output->pos(), QPoint(0, 0));
QCOMPARE(output->currentModeId(), QLatin1String("4"));
diff --git a/tests/testxrandr.cpp b/tests/testxrandr.cpp
index 83fd5a7..13f5ec7 100644
--- a/tests/testxrandr.cpp
+++ b/tests/testxrandr.cpp
@@ -56,7 +56,7 @@ void testXRandR::singleOutput()
Output *output = config->outputs().take(327);
QCOMPARE(output->name(), QString("default"));
- QCOMPARE(output->type(), QString("unknown"));
+ QCOMPARE(output->type(), Output::Unknown);
QCOMPARE(output->modes().count(), 15);
QCOMPARE(output->pos(), QPoint(0, 0));
QCOMPARE(output->currentModeId(), QLatin1String("338"));
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic