summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp')
-rw-r--r--src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp b/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
index 80b19d88..8bb4d527 100644
--- a/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
+++ b/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
@@ -51,8 +51,7 @@ QT_BEGIN_NAMESPACE
QShake2SensorGestureRecognizer::QShake2SensorGestureRecognizer(QObject *parent)
: QSensorGestureRecognizer(parent)
, active(0),shaking(0), shakeCount(0),
- shakeDirection(QShake2SensorGestureRecognizer::ShakeUndefined)
-{
+ shakeDirection(QShake2SensorGestureRecognizer::ShakeUndefined){
timerTimeout = 750;
}
@@ -62,9 +61,6 @@ QShake2SensorGestureRecognizer::~QShake2SensorGestureRecognizer()
void QShake2SensorGestureRecognizer::create()
{
- accel = new QAccelerometer(this);
- accel->connectToBackend();
-
timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(timeout()));
timer->setSingleShot(true);
@@ -73,18 +69,24 @@ void QShake2SensorGestureRecognizer::create()
bool QShake2SensorGestureRecognizer::start()
{
- connect(accel,SIGNAL(readingChanged()),this,SLOT(accelChanged()));
- active = accel->start();
+ if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Accel)) {
+ active = true;
+ connect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading *)),
+ this,SLOT(accelChanged(QAccelerometerReading *)));
+ } else {
+ active = false;
+ }
return active;
}
bool QShake2SensorGestureRecognizer::stop()
{
- accel->stop();
- active = accel->isActive();
- disconnect(accel,SIGNAL(readingChanged()),this,SLOT(accelChanged()));
- return !active;
+ QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Accel);
+ disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading *)),
+ this,SLOT(accelChanged(QAccelerometerReading *)));
+ active = false;
+ return active;
}
bool QShake2SensorGestureRecognizer::isActive()
@@ -100,11 +102,11 @@ QString QShake2SensorGestureRecognizer::id() const
#define NUMBER_SHAKES 3
#define THRESHOLD 25
-void QShake2SensorGestureRecognizer::accelChanged()
+void QShake2SensorGestureRecognizer::accelChanged(QAccelerometerReading *reading)
{
- qreal x = accel->reading()->x();
- qreal y = accel->reading()->y();
- qreal z = accel->reading()->z();
+ qreal x = reading->x();
+ qreal y = reading->y();
+ qreal z = reading->z();
currentData.x = x;
currentData.y = y;