@@ -0,0 +1,93 @@
1+#include "deviceconfigparser.h"
6+DeviceConfigParser::DeviceConfigParser(QObject *parent): QObject(parent)
11+QString DeviceConfigParser::name() const
16+void DeviceConfigParser::setName(const QString &name)
18+ if (m_name == name) {
25+Qt::ScreenOrientation DeviceConfigParser::primaryOrientation() const
27+ return stringToOrientation(readOrientationStringFromConfig("PrimaryOrientation"), Qt::PrimaryOrientation);
30+Qt::ScreenOrientations DeviceConfigParser::supportedOrientations() const
32+ QString values = readOrientationStringFromConfig("SupportedOrientations");
33+ if (values.isEmpty()) {
34+ return Qt::PortraitOrientation
35+ | Qt::InvertedPortraitOrientation
36+ | Qt::LandscapeOrientation
37+ | Qt::InvertedLandscapeOrientation;
40+ Qt::ScreenOrientations ret = Qt::PrimaryOrientation;
41+ Q_FOREACH(const QString &orientationString, values.split(',')) {
42+ ret |= stringToOrientation(orientationString, Qt::PrimaryOrientation);
47+Qt::ScreenOrientation DeviceConfigParser::landscapeOrientation() const
49+ return stringToOrientation(readOrientationStringFromConfig("LandscapeOrientation"), Qt::LandscapeOrientation);
52+Qt::ScreenOrientation DeviceConfigParser::invertedLandscapeOrientation() const
54+ return stringToOrientation(readOrientationStringFromConfig("InvertedLandscapeOrientation"), Qt::InvertedLandscapeOrientation);
57+Qt::ScreenOrientation DeviceConfigParser::portraitOrientation() const
59+ return stringToOrientation(readOrientationStringFromConfig("PortraitOrientation"), Qt::PortraitOrientation);
62+Qt::ScreenOrientation DeviceConfigParser::invertedPortraitOrientation() const
64+ return stringToOrientation(readOrientationStringFromConfig("InvertedPortraitOrientation"), Qt::InvertedPortraitOrientation);
67+QString DeviceConfigParser::readOrientationStringFromConfig(const QString &key) const
69+ QSettings config("/etc/unity8/devices.conf", QSettings::IniFormat);
70+ config.beginGroup(m_name);
72+ if (config.contains(key)) {
73+ return config.value(key).toString();
78+Qt::ScreenOrientation DeviceConfigParser::stringToOrientation(const QString &orientationString, Qt::ScreenOrientation defaultValue) const
80+ if (orientationString == "Landscape") {
81+ return Qt::LandscapeOrientation;
83+ if (orientationString == "InvertedLandscape") {
84+ return Qt::InvertedLandscapeOrientation;
86+ if (orientationString == "Portrait") {
87+ return Qt::PortraitOrientation;
89+ if (orientationString == "InvertedPortrait") {
90+ return Qt::InvertedPortraitOrientation;