From 2dba878107fbe290782af720981ce28ec3723e7a Mon Sep 17 00:00:00 2001 From: Thomas McGuire Date: Thu, 31 Jan 2013 18:59:24 +0100 Subject: Convert QMagnetometer::returnGeoValues to a proper property Change-Id: I39cde0046e8a3fc77edbcf5c9510e2dcf6c731c7 Reviewed-by: Lorn Potter --- src/imports/sensors/plugins.qmltypes | 5 +++++ src/imports/sensors/qmlmagnetometer.cpp | 7 ++++--- src/imports/sensors/qmlmagnetometer.h | 3 +++ src/imports/sensors/qmlsensor.h | 2 ++ 4 files changed, 14 insertions(+), 3 deletions(-) (limited to 'src/imports') diff --git a/src/imports/sensors/plugins.qmltypes b/src/imports/sensors/plugins.qmltypes index 97a2bcd1..bd879f81 100644 --- a/src/imports/sensors/plugins.qmltypes +++ b/src/imports/sensors/plugins.qmltypes @@ -122,6 +122,11 @@ Module { name: "QmlMagnetometer" prototype: "QmlSensor" exports: ["Magnetometer 5.0", "Magnetometer 5.1"] + Property { name: "returnGeoValues"; type: "bool" } + Signal { + name: "returnGeoValuesChanged" + Parameter { name: "returnGeoValues"; type: "bool" } + } } Component { name: "QmlMagnetometerReading" diff --git a/src/imports/sensors/qmlmagnetometer.cpp b/src/imports/sensors/qmlmagnetometer.cpp index 1f95b3f2..2c531f70 100644 --- a/src/imports/sensors/qmlmagnetometer.cpp +++ b/src/imports/sensors/qmlmagnetometer.cpp @@ -65,6 +65,8 @@ QmlMagnetometer::QmlMagnetometer(QObject *parent) : QmlSensor(parent) , m_sensor(new QMagnetometer(this)) { + connect(m_sensor, SIGNAL(returnGeoValuesChanged(bool)), + this, SIGNAL(returnGeoValuesChanged(bool))); } QmlMagnetometer::~QmlMagnetometer() @@ -90,13 +92,12 @@ QSensor *QmlMagnetometer::sensor() const bool QmlMagnetometer::returnGeoValues() const { - return m_sensor->property("returnGeoValues").toBool(); + return m_sensor->returnGeoValues(); } void QmlMagnetometer::setReturnGeoValues(bool geo) { - if (m_sensor->property("returnGeoValues").toBool() == geo) return; - m_sensor->setProperty("returnGeoValues", geo); + m_sensor->setReturnGeoValues(geo); } /*! diff --git a/src/imports/sensors/qmlmagnetometer.h b/src/imports/sensors/qmlmagnetometer.h index a008a36c..6e5facda 100644 --- a/src/imports/sensors/qmlmagnetometer.h +++ b/src/imports/sensors/qmlmagnetometer.h @@ -51,6 +51,7 @@ class QMagnetometer; class QmlMagnetometer : public QmlSensor { Q_OBJECT + Q_PROPERTY(bool returnGeoValues READ returnGeoValues WRITE setReturnGeoValues NOTIFY returnGeoValuesChanged) public: explicit QmlMagnetometer(QObject *parent = 0); ~QmlMagnetometer(); @@ -58,6 +59,8 @@ public: bool returnGeoValues() const; void setReturnGeoValues(bool geo); +Q_SIGNALS: + void returnGeoValuesChanged(bool returnGeoValues); private: QSensor *sensor() const Q_DECL_OVERRIDE; diff --git a/src/imports/sensors/qmlsensor.h b/src/imports/sensors/qmlsensor.h index e538ed0a..b68a7b9d 100644 --- a/src/imports/sensors/qmlsensor.h +++ b/src/imports/sensors/qmlsensor.h @@ -154,6 +154,8 @@ protected: private Q_SLOTS: void updateReading(); + +protected Q_SLOTS: void componentComplete(); private: -- cgit v1.2.3