diff options
author | Thomas McGuire <thomas.mcguire.qnx@kdab.com> | 2013-02-01 10:10:43 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-02-08 11:17:43 +0100 |
commit | a3f4766964022ff0dc7ea0832922c2a58ab47e82 (patch) | |
tree | a67921991d305274ac3e9c9d238de63fb19bf52e /src/sensors | |
parent | b974efa5ca4306b1b9474207317ade4da33bdbc9 (diff) | |
download | qtsensors-a3f4766964022ff0dc7ea0832922c2a58ab47e82.tar.gz |
Convert QTapSensor::returnDoubleTapEvents to a proper property
Change-Id: I62f626a8df765a50815f3b275da8b858cb24a30d
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
Diffstat (limited to 'src/sensors')
-rw-r--r-- | src/sensors/qtapsensor.cpp | 18 | ||||
-rw-r--r-- | src/sensors/qtapsensor.h | 14 | ||||
-rw-r--r-- | src/sensors/qtapsensor_p.h | 13 |
3 files changed, 40 insertions, 5 deletions
diff --git a/src/sensors/qtapsensor.cpp b/src/sensors/qtapsensor.cpp index bd65196..23ec492 100644 --- a/src/sensors/qtapsensor.cpp +++ b/src/sensors/qtapsensor.cpp @@ -211,7 +211,7 @@ char const * const QTapSensor::type("QTapSensor"); Construct the sensor as a child of \a parent. */ QTapSensor::QTapSensor(QObject *parent) - : QSensor(QTapSensor::type, parent) + : QSensor(QTapSensor::type, *new QTapSensorPrivate, parent) { } @@ -240,10 +240,24 @@ QTapSensor::~QTapSensor() It is not possible to have the sensor report both single and double tap events. If both are needed the app should create 2 sensor objects. - Note that you must access this property via QObject::property() and QObject::setProperty(). The property must be set before calling start(). */ +bool QTapSensor::returnDoubleTapEvents() const +{ + Q_D(const QTapSensor); + return d->returnDoubleTapEvents; +} + +void QTapSensor::setReturnDoubleTapEvents(bool returnDoubleTapEvents) +{ + Q_D(QTapSensor); + if (d->returnDoubleTapEvents != returnDoubleTapEvents) { + d->returnDoubleTapEvents = returnDoubleTapEvents; + emit returnDoubleTapEventsChanged(returnDoubleTapEvents); + } +} + #include "moc_qtapsensor.cpp" QT_END_NAMESPACE diff --git a/src/sensors/qtapsensor.h b/src/sensors/qtapsensor.h index af19e59..f44609b 100644 --- a/src/sensors/qtapsensor.h +++ b/src/sensors/qtapsensor.h @@ -87,19 +87,27 @@ private: bool filter(QSensorReading *reading) { return filter(static_cast<QTapReading*>(reading)); } }; +class QTapSensorPrivate; + class Q_SENSORS_EXPORT QTapSensor : public QSensor { Q_OBJECT -#ifdef Q_QDOC - Q_PROPERTY(bool returnDoubleTapEvents) -#endif + Q_PROPERTY(bool returnDoubleTapEvents READ returnDoubleTapEvents WRITE setReturnDoubleTapEvents + NOTIFY returnDoubleTapEventsChanged) public: explicit QTapSensor(QObject *parent = 0); virtual ~QTapSensor(); QTapReading *reading() const { return static_cast<QTapReading*>(QSensor::reading()); } static char const * const type; + bool returnDoubleTapEvents() const; + void setReturnDoubleTapEvents(bool returnDoubleTapEvents); + +Q_SIGNALS: + void returnDoubleTapEventsChanged(bool returnDoubleTapEvents); + private: + Q_DECLARE_PRIVATE(QTapSensor); Q_DISABLE_COPY(QTapSensor); }; diff --git a/src/sensors/qtapsensor_p.h b/src/sensors/qtapsensor_p.h index bc2b8e9..6bf8147 100644 --- a/src/sensors/qtapsensor_p.h +++ b/src/sensors/qtapsensor_p.h @@ -53,6 +53,8 @@ // We mean it. // +#include "qsensor_p.h" + QT_BEGIN_NAMESPACE class QTapReadingPrivate @@ -68,6 +70,17 @@ public: bool doubleTap; }; +class QTapSensorPrivate : public QSensorPrivate +{ +public: + QTapSensorPrivate() + : returnDoubleTapEvents(true) + { + } + + bool returnDoubleTapEvents; +}; + QT_END_NAMESPACE #endif |