From 32e2d98ea438041e7e0c4df7e67053c5ee7527a7 Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Fri, 18 May 2012 13:19:20 +1000 Subject: fix gestureSignals on simulator builds remove started and stopped signals and call the manager directly Change-Id: If2c05576e858c196ab3ba3d786574afbf894ca4b Reviewed-by: Lincoln Ramsay --- src/sensors/gestures/qsensorgesturemanager.cpp | 10 ++++------ .../gestures/qsensorgesturemanagerprivate.cpp | 22 +++++++++------------- .../gestures/qsensorgesturemanagerprivate_p.h | 8 ++++++-- src/sensors/gestures/qsensorgesturerecognizer.cpp | 9 ++++++--- src/sensors/gestures/qsensorgesturerecognizer.h | 4 ---- src/sensors/gestures/simulatorgesturescommon.cpp | 1 + 6 files changed, 26 insertions(+), 28 deletions(-) diff --git a/src/sensors/gestures/qsensorgesturemanager.cpp b/src/sensors/gestures/qsensorgesturemanager.cpp index a644c3ed..20cdb34d 100644 --- a/src/sensors/gestures/qsensorgesturemanager.cpp +++ b/src/sensors/gestures/qsensorgesturemanager.cpp @@ -42,8 +42,6 @@ #include "qsensorgesturemanager.h" #include "qsensorgesturemanagerprivate_p.h" -Q_GLOBAL_STATIC(QSensorGestureManagerPrivate, sensorGestureManagerPrivate) - QT_BEGIN_NAMESPACE /*! @@ -70,7 +68,7 @@ QT_BEGIN_NAMESPACE QSensorGestureManager::QSensorGestureManager(QObject *parent) : QObject(parent) { - connect(sensorGestureManagerPrivate(),SIGNAL(newSensorGestureAvailable()), + connect(QSensorGestureManagerPrivate::instance(),SIGNAL(newSensorGestureAvailable()), this,SIGNAL(newSensorGestureAvailable())); } @@ -91,7 +89,7 @@ QSensorGestureManager::~QSensorGestureManager() bool QSensorGestureManager::registerSensorGestureRecognizer(QSensorGestureRecognizer *recognizer) { - bool ok = sensorGestureManagerPrivate()->registerSensorGestureRecognizer(recognizer); + bool ok = QSensorGestureManagerPrivate::instance()->registerSensorGestureRecognizer(recognizer); if (!ok) delete recognizer; @@ -105,7 +103,7 @@ QSensorGestureManager::~QSensorGestureManager() */ QStringList QSensorGestureManager::gestureIds() const { - return sensorGestureManagerPrivate()->gestureIds(); + return QSensorGestureManagerPrivate::instance()->gestureIds(); } /*! @@ -125,7 +123,7 @@ QSensorGestureManager::~QSensorGestureManager() */ QSensorGestureRecognizer *QSensorGestureManager::sensorGestureRecognizer(const QString &id) { - return sensorGestureManagerPrivate()->sensorGestureRecognizer(id); + return QSensorGestureManagerPrivate::instance()->sensorGestureRecognizer(id); } QT_END_NAMESPACE diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp index e3c5f3db..5e2089a9 100644 --- a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp +++ b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp @@ -52,6 +52,8 @@ #include "simulatorgesturescommon_p.h" #endif +Q_GLOBAL_STATIC(QSensorGestureManagerPrivate, sensorGestureManagerPrivate) + QT_BEGIN_NAMESPACE QSensorGestureManagerPrivate::QSensorGestureManagerPrivate(QObject *parent) : @@ -149,11 +151,6 @@ bool QSensorGestureManagerPrivate::loadRecognizer(const QString &recognizerId) delete recognizer; } else { registeredSensorGestures.insert(recognizer->id(),recognizer); - -#ifdef SIMULATOR_BUILD - connect(recognizer, SIGNAL(started()), this, SLOT(recognizerStarted()), Qt::UniqueConnection); - connect(recognizer, SIGNAL(stopped()), this, SLOT(recognizerStopped()), Qt::UniqueConnection); -#endif } } } @@ -221,27 +218,26 @@ void QSensorGestureManagerPrivate::sensorGestureDetected() } } -void QSensorGestureManagerPrivate::recognizerStarted() +void QSensorGestureManagerPrivate::recognizerStarted(const QSensorGestureRecognizer *recognizer) { - QSensorGestureRecognizer *recognizer = qobject_cast(sender()); QStringList list = recognizer->gestureSignals(); list.removeOne(QLatin1String("detected(QString)")); - list.removeOne(QLatin1String("started()")); - list.removeOne(QLatin1String("stopped()")); Q_EMIT newSensorGestures(list); } -void QSensorGestureManagerPrivate::recognizerStopped() +void QSensorGestureManagerPrivate::recognizerStopped(const QSensorGestureRecognizer *recognizer) { - QSensorGestureRecognizer *recognizer = qobject_cast(sender()); QStringList list = recognizer->gestureSignals(); list.removeOne(QLatin1String("detected(QString)")); - list.removeOne(QLatin1String("started()")); - list.removeOne(QLatin1String("stopped()")); Q_EMIT removeSensorGestures(list); } #endif +QSensorGestureManagerPrivate * QSensorGestureManagerPrivate::instance() +{ + return sensorGestureManagerPrivate(); +} + QT_END_NAMESPACE diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate_p.h b/src/sensors/gestures/qsensorgesturemanagerprivate_p.h index 71b88644..d5893bac 100644 --- a/src/sensors/gestures/qsensorgesturemanagerprivate_p.h +++ b/src/sensors/gestures/qsensorgesturemanagerprivate_p.h @@ -78,6 +78,12 @@ public: QStringList gestureIds(); QStringList knownIds; void initPlugin(QObject *o); +#ifdef SIMULATOR_BUILD + void recognizerStarted(const QSensorGestureRecognizer *); + void recognizerStopped(const QSensorGestureRecognizer *); +#endif + + static QSensorGestureManagerPrivate * instance(); Q_SIGNALS: void newSensorGestureAvailable(); @@ -88,8 +94,6 @@ Q_SIGNALS: private slots: void sensorGestureDetected(); - void recognizerStarted(); - void recognizerStopped(); #endif }; diff --git a/src/sensors/gestures/qsensorgesturerecognizer.cpp b/src/sensors/gestures/qsensorgesturerecognizer.cpp index 0a744b2b..16ac155c 100644 --- a/src/sensors/gestures/qsensorgesturerecognizer.cpp +++ b/src/sensors/gestures/qsensorgesturerecognizer.cpp @@ -41,8 +41,11 @@ #include "qsensorgesturerecognizer.h" #include "qsensorgesture_p.h" -#include "qsensorgesturemanager.h" +#include "qsensorgesturemanager.h" +#ifdef SIMULATOR_BUILD +#include "qsensorgesturemanagerprivate_p.h" +#endif QT_BEGIN_NAMESPACE /*! @@ -184,7 +187,7 @@ void QSensorGestureRecognizer::startBackend() if (d_ptr->count++ == 0) { start(); #ifdef SIMULATOR_BUILD - Q_EMIT started(); + QSensorGestureManagerPrivate::instance()->recognizerStarted(this); #endif } } @@ -204,7 +207,7 @@ void QSensorGestureRecognizer::stopBackend() if (--d_ptr->count == 0) { stop(); #ifdef SIMULATOR_BUILD - Q_EMIT stopped(); + QSensorGestureManagerPrivate::instance()->recognizerStopped(this); #endif } } diff --git a/src/sensors/gestures/qsensorgesturerecognizer.h b/src/sensors/gestures/qsensorgesturerecognizer.h index 06929e72..2a271c7b 100644 --- a/src/sensors/gestures/qsensorgesturerecognizer.h +++ b/src/sensors/gestures/qsensorgesturerecognizer.h @@ -73,10 +73,6 @@ public: Q_SIGNALS: void detected(const QString &); -#ifdef SIMULATOR_BUILD - void started(); - void stopped(); -#endif protected: virtual void create() = 0; diff --git a/src/sensors/gestures/simulatorgesturescommon.cpp b/src/sensors/gestures/simulatorgesturescommon.cpp index 4c2adb51..6ad5b619 100644 --- a/src/sensors/gestures/simulatorgesturescommon.cpp +++ b/src/sensors/gestures/simulatorgesturescommon.cpp @@ -101,6 +101,7 @@ void SensorGesturesConnection::newSensorGestures(const QStringList &gestures) } } } + mWorker->call("setSensorGestures", allGestures); } -- cgit v1.2.3