diff options
author | Kevin Ottens <kevin.ottens.qnx@kdab.com> | 2012-05-07 13:03:24 +0200 |
---|---|---|
committer | Lorn Potter <lorn.potter@gmail.com> | 2012-11-28 18:20:26 +0100 |
commit | df9d1ef798bcb9356fbc898a13f190a9fa63da25 (patch) | |
tree | 4a7fc42455768025726b9112a15712cf1545a7e7 | |
parent | 5c20826ca7158643482d688d0cfd313a55601072 (diff) |
Add the alwaysOn property to QSensor
(This is a backport from qtsensors commits
f9672df5ea9872f911eb0011012f829309e11e71 and
4187d0baa96c4731abfcddfe2c24cf4ef4e72ac5)
Change-Id: I9b4adb6a97599dff7f8b0506e5800ed01abdd3b2
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
-rw-r--r-- | src/sensors/qsensor.cpp | 24 | ||||
-rw-r--r-- | src/sensors/qsensor.h | 5 | ||||
-rw-r--r-- | src/sensors/qsensor_p.h | 3 |
3 files changed, 32 insertions, 0 deletions
diff --git a/src/sensors/qsensor.cpp b/src/sensors/qsensor.cpp index 3e13eb69c4..0b22ad20f7 100644 --- a/src/sensors/qsensor.cpp +++ b/src/sensors/qsensor.cpp @@ -375,6 +375,30 @@ bool QSensor::isActive() const } /*! + \property QSensor::alwaysOn + \brief a value to indicate if the sensor should remain running when the screen is off. + + Some platforms have a policy of suspending sensors when the screen turns off. + Setting this property to true will ensure the sensor continues to run. +*/ +/*! + \fn QSensor::alwaysOnChanged() + + This signal is emitted when the alwaysOn property changes. +*/ +void QSensor::setAlwaysOn(bool alwaysOn) +{ + if (d->alwaysOn == alwaysOn) return; + d->alwaysOn = alwaysOn; + emit alwaysOnChanged(); +} + +bool QSensor::isAlwaysOn() const +{ + return d->alwaysOn; +} + +/*! \property QSensor::availableDataRates \brief the data rates that the sensor supports. diff --git a/src/sensors/qsensor.h b/src/sensors/qsensor.h index dda9eb867b..02ef032e90 100644 --- a/src/sensors/qsensor.h +++ b/src/sensors/qsensor.h @@ -98,6 +98,7 @@ class Q_SENSORS_EXPORT QSensor : public QObject Q_PROPERTY(int outputRange READ outputRange WRITE setOutputRange) Q_PROPERTY(QString description READ description) Q_PROPERTY(int error READ error NOTIFY sensorError) + Q_PROPERTY(bool alwaysOn READ isAlwaysOn WRITE setAlwaysOn NOTIFY alwaysOnChanged REVISION 1) #ifdef Q_QDOC Q_PROPERTY(int maxBufferSize) Q_PROPERTY(int efficientBufferSize) @@ -120,6 +121,9 @@ public: void setActive(bool active); bool isActive() const; + bool isAlwaysOn() const; + void setAlwaysOn(bool alwaysOn); + qrangelist availableDataRates() const; int dataRate() const; void setDataRate(int rate); @@ -158,6 +162,7 @@ Q_SIGNALS: void readingChanged(); void sensorError(int error); void availableSensorsChanged(); + void alwaysOnChanged(); protected: // called by the back end diff --git a/src/sensors/qsensor_p.h b/src/sensors/qsensor_p.h index 6458a828ed..de34cd02df 100644 --- a/src/sensors/qsensor_p.h +++ b/src/sensors/qsensor_p.h @@ -74,6 +74,7 @@ public: , filter_reading(0) , cache_reading(0) , error(0) + , alwaysOn(false) { } @@ -99,6 +100,8 @@ public: QSensorReading *cache_reading; int error; + + bool alwaysOn; }; class QSensorReadingPrivate |