diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-03-24 16:08:10 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-03-24 16:08:10 +0100 |
commit | 01e97935c61498adb650d2e639ac8948a5e67a8f (patch) | |
tree | 46f122dd2ba55acd3bc257811c572c4349500c28 | |
parent | a0ba97f918666d46c20964dd2033b407446c4436 (diff) | |
parent | 971fc95eca1d9db93aa4bdb75793dfe83e4a97db (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Icf78a6052ee367ea11638443dd4cf7ecfaf606e3
-rw-r--r-- | doc/config/qtsensors-dita.qdocconf | 33 | ||||
-rw-r--r-- | src/imports/sensors/qmlsensorgesture.cpp | 2 | ||||
-rw-r--r-- | src/plugins/sensors/android/src/androidaccelerometer.cpp | 38 | ||||
-rw-r--r-- | src/plugins/sensors/android/src/androidaccelerometer.h | 7 | ||||
-rw-r--r-- | src/plugins/sensors/android/src/androidcommonsensor.h | 2 | ||||
-rw-r--r-- | src/plugins/sensors/android/src/main.cpp | 5 |
6 files changed, 51 insertions, 36 deletions
diff --git a/doc/config/qtsensors-dita.qdocconf b/doc/config/qtsensors-dita.qdocconf deleted file mode 100644 index 0ae12e7e..00000000 --- a/doc/config/qtsensors-dita.qdocconf +++ /dev/null @@ -1,33 +0,0 @@ -# Name of the project. -project = Qt Sensors - -# Directories in which to search for files to document and images. -# By default set to the root directory of the project for sources -# and headers and qdoc will therefore generate output for each file. -# Images should be placed in <rootdir>/dic/images and examples in -# <rootdir>/examples. -# Paths are relative to the location of this file. -exampledirs += ../src/examples \ - ../.. \ - ../../examples \ - ../src - -headerdirs += ../src \ - ../../src - -imagedirs += ../src/images \ - -sourcedirs += ../src \ - ../../src - -excludedirs += - -#Do not change the variables after this line unless you know what you are doing. - -outputdir = ../ditaxml -outputformats = DITAXML - -examples.fileextensions = "*.cpp *.h *.js *.svg *.xml *.ui *.qml" -examples.imageextensions = "*.png *.jpeg *.jpg *.gif *.mng" -headers.fileextensions = "*.h *.ch *.h++ *.hh *.hpp *.hxx" -sources.fileextensions = "*.cpp *.qdoc *.mm *.qml" diff --git a/src/imports/sensors/qmlsensorgesture.cpp b/src/imports/sensors/qmlsensorgesture.cpp index 3771f6fb..42aa25f7 100644 --- a/src/imports/sensors/qmlsensorgesture.cpp +++ b/src/imports/sensors/qmlsensorgesture.cpp @@ -214,6 +214,8 @@ void QmlSensorGesture::setEnabled(bool value) \qmlsignal SensorGesture::detected(string gesture) This signal is emitted whenever a gesture is detected. The gesture parameter contains the gesture that was detected. + + The corresponding handler is \c onDetected. */ /* diff --git a/src/plugins/sensors/android/src/androidaccelerometer.cpp b/src/plugins/sensors/android/src/androidaccelerometer.cpp index 36ce08e3..5a42d0cb 100644 --- a/src/plugins/sensors/android/src/androidaccelerometer.cpp +++ b/src/plugins/sensors/android/src/androidaccelerometer.cpp @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 BogDan Vatra <bogdan@kde.org> +** Copyright (C) 2014 BlackBerry Limited. All rights reserved. ** Contact: http://www.qt-project.org/legal ** ** This file is part of the QtSensors module of the Qt Toolkit. @@ -43,7 +44,13 @@ AndroidAccelerometer::AndroidAccelerometer(AndroidSensors::AndroidSensorType type, QSensor *sensor) : AndroidCommonSensor<QAccelerometerReading>(type, sensor) -{} +{ + QAccelerometer * const accelerometer = qobject_cast<QAccelerometer *>(sensor); + if (accelerometer) { + connect(accelerometer, SIGNAL(accelerationModeChanged(AccelerationMode)), + this, SLOT(applyAccelerationMode())); + } +} void AndroidAccelerometer::onSensorChanged(jlong timestamp, const jfloat *values, uint size) { @@ -61,3 +68,32 @@ void AndroidAccelerometer::onAccuracyChanged(jint accuracy) { Q_UNUSED(accuracy) } + +void AndroidAccelerometer::applyAccelerationMode() +{ + const QAccelerometer * const accelerometer = qobject_cast<QAccelerometer *>(sensor()); + if (accelerometer) { + stop(); //Stop previous sensor and start new one + m_type = modeToSensor(accelerometer->accelerationMode()); + start(); + } +} +AndroidSensors::AndroidSensorType AndroidAccelerometer::modeToSensor(QAccelerometer::AccelerationMode mode) +{ + AndroidSensors::AndroidSensorType type; + + switch (mode) { + case QAccelerometer::Gravity: + type = AndroidSensors::TYPE_GRAVITY; + break; + case QAccelerometer::User: + type = AndroidSensors::TYPE_LINEAR_ACCELERATION; + break; + default: + case QAccelerometer::Combined: + type = AndroidSensors::TYPE_ACCELEROMETER; + break; + } + + return type; +} diff --git a/src/plugins/sensors/android/src/androidaccelerometer.h b/src/plugins/sensors/android/src/androidaccelerometer.h index 31363014..4eb7471e 100644 --- a/src/plugins/sensors/android/src/androidaccelerometer.h +++ b/src/plugins/sensors/android/src/androidaccelerometer.h @@ -47,13 +47,18 @@ class AndroidAccelerometer : public AndroidCommonSensor<QAccelerometerReading> { + Q_OBJECT + public: AndroidAccelerometer(AndroidSensors::AndroidSensorType type, QSensor *sensor); - + static AndroidSensors::AndroidSensorType modeToSensor(QAccelerometer::AccelerationMode mode); private: void onAccuracyChanged(jint accuracy) Q_DECL_OVERRIDE; void onSensorChanged(jlong timestamp, const jfloat *values, uint size) Q_DECL_OVERRIDE; +private Q_SLOTS: + void applyAccelerationMode(); + }; #endif // ANDROIDACCELEROMETER_H diff --git a/src/plugins/sensors/android/src/androidcommonsensor.h b/src/plugins/sensors/android/src/androidcommonsensor.h index 396f4105..134c2b75 100644 --- a/src/plugins/sensors/android/src/androidcommonsensor.h +++ b/src/plugins/sensors/android/src/androidcommonsensor.h @@ -79,9 +79,9 @@ public: protected: ReaderType m_reader; + AndroidSensors::AndroidSensorType m_type; private: - AndroidSensors::AndroidSensorType m_type; bool m_isStarted; }; diff --git a/src/plugins/sensors/android/src/main.cpp b/src/plugins/sensors/android/src/main.cpp index 17d499ef..3326208b 100644 --- a/src/plugins/sensors/android/src/main.cpp +++ b/src/plugins/sensors/android/src/main.cpp @@ -43,6 +43,7 @@ #include <qsensorplugin.h> #include <qsensorbackend.h> #include <qsensormanager.h> +#include <qaccelerometer.h> #include "androidaccelerometer.h" #include "androidgyroscope.h" #include "androidlight.h" @@ -112,7 +113,11 @@ public: AndroidSensorType type = static_cast<AndroidSensorType>(sensor->identifier().toInt()); switch (type) { case TYPE_ACCELEROMETER: + { + QAccelerometer * const accelerometer = qobject_cast<QAccelerometer *>(sensor); + AndroidSensors::AndroidSensorType type = AndroidAccelerometer::modeToSensor(accelerometer->accelerationMode()); return new AndroidAccelerometer(type, sensor); + } case TYPE_AMBIENT_TEMPERATURE: case TYPE_TEMPERATURE: return new AndroidTemperature(type, sensor); |