diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/sensorgestures/sensorgestures.pro | 1 | ||||
-rw-r--r-- | src/plugins/sensorgestures/simulator/plugin.json | 1 | ||||
-rw-r--r-- | src/plugins/sensorgestures/simulator/qsimulatorrecognizer.cpp | 107 | ||||
-rw-r--r-- | src/plugins/sensorgestures/simulator/qsimulatorrecognizer.h | 75 | ||||
-rw-r--r-- | src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.cpp | 77 | ||||
-rw-r--r-- | src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.h | 67 | ||||
-rw-r--r-- | src/plugins/sensorgestures/simulator/simulator.pro | 27 | ||||
-rw-r--r-- | src/sensors/gestures/qsensorgesturemanagerprivate.cpp | 47 | ||||
-rw-r--r-- | src/sensors/gestures/qsensorgesturemanagerprivate_p.h | 9 | ||||
-rw-r--r-- | src/sensors/gestures/simulatorgesturescommon.cpp (renamed from src/plugins/sensorgestures/simulator/simulatorgesturescommon.cpp) | 25 | ||||
-rw-r--r-- | src/sensors/gestures/simulatorgesturescommon_p.h (renamed from src/plugins/sensorgestures/simulator/simulatorgesturescommon.h) | 16 | ||||
-rw-r--r-- | src/sensors/sensors.pro | 10 |
12 files changed, 97 insertions, 365 deletions
diff --git a/src/plugins/sensorgestures/sensorgestures.pro b/src/plugins/sensorgestures/sensorgestures.pro index 3882709b..162fb8eb 100644 --- a/src/plugins/sensorgestures/sensorgestures.pro +++ b/src/plugins/sensorgestures/sensorgestures.pro @@ -1,3 +1,2 @@ TEMPLATE = subdirs SUBDIRS += shake qtsensors -simulator:SUBDIRS += simulator diff --git a/src/plugins/sensorgestures/simulator/plugin.json b/src/plugins/sensorgestures/simulator/plugin.json deleted file mode 100644 index 8a55b3ae..00000000 --- a/src/plugins/sensorgestures/simulator/plugin.json +++ /dev/null @@ -1 +0,0 @@ -{ "Keys": [ "notused" ] } diff --git a/src/plugins/sensorgestures/simulator/qsimulatorrecognizer.cpp b/src/plugins/sensorgestures/simulator/qsimulatorrecognizer.cpp deleted file mode 100644 index 3b627ff3..00000000 --- a/src/plugins/sensorgestures/simulator/qsimulatorrecognizer.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QDebug> -#include <QTimer> -#include <QFile> - -#include "qsimulatorrecognizer.h" -#include "simulatorgesturescommon.h" - -QSimulatorSensorGestureRecognizer::QSimulatorSensorGestureRecognizer(QObject *parent) - : QSensorGestureRecognizer(parent) -{ - timer = new QTimer(this); - connect(timer,SIGNAL(timeout()),this,SLOT(timeout())); - - timer->setInterval(1000); -} - -QSimulatorSensorGestureRecognizer::~QSimulatorSensorGestureRecognizer() -{ - if (timer->isActive()) - timer->stop(); -} - -void QSimulatorSensorGestureRecognizer::create() -{ - SensorGesturesConnection *connection = new SensorGesturesConnection(this); - connect(connection,SIGNAL(sensorGestureDetected()),this,SLOT(sensorGestureDetected())); -} - -void QSimulatorSensorGestureRecognizer::sensorGestureDetected() -{ - detectingState = true; -} - - -bool QSimulatorSensorGestureRecognizer::start() -{ - timer->start(); - timeout(); - return timer->isActive(); -} - -bool QSimulatorSensorGestureRecognizer::stop() -{ - timer->stop(); - return timer->isActive(); -} - - -bool QSimulatorSensorGestureRecognizer::isActive() -{ - return timer->isActive(); -} - -QString QSimulatorSensorGestureRecognizer::id() const -{ - return QString("QtSensors.emulator"); -} - -void QSimulatorSensorGestureRecognizer::timeout() -{ - if (detectingState) { - QString str = get_qtSensorGestureData(); - emit detected(str); - detectingState = false; - } -} diff --git a/src/plugins/sensorgestures/simulator/qsimulatorrecognizer.h b/src/plugins/sensorgestures/simulator/qsimulatorrecognizer.h deleted file mode 100644 index a301a5f8..00000000 --- a/src/plugins/sensorgestures/simulator/qsimulatorrecognizer.h +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QSIMULATORRECOGNIZER_H -#define QSIMULATORRECOGNIZER_H - -#include <QDebug> -#include <QTimer> - -#include <qsensorgesturerecognizer.h> - -class QSimulatorSensorGestureRecognizer : public QSensorGestureRecognizer -{ - Q_OBJECT - -public: - - QSimulatorSensorGestureRecognizer(QObject *parent = 0); - ~QSimulatorSensorGestureRecognizer(); - - void create(); - - QString id() const; - bool start(); - bool stop(); - bool isActive(); - -private slots: - void timeout(); - void sensorGestureDetected(); -private: - bool detectingState; - QTimer *timer; - -}; - -#endif // QSHAKERECOGNIZER_H diff --git a/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.cpp b/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.cpp deleted file mode 100644 index 66dcd854..00000000 --- a/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtPlugin> -#include <QStringList> -#include <QObject> - -#include "qsimulatorsensorgestureplugin.h" - -#include <qsensorgestureplugininterface.h> -#include <qsensorgesturemanager.h> - -#include "qsimulatorrecognizer.h" - - -QSimulatorSensorGesturePlugin::QSimulatorSensorGesturePlugin() -{ -} - -QSimulatorSensorGesturePlugin::~QSimulatorSensorGesturePlugin() -{ -} - -QStringList QSimulatorSensorGesturePlugin::supportedIds() const -{ - QStringList list; - list << "QtSensors.emulator"; - return list; -} - -QList <QSensorGestureRecognizer *> QSimulatorSensorGesturePlugin::createRecognizers() -{ - QList <QSensorGestureRecognizer *> recognizers; - - QSensorGestureRecognizer *sRec = new QSimulatorSensorGestureRecognizer(this); - recognizers.append(sRec); - - return recognizers; -} diff --git a/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.h b/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.h deleted file mode 100644 index 4f598007..00000000 --- a/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.h +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QSIMULATORSENSORGESTUREPLUGIN_H -#define QSIMULATORSENSORGESTUREPLUGIN_H - -#include <QObject> -#include <QStringList> - -#include <qsensorgestureplugininterface.h> - -class QSimulatorSensorGesturePlugin : public QObject, public QSensorGesturePluginInterface -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "com.Nokia.QSensorGesturePluginInterface" FILE "plugin.json") - Q_INTERFACES(QSensorGesturePluginInterface) - -public: - explicit QSimulatorSensorGesturePlugin(); - ~QSimulatorSensorGesturePlugin(); - - QList <QSensorGestureRecognizer *> createRecognizers(); - - QStringList gestureSignals() const; - QStringList supportedIds() const; - QString name() const { return "EmulatorGestures"; } -}; - -#endif // QSIMULATORSENSORGESTUREPLUGIN_H diff --git a/src/plugins/sensorgestures/simulator/simulator.pro b/src/plugins/sensorgestures/simulator/simulator.pro deleted file mode 100644 index 5f1712d1..00000000 --- a/src/plugins/sensorgestures/simulator/simulator.pro +++ /dev/null @@ -1,27 +0,0 @@ -load(qt_module) - -TARGET = qtsensorgestures_simulator -load(qt_plugin) - -DESTDIR = $$QT.sensors.plugins/sensorgestures - -QT=core gui network sensors simulator - -target.path += $$[QT_INSTALL_PLUGINS]/sensorgestures -INSTALLS += target - -HEADERS += \ - simulatorgesturescommon.h\ - qsimulatorrecognizer.h\ - qsimulatorsensorgestureplugin.h - - -SOURCES += \ - simulatorgesturescommon.cpp\ - qsimulatorrecognizer.cpp\ - qsimulatorsensorgestureplugin.cpp - -OTHER_FILES += \ - plugin.json - - diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp index cc5d1034..eaaf8e3c 100644 --- a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp +++ b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp @@ -48,11 +48,24 @@ #include "qsensorgesturemanagerprivate_p.h" #include "qsensorgestureplugininterface.h" +#ifdef SIMULATOR_BUILD +#include "simulatorgesturescommon_p.h" +#endif + QT_BEGIN_NAMESPACE QSensorGestureManagerPrivate::QSensorGestureManagerPrivate(QObject *parent) : QObject(parent) { +#ifdef SIMULATOR_BUILD + SensorGesturesConnection *connection = new SensorGesturesConnection(this); + connect(connection,SIGNAL(sensorGestureDetected()), + this,SLOT(sensorGestureDetected())); + + connect(this,SIGNAL(newSensorGestures(QStringList)), + connection,SLOT(newSensorGestures(QStringList))); +#endif + loader = new QFactoryLoader("com.Nokia.QSensorGesturePluginInterface", QLatin1String("/sensorgestures")); loadPlugins(); } @@ -133,6 +146,11 @@ bool QSensorGestureManagerPrivate::loadRecognizer(const QString &recognizerId) delete recognizer; } else { registeredSensorGestures.insert(recognizer->id(),recognizer); + +#ifdef SIMULATOR_BUILD + QStringList list = recognizer->gestureSignals(); + Q_EMIT newSensorGestures(list); +#endif } } } @@ -173,5 +191,34 @@ QStringList QSensorGestureManagerPrivate::gestureIds() return knownIds; } +#ifdef SIMULATOR_BUILD +void QSensorGestureManagerPrivate::sensorGestureDetected() +{ + QString str = get_qtSensorGestureData(); + + Q_FOREACH (const QString &id, gestureIds()) { + QSensorGestureRecognizer *recognizer = sensorGestureRecognizer(id); + if (recognizer != 0) { + Q_FOREACH (const QString &sig, recognizer->gestureSignals()) { + if (!sig.contains("detected")) { //weed out detected signals + QString tmp; + tmp = sig.left(sig.length() - 2); + if (str == tmp) { + // named signal for c++ + QMetaObject::invokeMethod(recognizer, str.toLocal8Bit(), Qt::DirectConnection); + // detected signal for qml and c++ + QMetaObject::invokeMethod(recognizer, "detected", Qt::DirectConnection, + Q_ARG(QString, str)); + break; + + } + } + } + } + } +} + +#endif + QT_END_NAMESPACE diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate_p.h b/src/sensors/gestures/qsensorgesturemanagerprivate_p.h index e67c9749..4d3d9c4d 100644 --- a/src/sensors/gestures/qsensorgesturemanagerprivate_p.h +++ b/src/sensors/gestures/qsensorgesturemanagerprivate_p.h @@ -80,6 +80,15 @@ public: void initPlugin(QObject *o); Q_SIGNALS: void newSensorGestureAvailable(); + +#ifdef SIMULATOR_BUILD +Q_SIGNALS: + void newSensorGestures(QStringList); + +private slots: + void sensorGestureDetected(); + +#endif }; QT_END_NAMESPACE diff --git a/src/plugins/sensorgestures/simulator/simulatorgesturescommon.cpp b/src/sensors/gestures/simulatorgesturescommon.cpp index c9db8f9f..128db508 100644 --- a/src/plugins/sensorgestures/simulator/simulatorgesturescommon.cpp +++ b/src/sensors/gestures/simulatorgesturescommon.cpp @@ -39,9 +39,11 @@ ** ****************************************************************************/ -#include "simulatorgesturescommon.h" +#include "simulatorgesturescommon_p.h" #include <QtSimulator/version.h> +#include <QtSimulator/QtSimulator> + #include <QDebug> #include <QStringList> @@ -53,7 +55,7 @@ Q_GLOBAL_STATIC(QString, qtSensorGestureData) SensorGesturesConnection::SensorGesturesConnection(QObject *parent) : QObject(parent) { - mConnection = new Connection(Connection::Client, "QtSimulator_Mobility_ServerName1.3.0.0", + mConnection = new Connection(Connection::Client, QLatin1String("QtSimulator_Mobility_ServerName1.3.0.0"), 0xbeef+1, Version(1,0,0,0), this); mWorker = mConnection->connectToServer(Connection::simulatorHostName(true), 0xbeef+1); @@ -61,7 +63,6 @@ SensorGesturesConnection::SensorGesturesConnection(QObject *parent) qWarning() << "Could not connect to server"; return; } - newSensorGestures(); mWorker->addReceiver(this); mWorker->call("setRequestsSensorGestures"); @@ -75,9 +76,9 @@ SensorGesturesConnection::~SensorGesturesConnection() void SensorGesturesConnection::setSensorGestureData(const QString &data) { QString gesture = data; - if (data.contains("detected")) { - gesture.remove("detected("); - gesture.remove(")"); + if (data.contains(QLatin1String("detected"))) { + gesture.remove(QLatin1String("detected(")); + gesture.remove(QLatin1String(")")); } *qtSensorGestureData() = gesture; } @@ -87,10 +88,16 @@ void SensorGesturesConnection::newSensorGestureDetected() emit sensorGestureDetected(); } -void SensorGesturesConnection::newSensorGestures() +void SensorGesturesConnection::newSensorGestures(const QStringList &gestures) { - QStringList allGestures; - allGestures << "shake"; + Q_FOREACH (const QString &gest, gestures) { + if (!gest.contains(QLatin1String("detected"))) { + QString tmp = gest.left(gest.length()-2); + if (!allGestures.contains(tmp)) { + allGestures.append(tmp); + } + } + } mWorker->call("setSensorGestures", allGestures); } diff --git a/src/plugins/sensorgestures/simulator/simulatorgesturescommon.h b/src/sensors/gestures/simulatorgesturescommon_p.h index aa07b8b1..6fd0d754 100644 --- a/src/plugins/sensorgestures/simulator/simulatorgesturescommon.h +++ b/src/sensors/gestures/simulatorgesturescommon_p.h @@ -42,8 +42,20 @@ #ifndef SIMULATORGESTURESCOMMON_H #define SIMULATORGESTURESCOMMON_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtSimulator/connection.h> #include <QtSimulator/connectionworker.h> +#include <QStringList> class QTimer; @@ -66,11 +78,13 @@ Q_SIGNALS: public slots: void setSensorGestureData(const QString &); void newSensorGestureDetected(); - void newSensorGestures(); + void newSensorGestures(const QStringList &gestures); private: Simulator::Connection *mConnection; Simulator::ConnectionWorker *mWorker; + QStringList allGestures; + }; QString get_qtSensorGestureData(); diff --git a/src/sensors/sensors.pro b/src/sensors/sensors.pro index dc5f8db9..6435ec0f 100644 --- a/src/sensors/sensors.pro +++ b/src/sensors/sensors.pro @@ -14,6 +14,11 @@ QT = core core-private DEFINES += QT_BUILD_SENSORS_LIB QT_MAKEDLL !isEmpty(SENSORS_CONFIG_PATH):DEFINES += "QTSENSORS_CONFIG_PATH=\\\"$$SENSORS_CONFIG_PATH\\\"" +simulator { + DEFINES += SIMULATOR_BUILD + QT += simulator +} + load(qt_module_config) HEADERS += qtsensorsversion.h @@ -67,6 +72,11 @@ GESTURE_HEADERS += \ gestures/qsensorgesturemanagerprivate_p.h \ gestures/qsensorgestureplugininterface.h +simulator { + SOURCES += gestures/simulatorgesturescommon.cpp + GESTURE_HEADERS += gestures/simulatorgesturescommon_p.h +} + # 3 files per sensor (including QSensor) SENSORS=\ qsensor\ |