summaryrefslogtreecommitdiffstats
path: root/src/imports/sensors
diff options
context:
space:
mode:
authorThomas McGuire <thomas.mcguire.qnx@kdab.com>2013-01-08 11:55:10 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-23 18:32:14 +0100
commitacd094c6d795a597d3b899633e207d65f79ea746 (patch)
tree5794fe09472804158a97be1f6d62fbaabb1be54e /src/imports/sensors
parenta001511d8629c05de807f9927c3fa75f5d59a768 (diff)
QAccelerometer: Add AccelerationMode property
Add a new property to be able to toggle effects of gravity on or off. Implement the Blackberry backend side of this as well. QTBUG-25842 Change-Id: I15c4cae72373f48b0153b83c6aa3d27b66538c87 Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com> Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com>
Diffstat (limited to 'src/imports/sensors')
-rw-r--r--src/imports/sensors/plugins.qmltypes76
-rw-r--r--src/imports/sensors/qmlaccelerometer.cpp21
-rw-r--r--src/imports/sensors/qmlaccelerometer.h15
-rw-r--r--src/imports/sensors/sensors.cpp35
-rw-r--r--src/imports/sensors/sensors.pro2
5 files changed, 117 insertions, 32 deletions
diff --git a/src/imports/sensors/plugins.qmltypes b/src/imports/sensors/plugins.qmltypes
index 687a1f25..00d8c366 100644
--- a/src/imports/sensors/plugins.qmltypes
+++ b/src/imports/sensors/plugins.qmltypes
@@ -3,18 +3,32 @@ import QtQuick.tooling 1.1
// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
-// This file was auto-generated with the command 'qmlplugindump QtSensors 5.0 /home/thomas/src/qtbase/imports/'.
+// This file was auto-generated with the command 'qmlplugindump QtSensors 5.0 /home/thomas/src/qtbase/qml'.
Module {
Component {
name: "QmlAccelerometer"
prototype: "QmlSensor"
- exports: ["Accelerometer 5.0"]
+ exports: ["Accelerometer 5.0", "Accelerometer 5.1"]
+ exportMetaObjectRevisions: [0, 1]
+ Enum {
+ name: "AccelerationMode"
+ values: {
+ "Combined": 0,
+ "Gravity": 1,
+ "User": 2
+ }
+ }
+ Property { name: "accelerationMode"; revision: 1; type: "AccelerationMode" }
+ Signal {
+ name: "accelerationModeChanged"
+ Parameter { name: "accelerationMode"; type: "AccelerationMode" }
+ }
}
Component {
name: "QmlAccelerometerReading"
prototype: "QmlSensorReading"
- exports: ["AccelerometerReading 5.0"]
+ exports: ["AccelerometerReading 5.0", "AccelerometerReading 5.1"]
Property { name: "x"; type: "double"; isReadonly: true }
Property { name: "y"; type: "double"; isReadonly: true }
Property { name: "z"; type: "double"; isReadonly: true }
@@ -22,35 +36,35 @@ Module {
Component {
name: "QmlAmbientLightSensor"
prototype: "QmlSensor"
- exports: ["AmbientLightSensor 5.0"]
+ exports: ["AmbientLightSensor 5.0", "AmbientLightSensor 5.1"]
}
Component {
name: "QmlAmbientLightSensorReading"
prototype: "QmlSensorReading"
- exports: ["AmbientLightReading 5.0"]
+ exports: ["AmbientLightReading 5.0", "AmbientLightReading 5.1"]
Property { name: "lightLevel"; type: "QAmbientLightReading::LightLevel"; isReadonly: true }
}
Component {
name: "QmlCompass"
prototype: "QmlSensor"
- exports: ["Compass 5.0"]
+ exports: ["Compass 5.0", "Compass 5.1"]
}
Component {
name: "QmlCompassReading"
prototype: "QmlSensorReading"
- exports: ["CompassReading 5.0"]
+ exports: ["CompassReading 5.0", "CompassReading 5.1"]
Property { name: "azimuth"; type: "double"; isReadonly: true }
Property { name: "calibrationLevel"; type: "double"; isReadonly: true }
}
Component {
name: "QmlGyroscope"
prototype: "QmlSensor"
- exports: ["Gyroscope 5.0"]
+ exports: ["Gyroscope 5.0", "Gyroscope 5.1"]
}
Component {
name: "QmlGyroscopeReading"
prototype: "QmlSensorReading"
- exports: ["GyroscopeReading 5.0"]
+ exports: ["GyroscopeReading 5.0", "GyroscopeReading 5.1"]
Property { name: "x"; type: "double"; isReadonly: true }
Property { name: "y"; type: "double"; isReadonly: true }
Property { name: "z"; type: "double"; isReadonly: true }
@@ -58,35 +72,35 @@ Module {
Component {
name: "QmlIRProximitySensor"
prototype: "QmlSensor"
- exports: ["IRProximitySensor 5.0"]
+ exports: ["IRProximitySensor 5.0", "IRProximitySensor 5.1"]
}
Component {
name: "QmlIRProximitySensorReading"
prototype: "QmlSensorReading"
- exports: ["IRProximityReading 5.0"]
+ exports: ["IRProximityReading 5.0", "IRProximityReading 5.1"]
Property { name: "reflectance"; type: "double"; isReadonly: true }
}
Component {
name: "QmlLightSensor"
prototype: "QmlSensor"
- exports: ["LightSensor 5.0"]
+ exports: ["LightSensor 5.0", "LightSensor 5.1"]
Property { name: "fieldOfView"; type: "double"; isReadonly: true }
}
Component {
name: "QmlLightSensorReading"
prototype: "QmlSensorReading"
- exports: ["LightReading 5.0"]
+ exports: ["LightReading 5.0", "LightReading 5.1"]
Property { name: "illuminance"; type: "double"; isReadonly: true }
}
Component {
name: "QmlMagnetometer"
prototype: "QmlSensor"
- exports: ["Magnetometer 5.0"]
+ exports: ["Magnetometer 5.0", "Magnetometer 5.1"]
}
Component {
name: "QmlMagnetometerReading"
prototype: "QmlSensorReading"
- exports: ["MagnetometerReading 5.0"]
+ exports: ["MagnetometerReading 5.0", "MagnetometerReading 5.1"]
Property { name: "x"; type: "double"; isReadonly: true }
Property { name: "y"; type: "double"; isReadonly: true }
Property { name: "z"; type: "double"; isReadonly: true }
@@ -95,35 +109,35 @@ Module {
Component {
name: "QmlOrientationSensor"
prototype: "QmlSensor"
- exports: ["OrientationSensor 5.0"]
+ exports: ["OrientationSensor 5.0", "OrientationSensor 5.1"]
}
Component {
name: "QmlOrientationSensorReading"
prototype: "QmlSensorReading"
- exports: ["OrientationReading 5.0"]
+ exports: ["OrientationReading 5.0", "OrientationReading 5.1"]
Property { name: "orientation"; type: "QOrientationReading::Orientation"; isReadonly: true }
}
Component {
name: "QmlProximitySensor"
prototype: "QmlSensor"
- exports: ["ProximitySensor 5.0"]
+ exports: ["ProximitySensor 5.0", "ProximitySensor 5.1"]
}
Component {
name: "QmlProximitySensorReading"
prototype: "QmlSensorReading"
- exports: ["ProximityReading 5.0"]
+ exports: ["ProximityReading 5.0", "ProximityReading 5.1"]
Property { name: "near"; type: "bool"; isReadonly: true }
}
Component {
name: "QmlRotationSensor"
prototype: "QmlSensor"
- exports: ["RotationSensor 5.0"]
+ exports: ["RotationSensor 5.0", "RotationSensor 5.1"]
Property { name: "hasZ"; type: "bool"; isReadonly: true }
}
Component {
name: "QmlRotationSensorReading"
prototype: "QmlSensorReading"
- exports: ["RotationReading 5.0"]
+ exports: ["RotationReading 5.0", "RotationReading 5.1"]
Property { name: "x"; type: "double"; isReadonly: true }
Property { name: "y"; type: "double"; isReadonly: true }
Property { name: "z"; type: "double"; isReadonly: true }
@@ -131,7 +145,7 @@ Module {
Component {
name: "QmlSensor"
prototype: "QObject"
- exports: ["Sensor 5.0"]
+ exports: ["Sensor 5.0", "Sensor 5.1"]
Property { name: "identifier"; type: "string" }
Property { name: "type"; type: "string"; isReadonly: true }
Property { name: "connectedToBackend"; type: "bool"; isReadonly: true }
@@ -151,7 +165,7 @@ Module {
Component {
name: "QmlSensorGesture"
prototype: "QObject"
- exports: ["SensorGesture 5.0"]
+ exports: ["SensorGesture 5.0", "SensorGesture 5.1"]
Property { name: "availableGestures"; type: "QStringList"; isReadonly: true }
Property { name: "gestures"; type: "QStringList" }
Property { name: "validGestures"; type: "QStringList"; isReadonly: true }
@@ -165,7 +179,7 @@ Module {
Component {
name: "QmlSensorGlobal"
prototype: "QObject"
- exports: ["QmlSensors 5.0"]
+ exports: ["QmlSensors 5.0", "QmlSensors 5.1"]
Signal { name: "availableSensorsChanged" }
Method { name: "sensorTypes"; type: "QStringList" }
Method {
@@ -182,7 +196,7 @@ Module {
Component {
name: "QmlSensorOutputRange"
prototype: "QObject"
- exports: ["OutputRange 5.0"]
+ exports: ["OutputRange 5.0", "OutputRange 5.1"]
Property { name: "minimum"; type: "double"; isReadonly: true }
Property { name: "maximum"; type: "double"; isReadonly: true }
Property { name: "accuracy"; type: "double"; isReadonly: true }
@@ -190,26 +204,26 @@ Module {
Component {
name: "QmlSensorRange"
prototype: "QObject"
- exports: ["Range 5.0"]
+ exports: ["Range 5.0", "Range 5.1"]
Property { name: "minimum"; type: "int"; isReadonly: true }
Property { name: "maximum"; type: "int"; isReadonly: true }
}
Component {
name: "QmlSensorReading"
prototype: "QObject"
- exports: ["SensorReading 5.0"]
+ exports: ["SensorReading 5.0", "SensorReading 5.1"]
Property { name: "timestamp"; type: "qulonglong"; isReadonly: true }
}
Component {
name: "QmlTapSensor"
prototype: "QmlSensor"
- exports: ["TapSensor 5.0"]
+ exports: ["TapSensor 5.0", "TapSensor 5.1"]
Property { name: "returnDoubleTapEvents"; type: "bool" }
}
Component {
name: "QmlTapSensorReading"
prototype: "QmlSensorReading"
- exports: ["TapReading 5.0"]
+ exports: ["TapReading 5.0", "TapReading 5.1"]
Property { name: "tapDirection"; type: "QTapReading::TapDirection"; isReadonly: true }
Property { name: "doubleTap"; type: "bool"; isReadonly: true }
Signal { name: "isDoubleTapChanged" }
@@ -217,13 +231,13 @@ Module {
Component {
name: "QmlTiltSensor"
prototype: "QmlSensor"
- exports: ["TiltSensor 5.0"]
+ exports: ["TiltSensor 5.0", "TiltSensor 5.1"]
Method { name: "calibrate" }
}
Component {
name: "QmlTiltSensorReading"
prototype: "QmlSensorReading"
- exports: ["TiltReading 5.0"]
+ exports: ["TiltReading 5.0", "TiltReading 5.1"]
Property { name: "yRotation"; type: "double"; isReadonly: true }
Property { name: "xRotation"; type: "double"; isReadonly: true }
}
diff --git a/src/imports/sensors/qmlaccelerometer.cpp b/src/imports/sensors/qmlaccelerometer.cpp
index 390f8beb..6fc82eab 100644
--- a/src/imports/sensors/qmlaccelerometer.cpp
+++ b/src/imports/sensors/qmlaccelerometer.cpp
@@ -65,12 +65,33 @@ QmlAccelerometer::QmlAccelerometer(QObject *parent)
: QmlSensor(parent)
, m_sensor(new QAccelerometer(this))
{
+ connect(m_sensor, SIGNAL(accelerationModeChanged(AccelerationMode)),
+ this, SIGNAL(accelerationModeChanged(AccelerationMode)));
}
QmlAccelerometer::~QmlAccelerometer()
{
}
+/*!
+ \qmlproperty AccelerationMode Accelerometer::accelerationMode
+ \since QtSensors 5.1
+
+ This property holds the current acceleration mode.
+
+ Please see QAccelerometer::accelerationMode for information about this property.
+*/
+
+QmlAccelerometer::AccelerationMode QmlAccelerometer::accelerationMode() const
+{
+ return static_cast<QmlAccelerometer::AccelerationMode>(m_sensor->accelerationMode());
+}
+
+void QmlAccelerometer::setAccelerationMode(QmlAccelerometer::AccelerationMode accelerationMode)
+{
+ m_sensor->setAccelerationMode(static_cast<QAccelerometer::AccelerationMode>(accelerationMode));
+}
+
QmlSensorReading *QmlAccelerometer::createReading() const
{
return new QmlAccelerometerReading(m_sensor);
diff --git a/src/imports/sensors/qmlaccelerometer.h b/src/imports/sensors/qmlaccelerometer.h
index 95785ed4..b2dc671f 100644
--- a/src/imports/sensors/qmlaccelerometer.h
+++ b/src/imports/sensors/qmlaccelerometer.h
@@ -52,10 +52,25 @@ class QAccelerometer;
class QmlAccelerometer : public QmlSensor
{
Q_OBJECT
+ Q_ENUMS(AccelerationMode)
+ Q_PROPERTY(AccelerationMode accelerationMode READ accelerationMode WRITE setAccelerationMode
+ NOTIFY accelerationModeChanged REVISION 1)
public:
explicit QmlAccelerometer(QObject *parent = 0);
~QmlAccelerometer();
+ // Keep this enum in sync with QAccelerometer::AccelerationMode
+ enum AccelerationMode {
+ Combined,
+ Gravity,
+ User
+ };
+
+ AccelerationMode accelerationMode() const;
+ void setAccelerationMode(AccelerationMode accelerationMode);
+
+signals:
+ void accelerationModeChanged(AccelerationMode accelerationMode);
private:
QSensor *sensor() const Q_DECL_OVERRIDE;
diff --git a/src/imports/sensors/sensors.cpp b/src/imports/sensors/sensors.cpp
index 50ccdf93..95fc8ccc 100644
--- a/src/imports/sensors/sensors.cpp
+++ b/src/imports/sensors/sensors.cpp
@@ -125,6 +125,41 @@ public:
qmlRegisterUncreatableType<QmlTiltSensorReading >(package, major, minor, "TiltReading", QLatin1String("Cannot create TiltReading"));
qmlRegisterType <QmlSensorGesture >(package, major, minor, "SensorGesture");
+
+ // Register the 5.1 interfaces
+ major = 5;
+ minor = 1;
+ qmlRegisterSingletonType <QmlSensorGlobal >(package, major, minor, "QmlSensors", global_object_50);
+ qmlRegisterUncreatableType<QmlSensorRange >(package, major, minor, "Range", QLatin1String("Cannot create Range"));
+ qmlRegisterUncreatableType<QmlSensorOutputRange >(package, major, minor, "OutputRange", QLatin1String("Cannot create OutputRange"));
+ qmlRegisterUncreatableType<QmlSensor >(package, major, minor, "Sensor", QLatin1String("Cannot create Sensor"));
+ qmlRegisterUncreatableType<QmlSensorReading >(package, major, minor, "SensorReading", QLatin1String("Cannot create SensorReading"));
+ qmlRegisterType <QmlAccelerometer,1 >(package, major, minor, "Accelerometer");
+ qmlRegisterUncreatableType<QmlAccelerometerReading >(package, major, minor, "AccelerometerReading", QLatin1String("Cannot create AccelerometerReading"));
+ qmlRegisterType <QmlAmbientLightSensor >(package, major, minor, "AmbientLightSensor");
+ qmlRegisterUncreatableType<QmlAmbientLightSensorReading>(package, major, minor, "AmbientLightReading", QLatin1String("Cannot create AmbientLightReading"));
+ qmlRegisterType <QmlCompass >(package, major, minor, "Compass");
+ qmlRegisterUncreatableType<QmlCompassReading >(package, major, minor, "CompassReading", QLatin1String("Cannot create CompassReading"));
+ qmlRegisterType <QmlGyroscope >(package, major, minor, "Gyroscope");
+ qmlRegisterUncreatableType<QmlGyroscopeReading >(package, major, minor, "GyroscopeReading", QLatin1String("Cannot create GyroscopeReading"));
+ qmlRegisterType <QmlIRProximitySensor >(package, major, minor, "IRProximitySensor");
+ qmlRegisterUncreatableType<QmlIRProximitySensorReading >(package, major, minor, "IRProximityReading", QLatin1String("Cannot create IRProximityReading"));
+ qmlRegisterType <QmlLightSensor >(package, major, minor, "LightSensor");
+ qmlRegisterUncreatableType<QmlLightSensorReading >(package, major, minor, "LightReading", QLatin1String("Cannot create LightReading"));
+ qmlRegisterType <QmlMagnetometer >(package, major, minor, "Magnetometer");
+ qmlRegisterUncreatableType<QmlMagnetometerReading >(package, major, minor, "MagnetometerReading", QLatin1String("Cannot create MagnetometerReading"));
+ qmlRegisterType <QmlOrientationSensor >(package, major, minor, "OrientationSensor");
+ qmlRegisterUncreatableType<QmlOrientationSensorReading >(package, major, minor, "OrientationReading", QLatin1String("Cannot create OrientationReading"));
+ qmlRegisterType <QmlProximitySensor >(package, major, minor, "ProximitySensor");
+ qmlRegisterUncreatableType<QmlProximitySensorReading >(package, major, minor, "ProximityReading", QLatin1String("Cannot create ProximityReading"));
+ qmlRegisterType <QmlRotationSensor >(package, major, minor, "RotationSensor");
+ qmlRegisterUncreatableType<QmlRotationSensorReading >(package, major, minor, "RotationReading", QLatin1String("Cannot create RotationReading"));
+ qmlRegisterType <QmlTapSensor >(package, major, minor, "TapSensor");
+ qmlRegisterUncreatableType<QmlTapSensorReading >(package, major, minor, "TapReading", QLatin1String("Cannot create TapReading"));
+ qmlRegisterType <QmlTiltSensor >(package, major, minor, "TiltSensor");
+ qmlRegisterUncreatableType<QmlTiltSensorReading >(package, major, minor, "TiltReading", QLatin1String("Cannot create TiltReading"));
+
+ qmlRegisterType <QmlSensorGesture >(package, major, minor, "SensorGesture");
}
};
diff --git a/src/imports/sensors/sensors.pro b/src/imports/sensors/sensors.pro
index 210ceac1..76362014 100644
--- a/src/imports/sensors/sensors.pro
+++ b/src/imports/sensors/sensors.pro
@@ -1,7 +1,7 @@
CXX_MODULE = sensors
TARGET = declarative_sensors
TARGETPATH = QtSensors
-IMPORT_VERSION = 5.0 # Doesn't matter, as long as it's a valid version?!
+IMPORT_VERSION = 5.1 # Doesn't matter, as long as it's a valid version?!
QT += qml sensors sensors-private