diff options
Diffstat (limited to 'src/sensors/gestures/qsensorgesturemanagerprivate.cpp')
-rw-r--r-- | src/sensors/gestures/qsensorgesturemanagerprivate.cpp | 27 |
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 |