diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/imports/sensors/plugins.qmltypes | 29 | ||||
-rw-r--r-- | src/imports/sensors/sensors.cpp | 11 | ||||
-rw-r--r-- | src/plugins/sensors/android/androidaccelerometer.cpp | 12 |
3 files changed, 49 insertions, 3 deletions
diff --git a/src/imports/sensors/plugins.qmltypes b/src/imports/sensors/plugins.qmltypes index 80e1df3..b78e63c 100644 --- a/src/imports/sensors/plugins.qmltypes +++ b/src/imports/sensors/plugins.qmltypes @@ -129,6 +129,20 @@ Module { Property { name: "calibrationLevel"; type: "double"; isReadonly: true } } Component { + name: "QmlDistanceReading" + prototype: "QmlSensorReading" + exports: ["QtSensors/DistanceReading 5.4"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "distance"; type: "double"; isReadonly: true } + } + Component { + name: "QmlDistanceSensor" + prototype: "QmlSensor" + exports: ["QtSensors/DistanceSensor 5.4"] + exportMetaObjectRevisions: [0] + } + Component { name: "QmlGyroscope" prototype: "QmlSensor" exports: [ @@ -173,6 +187,21 @@ Module { exportMetaObjectRevisions: [0, 0] } Component { + name: "QmlHumidityReading" + prototype: "QmlSensorReading" + exports: ["QtSensors/HumidityReading 5.9"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "relativeHumidity"; type: "double"; isReadonly: true } + Property { name: "absoluteHumidity"; type: "double"; isReadonly: true } + } + Component { + name: "QmlHumiditySensor" + prototype: "QmlSensor" + exports: ["QtSensors/HumiditySensor 5.9"] + exportMetaObjectRevisions: [0] + } + Component { name: "QmlIRProximitySensor" prototype: "QmlSensor" exports: [ diff --git a/src/imports/sensors/sensors.cpp b/src/imports/sensors/sensors.cpp index fa4cb3c..ce80a45 100644 --- a/src/imports/sensors/sensors.cpp +++ b/src/imports/sensors/sensors.cpp @@ -46,6 +46,8 @@ #include <QtSensors/qambientlightsensor.h> #include <QtSensors/qambienttemperaturesensor.h> #include <QtSensors/qcompass.h> +#include <QtSensors/qdistancesensor.h> +#include <QtSensors/qhumiditysensor.h> #include <QtSensors/qmagnetometer.h> #include <QtSensors/qorientationsensor.h> #include <QtSensors/qproximitysensor.h> @@ -64,8 +66,10 @@ #include "qmlambientlightsensor.h" #include "qmlambienttemperaturesensor.h" #include "qmlcompass.h" +#include "qmldistancesensor.h" #include "qmlgyroscope.h" #include "qmlholstersensor.h" +#include "qmlhumiditysensor.h" #include "qmlirproximitysensor.h" #include "qmllightsensor.h" #include "qmlmagnetometer.h" @@ -217,11 +221,18 @@ public: qmlRegisterType <QmlSensorGesture >(package, major, minor, "SensorGesture"); + // Register the 5.4 interfaces + minor = 4; + qmlRegisterType <QmlDistanceSensor >(package, major, minor, "DistanceSensor"); + qmlRegisterUncreatableType<QmlDistanceReading >(package, major, minor, "DistanceReading", QLatin1String("Cannot create DistanceReading")); + // Register the new 5.9 interfaces // Implicitly registers 5.3 - 5.8 too minor = 9; qmlRegisterType <QmlLidSensor >(package, major, minor, "LidSensor"); qmlRegisterUncreatableType<QmlLidReading >(package, major, minor, "LidReading", QLatin1String("Cannot create LidReading")); + qmlRegisterType <QmlHumiditySensor >(package, major, minor, "HumiditySensor"); + qmlRegisterUncreatableType<QmlHumidityReading >(package, major, minor, "HumidityReading", QLatin1String("Cannot create HumidityReading")); // Register the latest Qt version as QML type version qmlRegisterModule(package, QT_VERSION_MAJOR, QT_VERSION_MINOR); diff --git a/src/plugins/sensors/android/androidaccelerometer.cpp b/src/plugins/sensors/android/androidaccelerometer.cpp index c9f5141..f38e004 100644 --- a/src/plugins/sensors/android/androidaccelerometer.cpp +++ b/src/plugins/sensors/android/androidaccelerometer.cpp @@ -82,18 +82,24 @@ void AndroidAccelerometer::applyAccelerationMode(QAccelerometer::AccelerationMod { switch (accelerationMode) { case QAccelerometer::Gravity: - if (!(m_accelerationModes & Gravity)) + if (!(m_accelerationModes & Gravity)) { qWarning() << "Gravity sensor missing"; + return; + } setSensorType(ASENSOR_TYPE_GRAVITY); break; case QAccelerometer::User: - if (!(m_accelerationModes & LinearAcceleration)) + if (!(m_accelerationModes & LinearAcceleration)) { qWarning() << "Linear acceleration sensor missing"; + return; + } setSensorType(ASENSOR_TYPE_LINEAR_ACCELERATION); break; case QAccelerometer::Combined: - if (!(m_accelerationModes & Accelerometer)) + if (!(m_accelerationModes & Accelerometer)) { qWarning() << "Accelerometer sensor missing"; + return; + } setSensorType(ASENSOR_TYPE_ACCELEROMETER); break; } |