summaryrefslogtreecommitdiffstats
path: root/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sensors/gestures/qsensorgesturemanagerprivate.cpp')
-rw-r--r--src/sensors/gestures/qsensorgesturemanagerprivate.cpp27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
index c87d22da..15fccdb9 100644
--- a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
+++ b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
@@ -64,6 +64,9 @@ QSensorGestureManagerPrivate::QSensorGestureManagerPrivate(QObject *parent) :
connect(this,SIGNAL(newSensorGestures(QStringList)),
connection,SLOT(newSensorGestures(QStringList)));
+
+ connect(this,SIGNAL(removeSensorGestures(QStringList)),
+ connection,SLOT(removeSensorGestures(QStringList)));
#endif
loader = new QFactoryLoader("com.Nokia.QSensorGesturePluginInterface", QLatin1String("/sensorgestures"));
@@ -148,8 +151,8 @@ bool QSensorGestureManagerPrivate::loadRecognizer(const QString &recognizerId)
registeredSensorGestures.insert(recognizer->id(),recognizer);
#ifdef SIMULATOR_BUILD
- QStringList list = recognizer->gestureSignals();
- Q_EMIT newSensorGestures(list);
+ connect(recognizer, SIGNAL(started()), this, SLOT(recognizerStarted()), Qt::UniqueConnection);
+ connect(recognizer, SIGNAL(stopped()), this, SLOT(recognizerStopped()), Qt::UniqueConnection);
#endif
}
}
@@ -218,6 +221,26 @@ void QSensorGestureManagerPrivate::sensorGestureDetected()
}
}
+void QSensorGestureManagerPrivate::recognizerStarted()
+{
+ QSensorGestureRecognizer *recognizer = qobject_cast<QSensorGestureRecognizer *>(sender());
+ QStringList list = recognizer->gestureSignals();
+ list.removeOne("detected(QString)");
+ list.removeOne("started()");
+ list.removeOne("stopped()");
+ Q_EMIT newSensorGestures(list);
+}
+
+void QSensorGestureManagerPrivate::recognizerStopped()
+{
+ QSensorGestureRecognizer *recognizer = qobject_cast<QSensorGestureRecognizer *>(sender());
+ QStringList list = recognizer->gestureSignals();
+ list.removeOne("detected(QString)");
+ list.removeOne("started()");
+ list.removeOne("stopped()");
+ Q_EMIT removeSensorGestures(list);
+}
+
#endif