diff options
author | Thomas McGuire <thomas.mcguire.qnx@kdab.com> | 2012-07-02 16:18:35 +0200 |
---|---|---|
committer | Thomas McGuire <thomas.mcguire@kdab.com> | 2012-11-29 13:00:50 +0100 |
commit | c8a5b1494dfa26173eca1ac6ff2cca9ea6b41b85 (patch) | |
tree | d6bff66f85e2d8ce0c522c23022c0b2544377cad /src/sensors/qaccelerometer.h | |
parent | 0ad111b1bf5a3a8aeb5d82623c02cac792792936 (diff) |
QAccelerometer: Add AccelerationMode property
Adds a private class.
Ctor was de-inlined, this is BC, apps linked against
old versions don't use the AccelerationMode property
so don't need to call the new ctor anyway.
Change-Id: I943ba91f33612922911515527380add648155d31
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Diffstat (limited to 'src/sensors/qaccelerometer.h')
-rw-r--r-- | src/sensors/qaccelerometer.h | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/src/sensors/qaccelerometer.h b/src/sensors/qaccelerometer.h index 540112053b..c518734460 100644 --- a/src/sensors/qaccelerometer.h +++ b/src/sensors/qaccelerometer.h @@ -74,14 +74,42 @@ private: bool filter(QSensorReading *reading) { return filter(static_cast<QAccelerometerReading*>(reading)); } }; +class QAccelerometerPrivate; + class Q_SENSORS_EXPORT QAccelerometer : public QSensor { Q_OBJECT + Q_ENUMS(AccelerationMode) + Q_PROPERTY(AccelerationMode accelerationMode READ accelerationMode WRITE setAccelerationMode + NOTIFY accelerationModeChanged) public: - explicit QAccelerometer(QObject *parent = 0) : QSensor(QAccelerometer::type, parent) {} - virtual ~QAccelerometer() {} + explicit QAccelerometer(QObject *parent = 0); + virtual ~QAccelerometer(); + + enum AccelerationMode { + Gravity, + User, + Combined + }; + + AccelerationMode accelerationMode() const; + void setAccelerationMode(AccelerationMode accelerationMode); + QAccelerometerReading *reading() const { return static_cast<QAccelerometerReading*>(QSensor::reading()); } static char const * const type; + +public slots: + void setUserAcceleration(); + void setGravityAcceleration(); + void setCombinedAcceleration(); + +signals: + void accelerationModeChanged(AccelerationMode accelerationMode); + +private: + friend class QAccelerometerPrivate; + QAccelerometerPrivate *d_func() const; + Q_DISABLE_COPY(QAccelerometer) }; QTM_END_NAMESPACE |