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.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp b/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
index a2d0eb48..7683b050 100644
--- a/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
+++ b/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
@@ -80,6 +80,12 @@ bool QShake2SensorGestureRecognizer::start()
} else {
active = false;
}
+ prevData.x = 0;
+ prevData.y = 0;
+ prevData.z = 0;
+ shakeCount = 0;
+ shaking = false;
+ shakeDirection = QShake2SensorGestureRecognizer::ShakeUndefined;
return active;
}
@@ -89,6 +95,7 @@ bool QShake2SensorGestureRecognizer::stop()
disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading *)),
this,SLOT(accelChanged(QAccelerometerReading *)));
active = false;
+ timer->stop();
return active;
}
@@ -126,8 +133,9 @@ void QShake2SensorGestureRecognizer::accelChanged(QAccelerometerReading *reading
}
bool wasShake = checkForShake(prevData, currentData, THRESHOLD);
+
if (!shaking && wasShake &&
- shakeCount >= NUMBER_SHAKES) {
+ shakeCount == NUMBER_SHAKES) {
shaking = true;
shakeCount = 0;
@@ -151,7 +159,6 @@ void QShake2SensorGestureRecognizer::accelChanged(QAccelerometerReading *reading
default:
break;
};
-
} else if (wasShake) {
if (shakeCount == 0 && shakeDirection == QShake2SensorGestureRecognizer::ShakeUndefined) {
@@ -183,7 +190,6 @@ void QShake2SensorGestureRecognizer::accelChanged(QAccelerometerReading *reading
prevData.x = currentData.x;
prevData.y = currentData.y;
prevData.z = currentData.z;
-
}
void QShake2SensorGestureRecognizer::timeout()
@@ -191,7 +197,6 @@ void QShake2SensorGestureRecognizer::timeout()
shakeCount = 0;
shaking = false;
shakeDirection = QShake2SensorGestureRecognizer::ShakeUndefined;
-
}
bool QShake2SensorGestureRecognizer::checkForShake(ShakeData prevSensorData, ShakeData currentSensorData, qreal threshold)