diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/sensors/qmagnetometer.cpp | 31 | ||||
-rw-r--r-- | src/sensors/qmagnetometer.h | 21 | ||||
-rw-r--r-- | src/sensors/qmagnetometer_p.h | 14 |
3 files changed, 60 insertions, 6 deletions
diff --git a/src/sensors/qmagnetometer.cpp b/src/sensors/qmagnetometer.cpp index 212f6b6a30..58e6c7b91d 100644 --- a/src/sensors/qmagnetometer.cpp +++ b/src/sensors/qmagnetometer.cpp @@ -219,11 +219,23 @@ char const * const QMagnetometer::type("QMagnetometer"); */ /*! + \internal + */ +QMagnetometerPrivate *QMagnetometer::d_func() const +{ + return static_cast<QMagnetometerPrivate*>(QSensor::d_func()); +} + +/*! \fn QMagnetometer::QMagnetometer(QObject *parent) Construct the sensor as a child of \a parent. \since 1.0 */ +QMagnetometer::QMagnetometer(QObject *parent) + : QSensor(QMagnetometer::type, new QMagnetometerPrivate(this), parent) +{ +} /*! \fn QMagnetometer::~QMagnetometer() @@ -231,6 +243,9 @@ char const * const QMagnetometer::type("QMagnetometer"); Destroy the sensor. Stops the sensor if it has not already been stopped. \since 1.0 */ +QMagnetometer::~QMagnetometer() +{ +} /*! \fn QMagnetometer::reading() const @@ -248,11 +263,25 @@ char const * const QMagnetometer::type("QMagnetometer"); Set to true to return geomagnetic flux density. Set to false (the default) to return raw magnetic flux density. - Note that you must access this property via QObject::property() and QObject::setProperty(). The property must be set before calling start(). \since 1.0 */ +bool QMagnetometer::returnGeoValues() const +{ + Q_D(const QMagnetometer); + return d->returnGeoValues; +} + +void QMagnetometer::setReturnGeoValues(bool returnGeoValues) +{ + Q_D(QMagnetometer); + if (d->returnGeoValues != returnGeoValues) { + d->returnGeoValues = returnGeoValues; + emit returnGeoValuesChanged(returnGeoValues); + } +} + #include "moc_qmagnetometer.cpp" QTM_END_NAMESPACE diff --git a/src/sensors/qmagnetometer.h b/src/sensors/qmagnetometer.h index e6cf0c4e1e..89921b6cd0 100644 --- a/src/sensors/qmagnetometer.h +++ b/src/sensors/qmagnetometer.h @@ -82,6 +82,8 @@ private: bool filter(QSensorReading *reading) { return filter(static_cast<QMagnetometerReading*>(reading)); } }; +class QMagnetometerPrivate; + class Q_SENSORS_EXPORT QMagnetometer : public QSensor #if defined(Q_OS_BLACKBERRY) , public QOrientableSensorBase @@ -94,9 +96,7 @@ class Q_SENSORS_EXPORT QMagnetometer : public QSensor Q_PROPERTY(int userOrientation READ userOrientation WRITE setUserOrientation NOTIFY userOrientationChanged) #endif -#ifdef Q_QDOC - Q_PROPERTY(bool returnGeoValues) -#endif + Q_PROPERTY(bool returnGeoValues READ returnGeoValues WRITE setReturnGeoValues NOTIFY returnGeoValuesChanged) public: #if defined(Q_MOC_RUN) && defined(Q_OS_BLACKBERRY) @@ -108,16 +108,27 @@ public: }; Q_ENUMS(AxesOrientationMode) #endif - explicit QMagnetometer(QObject *parent = 0) : QSensor(QMagnetometer::type, parent) {} - virtual ~QMagnetometer() {} + explicit QMagnetometer(QObject *parent = 0); + virtual ~QMagnetometer(); QMagnetometerReading *reading() const { return static_cast<QMagnetometerReading*>(QSensor::reading()); } static char const * const type; + + bool returnGeoValues() const; + void setReturnGeoValues(bool returnGeoValues); + #if !defined(Q_QDOC) && defined(Q_OS_BLACKBERRY) Q_SIGNALS: void axesOrientationModeChanged(AxesOrientationMode axesOrientationMode); void currentOrientationChanged(int currentOrientation); void userOrientationChanged(int userOrientation); #endif + +Q_SIGNALS: + void returnGeoValuesChanged(bool returnGeoValues); + +private: + friend class QMagnetometerPrivate; + QMagnetometerPrivate *d_func() const; }; QTM_END_NAMESPACE diff --git a/src/sensors/qmagnetometer_p.h b/src/sensors/qmagnetometer_p.h index 086d3d3238..f4d5c6157d 100644 --- a/src/sensors/qmagnetometer_p.h +++ b/src/sensors/qmagnetometer_p.h @@ -53,8 +53,22 @@ // We mean it. // +#include "qsensor_p.h" + QTM_BEGIN_NAMESPACE +class QMagnetometerPrivate : public QSensorPrivate +{ +public: + QMagnetometerPrivate(QSensor *sensor) + : QSensorPrivate(sensor), + returnGeoValues(false) + { + } + + bool returnGeoValues; +}; + class QMagnetometerReadingPrivate { public: |