void MyObject::create() { //! [Receiving sensor gesture signals] // Create a QSensorGestureManager QSensorGestureManager gestureManager; // Get a list of known recognizers QStringList recognizersList = gestureManager.gestureIds(); // Create a QSensorGeture object for each of those gesture recognizers QSensorGesture *gesture = new QSensorGesture( gestureManager.gestureIds(), this); // Connect the known signals up. connect(gesture, SIGNAL(detected(QString)), this, SLOT(gestureDetected(QString))); //! [Receiving sensor gesture signals] }
void Tst_qsensorgesturePluginsTest::tst_sensor_plugins_shake() { QSensorGestureManager manager; QVERIFY(manager.gestureIds().contains("QtSensors.shake")); QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer("QtSensors.shake"); QCOMPARE(recognizer->isActive(), false); QTest::ignoreMessage(QtWarningMsg, "Not starting. Gesture Recognizer not initialized "); recognizer->startBackend(); QCOMPARE(recognizer->isActive(), false); QTest::ignoreMessage(QtWarningMsg, "Not stopping. Gesture Recognizer not initialized "); recognizer->stopBackend(); QCOMPARE(recognizer->isActive(), false); QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.shake")); QCOMPARE(gesture->isActive(),false); QCOMPARE(gesture->validIds(), QStringList() << "QtSensors.shake"); QCOMPARE(QStringList() << recognizer->id(), gesture->validIds()); gesture->startDetection(); QCOMPARE(gesture->isActive(),true); QCOMPARE(recognizer->isActive(), true); gesture->stopDetection(); QCOMPARE(recognizer->isActive(), false); }
void Tst_qsensorgesturePluginsTest::tst_sensor_plugins_qtsensors() { QFETCH(QString, gestureId); QSensorGestureManager manager; QVERIFY(manager.gestureIds().contains(gestureId)); QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << gestureId)); QScopedPointer<QSensorGesture> gesture2(new QSensorGesture(QStringList() << gestureId)); QCOMPARE(gesture->isActive(),false); QCOMPARE(gesture->validIds(), QStringList() << gestureId); QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer(gestureId); QCOMPARE(QStringList() << recognizer->id(), gesture->validIds()); QCOMPARE(QStringList() << QStringList(), gesture->invalidIds()); QVERIFY(recognizer->isActive() == false); QVERIFY(gesture->isActive() == false); QVERIFY(gesture2->isActive() == false); gesture->startDetection(); QVERIFY(gesture->isActive() == true); QVERIFY(gesture2->isActive() == false); QVERIFY(recognizer->isActive() == true); gesture2->startDetection(); QVERIFY(gesture->isActive() == true); QVERIFY(gesture2->isActive() == true); QVERIFY(recognizer->isActive() == true); gesture2->stopDetection(); QVERIFY(gesture->isActive() == true); QVERIFY(gesture2->isActive() == false); QVERIFY(recognizer->isActive() == true); gesture->stopDetection(); QVERIFY(gesture->isActive() == false); QVERIFY(gesture2->isActive() == false); QVERIFY(recognizer->isActive() == false); QVERIFY(recognizer->gestureSignals().count() > 1); QVERIFY(recognizer->gestureSignals().contains("detected(QString)")); }
void MusicWidget::setupSensors() { QSensorGestureManager manager; QStringList gestureIds = manager.gestureIds(); qDebug() << gestureIds; if(gestureIds.contains("QtSensors.shake2")) { qDebug() << "setup shake 2 sensor"; m_shakeGesture = new QSensorGesture( QStringList() << "QtSensors.shake2" , this); connect(m_shakeGesture, SIGNAL(shakeUp()), m_playlist, SLOT(previous())); connect(m_shakeGesture, SIGNAL(shakeDown()), m_playlist, SLOT(next())); connect(m_shakeGesture, SIGNAL(shakeLeft()), m_playlist, SLOT(previous())); connect(m_shakeGesture, SIGNAL(shakeRight()), m_playlist, SLOT(next())); } else if(gestureIds.contains("QtSensors.shake")) { qDebug() << "setup shake sensor"; m_shakeGesture = new QSensorGesture( QStringList() << "QtSensors.shake" , this); connect(m_shakeGesture, SIGNAL(shake()), m_playlist, SLOT(next())); } if(gestureIds.contains("QtSensors.turnover")) { m_turnoverGesture = new QSensorGesture( QStringList("QtSensors.turnover") ,this ); connect(m_turnoverGesture, SIGNAL(turnover()), this, SLOT(onTurnover())); } }