summaryrefslogtreecommitdiffstats
path: root/src/sensors
diff options
context:
space:
mode:
authorThomas McGuire <thomas.mcguire.qnx@kdab.com>2013-02-01 09:44:00 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-02-08 11:17:45 +0100
commitae6d8a286b760198705e877a5ba4c1eecc7a5e8d (patch)
treeef93fec2264376743fe0fdf8bac1cac1dfe3d13d /src/sensors
parenta3f4766964022ff0dc7ea0832922c2a58ab47e82 (diff)
Convert QRotationSensor::hasZ to a proper property
Change-Id: I32edf761653fbe9d08710703b02fb1c0183aba3e Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
Diffstat (limited to 'src/sensors')
-rw-r--r--src/sensors/qrotationsensor.cpp24
-rw-r--r--src/sensors/qrotationsensor.h13
-rw-r--r--src/sensors/qrotationsensor_p.h13
3 files changed, 46 insertions, 4 deletions
diff --git a/src/sensors/qrotationsensor.cpp b/src/sensors/qrotationsensor.cpp
index 9acc1cd8..ea0515ca 100644
--- a/src/sensors/qrotationsensor.cpp
+++ b/src/sensors/qrotationsensor.cpp
@@ -201,7 +201,7 @@ char const * const QRotationSensor::type("QRotationSensor");
Construct the sensor as a child of \a parent.
*/
QRotationSensor::QRotationSensor(QObject *parent)
- : QSensor(QRotationSensor::type, parent)
+ : QSensor(QRotationSensor::type, *new QRotationSensorPrivate, parent)
{
}
@@ -228,6 +228,28 @@ QRotationSensor::~QRotationSensor()
Returns false if z is not available.
*/
+bool QRotationSensor::hasZ() const
+{
+ Q_D(const QRotationSensor);
+ return (d->hasZ);
+}
+
+/*!
+ \since 5.1
+
+ Sets whether the z angle is available. This is to be called from the
+ backend. By default the hasZ property is true, so a backend only has to
+ call this if its rotation sensor can not report z angles.
+*/
+void QRotationSensor::setHasZ(bool hasZ)
+{
+ Q_D(QRotationSensor);
+ if (d->hasZ != hasZ) {
+ d->hasZ = hasZ;
+ emit hasZChanged(hasZ);
+ }
+}
+
#include "moc_qrotationsensor.cpp"
QT_END_NAMESPACE
diff --git a/src/sensors/qrotationsensor.h b/src/sensors/qrotationsensor.h
index 77da31cd..68a0d1d3 100644
--- a/src/sensors/qrotationsensor.h
+++ b/src/sensors/qrotationsensor.h
@@ -71,19 +71,26 @@ private:
bool filter(QSensorReading *reading) { return filter(static_cast<QRotationReading*>(reading)); }
};
+class QRotationSensorPrivate;
+
class Q_SENSORS_EXPORT QRotationSensor : public QSensor
{
Q_OBJECT
-#ifdef Q_QDOC
- Q_PROPERTY(bool hasZ)
-#endif
+ Q_PROPERTY(bool hasZ READ hasZ NOTIFY hasZChanged)
public:
explicit QRotationSensor(QObject *parent = 0);
virtual ~QRotationSensor();
QRotationReading *reading() const { return static_cast<QRotationReading*>(QSensor::reading()); }
static char const * const type;
+ bool hasZ() const;
+ void setHasZ(bool hasZ);
+
+Q_SIGNALS:
+ void hasZChanged(bool hasZ);
+
private:
+ Q_DECLARE_PRIVATE(QRotationSensor)
Q_DISABLE_COPY(QRotationSensor)
};
diff --git a/src/sensors/qrotationsensor_p.h b/src/sensors/qrotationsensor_p.h
index bf3aef7c..401c2143 100644
--- a/src/sensors/qrotationsensor_p.h
+++ b/src/sensors/qrotationsensor_p.h
@@ -53,6 +53,8 @@
// We mean it.
//
+#include "qsensor_p.h"
+
QT_BEGIN_NAMESPACE
class QRotationReadingPrivate
@@ -70,6 +72,17 @@ public:
qreal z;
};
+class QRotationSensorPrivate : public QSensorPrivate
+{
+public:
+ QRotationSensorPrivate()
+ : hasZ(true)
+ {
+ }
+
+ bool hasZ;
+};
+
QT_END_NAMESPACE
#endif