summaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/sensors/plugins.qmltypes5
-rw-r--r--src/imports/sensors/qmlmagnetometer.cpp7
-rw-r--r--src/imports/sensors/qmlmagnetometer.h3
-rw-r--r--src/imports/sensors/qmlsensor.h2
4 files changed, 14 insertions, 3 deletions
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: