diff options
author | Lorn Potter <lorn.potter@nokia.com> | 2012-09-19 19:19:46 +1000 |
---|---|---|
committer | Lorn Potter <lorn.potter@gmail.com> | 2012-11-13 20:13:24 +0100 |
commit | 05b99e39f4c9e3249d22410d1c70eafb7b8c0170 (patch) | |
tree | 0ead578ee1113121494a710b59c4f46376d2803a /tests/auto/qsensorgestures/plugins | |
parent | d8de6ec84d0d4d0a0a48a44590dde2797fe7cc09 (diff) |
add qml sensorgesture element backported from qtt5
also add sensorgesture auto tests. need to add a tool that creates
the moc data from real device.
Change-Id: I6d68f9e889c4c69a916d048505da7dc348c64e11
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Diffstat (limited to 'tests/auto/qsensorgestures/plugins')
13 files changed, 1072 insertions, 0 deletions
diff --git a/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.cpp b/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.cpp new file mode 100644 index 0000000000..0315f75800 --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.cpp @@ -0,0 +1,98 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include "qtest2recognizer.h" + +#include "qtestsensorgestureplugin_p.h" + +QTest2Recognizer::QTest2Recognizer(QObject *parent) + : QSensorGestureRecognizer(parent), + active(0) +{ +} + +QTest2Recognizer::~QTest2Recognizer() +{ +} + +bool QTest2Recognizer::start() +{ + Q_EMIT test2(); + + Q_EMIT detected("test2"); + + Q_EMIT test3(true); + active = true; + + return true; +} + +bool QTest2Recognizer::stop() +{ + active = false; + return true; +} + +bool QTest2Recognizer::isActive() +{ + return active; +} + + +void QTest2Recognizer::create() +{ + active = false; +} + +QString QTest2Recognizer::id() const +{ + return QString("QtSensors.test2"); +} + +int QTest2Recognizer::thresholdTime() const +{ + return timerTimeout; +} + +void QTest2Recognizer::setThresholdTime(int msec) +{ + timer->setInterval(msec); +} + diff --git a/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.h b/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.h new file mode 100644 index 0000000000..1d68c77bb9 --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.h @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QTEST2RECOGNIZER_H +#define QTEST2RECOGNIZER_H + +#include <qsensorgesturerecognizer.h> + +class QTest2Recognizer : public QSensorGestureRecognizer +{ + Q_OBJECT + +public: + QTest2Recognizer(QObject *parent = 0); + ~QTest2Recognizer(); + + void create(); + + QString id() const; + bool start(); + bool stop(); + bool isActive(); + + int thresholdTime() const; + void setThresholdTime(int msec); + +Q_SIGNALS: + void test2(); + void test3(bool); + +private: + int timerTimeout; + QTimer *timer; + bool active; +}; + + +#endif // QTEST2RECOGNIZER_H diff --git a/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.cpp b/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.cpp new file mode 100644 index 0000000000..1590e9c668 --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.cpp @@ -0,0 +1,105 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <QStringList> +#include <QTimer> + +#include "qtestrecognizer.h" +#include "qtestsensorgestureplugin_p.h" + + +QTestRecognizer::QTestRecognizer(QObject *parent) + : QSensorGestureRecognizer(parent), + active(0) +{ + timeout(); +} + +QTestRecognizer::~QTestRecognizer() +{ +} + +void QTestRecognizer::timeout() +{ + Q_EMIT detected("tested"); + Q_EMIT tested(); + QTimer::singleShot(10,this, SLOT(timeout())); +} + + +bool QTestRecognizer::start() +{ + Q_EMIT detected("tested"); + Q_EMIT tested(); + active = true; + return true; +} + +bool QTestRecognizer::stop() +{ + active = false; + return true; +} + +bool QTestRecognizer::isActive() +{ + return active; +} + +void QTestRecognizer::create() +{ + active = false; +} + +QString QTestRecognizer::id() const +{ + return QString("QtSensors.test"); +} + + +int QTestRecognizer::thresholdTime() const +{ + return timerTimeout; +} + +void QTestRecognizer::setThresholdTime(int msec) +{ + timer->setInterval(msec); +} diff --git a/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.h b/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.h new file mode 100644 index 0000000000..3cc2148699 --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.h @@ -0,0 +1,78 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QTESTRECOGNIZER_H +#define QTESTRECOGNIZER_H + +#include <qsensorgesturerecognizer.h> + +class QTestRecognizer : public QSensorGestureRecognizer +{ + Q_OBJECT + Q_PROPERTY(int thresholdTime READ thresholdTime WRITE setThresholdTime) + +public: + + QTestRecognizer(QObject *parent = 0); + ~QTestRecognizer(); + + void create(); + + QString id() const; + bool start(); + bool stop(); + bool isActive(); + + int thresholdTime() const; + void setThresholdTime(int msec); + +Q_SIGNALS: + void tested(); + +private: + int timerTimeout; + QTimer *timer; + bool active; + +public slots: + void timeout(); +}; + +#endif // QTESTRECOGNIZER_H diff --git a/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin.cpp b/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin.cpp new file mode 100644 index 0000000000..9b210bc39c --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin.cpp @@ -0,0 +1,107 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <QObject> +#include <QtPlugin> +#include <QStringList> +#include <QTimer> +#include <QTest> + +#include "qtestrecognizer.h" +#include "qtest2recognizer.h" + +#include "qtestsensorgestureplugin_p.h" + +#include <qsensorgestureplugininterface.h> +#include <qsensorgesturerecognizer.h> +#include <qsensorgesturemanager.h> + + +QTestSensorGesturePlugin::QTestSensorGesturePlugin() +{ +} + +QTestSensorGesturePlugin::~QTestSensorGesturePlugin() +{ +} + + +///*! +// Describes this gesture's possible gesture signals. +//handled through the detected(const QString &) signal. +// */ +//QStringList QTestSensorGesturePlugin::gestureSignals() const +//{ +// QStringList list; +// Q_FOREACH (const QSensorGestureRecognizer* rec, recognizersList) { +// list.append(rec->gestureSignals()); +// } +// return list; +//} + +QList <QSensorGestureRecognizer *> QTestSensorGesturePlugin::createRecognizers() +{ + QSensorGestureRecognizer *sRec = new QTestRecognizer(this); + recognizersList.append(sRec); + + QSensorGestureRecognizer *sRec2 = new QTest2Recognizer(this); + recognizersList.append(sRec2); + + return recognizersList; +} + +QStringList QTestSensorGesturePlugin::supportedIds() const +{ + QStringList list; + list << "QtSensors.test"; + list <<"QtSensors.test2"; + + return list; +} + +QList<QSensorGestureRecognizer*> QTestSensorGesturePlugin::recognizers() const +{ + return recognizersList; +} + +QString QTestSensorGesturePlugin::name() const +{ + return "TestGestures"; +} diff --git a/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin_p.h b/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin_p.h new file mode 100644 index 0000000000..383dd39b6e --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin_p.h @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QTESTSENSORGESTUREPLUGIN_P_H +#define QTESTSENSORGESTUREPLUGIN_P_H + +#include <QObject> +#include <qsensorgestureplugininterface.h> + +class QTestSensorGesturePlugin : public QObject, public QSensorGesturePluginInterface +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "com.Nokia.QSensorGesturePluginInterface") + Q_INTERFACES(QSensorGesturePluginInterface) + +public: + explicit QTestSensorGesturePlugin(); + ~QTestSensorGesturePlugin(); + + QList <QSensorGestureRecognizer *> createRecognizers(); + +// QStringList gestureSignals() const; + QStringList supportedIds() const; + QString name() const; + + QList<QSensorGestureRecognizer*> recognizers() const; + + QList<QSensorGestureRecognizer*> recognizersList; + +}; + + + +#endif // QTESTSENSORGESTUREPLUGIN_H diff --git a/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.cpp b/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.cpp new file mode 100644 index 0000000000..ff9c323105 --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.cpp @@ -0,0 +1,96 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qtest2recognizerdup.h" + +#include "qtestsensorgestureplugindup.h" + +QTest2RecognizerDup::QTest2RecognizerDup(QObject *parent) + : QSensorGestureRecognizer(parent), + active(0) +{ +} + +QTest2RecognizerDup::~QTest2RecognizerDup() +{ +} + +bool QTest2RecognizerDup::start() +{ + Q_EMIT test2_dup(); + + active = true; + + return true; +} + +bool QTest2RecognizerDup::stop() +{ + active = false; + return true; +} + +bool QTest2RecognizerDup::isActive() +{ + return active; +} + + +void QTest2RecognizerDup::create() +{ + active = false; +} + +QString QTest2RecognizerDup::id() const +{ + return QString("QtSensors.test.dup"); +} + +int QTest2RecognizerDup::thresholdTime() const +{ + return timerTimeout; +} + +void QTest2RecognizerDup::setThresholdTime(int msec) +{ + timer->setInterval(msec); +} + diff --git a/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.h b/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.h new file mode 100644 index 0000000000..8716cc76bf --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.h @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QTEST2RECOGNIZERDUP_H +#define QTEST2RECOGNIZERDUP_H + +#include <qsensorgesturerecognizer.h> + +class QTest2RecognizerDup : public QSensorGestureRecognizer +{ + Q_OBJECT + +public: + QTest2RecognizerDup(QObject *parent = 0); + ~QTest2RecognizerDup(); + + void create(); + + QString id() const; + bool start(); + bool stop(); + bool isActive(); + + int thresholdTime() const; + void setThresholdTime(int msec); + +Q_SIGNALS: + void test2_dup(); + +private: + int timerTimeout; + QTimer *timer; + bool active; +}; + + +#endif // QTEST2RECOGNIZERDUP_H diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.cpp b/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.cpp new file mode 100644 index 0000000000..9cc9ba1f21 --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.cpp @@ -0,0 +1,95 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QStringList> + +#include "qtestrecognizerdup.h" +#include "qtestsensorgestureplugindup.h" + +QTestRecognizerDup::QTestRecognizerDup(QObject *parent) + : QSensorGestureRecognizer(parent), + active(0) +{ +} + +QTestRecognizerDup::~QTestRecognizerDup() +{ +} + +bool QTestRecognizerDup::start() +{ + active = true; + Q_EMIT detected("test2_dup"); + Q_EMIT test2_dup(); + return true; +} + +bool QTestRecognizerDup::stop() +{ + active = false; + return true; +} + +bool QTestRecognizerDup::isActive() +{ + return active; +} + +void QTestRecognizerDup::create() +{ + active = false; +} + +QString QTestRecognizerDup::id() const +{ + return QString("QtSensors.test.dup"); +} + + +int QTestRecognizerDup::thresholdTime() const +{ + return timerTimeout; +} + +void QTestRecognizerDup::setThresholdTime(int msec) +{ + timer->setInterval(msec); +} diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.h b/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.h new file mode 100644 index 0000000000..2694b10918 --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.h @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QTESTRECOGNIZERDUP_H +#define QTESTRECOGNIZERDUP_H + +#include <qsensorgesturerecognizer.h> + +class QTestRecognizerDup : public QSensorGestureRecognizer +{ + Q_OBJECT + Q_PROPERTY(int thresholdTime READ thresholdTime WRITE setThresholdTime) + +public: + + QTestRecognizerDup(QObject *parent = 0); + ~QTestRecognizerDup(); + + void create(); + + QString id() const; + bool start(); + bool stop(); + bool isActive(); + + int thresholdTime() const; + void setThresholdTime(int msec); + +Q_SIGNALS: + void test2_dup(); + +private: + int timerTimeout; + QTimer *timer; + bool active; + +}; + +#endif // QTESTRECOGNIZERDUP_H diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.cpp b/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.cpp new file mode 100644 index 0000000000..4529a449b1 --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.cpp @@ -0,0 +1,105 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <QObject> +#include <QtPlugin> +#include <QStringList> +#include <QTimer> + +#include "qtestrecognizerdup.h" +#include "qtest2recognizerdup.h" + +#include "qtestsensorgestureplugindup.h" + +#include <qsensorgestureplugininterface.h> +#include <qsensorgesturerecognizer.h> +#include <qsensorgesturemanager.h> + + +QTestSensorGestureDupPlugin::QTestSensorGestureDupPlugin() +{ +} + +QTestSensorGestureDupPlugin::~QTestSensorGestureDupPlugin() +{ +} + +/*! + Describes this gesture's possible gesture signals. +handled through the detected(const QString &) signal. + */ +QStringList QTestSensorGestureDupPlugin::gestureSignals() const +{ + QStringList list; + Q_FOREACH (const QSensorGestureRecognizer* rec,recognizersList) { + list.append(rec->gestureSignals()); + } + return list; +} + +QList <QSensorGestureRecognizer *> QTestSensorGestureDupPlugin::createRecognizers() +{ + QSensorGestureRecognizer *sRec = new QTestRecognizerDup(this); + recognizersList.append(sRec); + + QSensorGestureRecognizer *sRec2 = new QTest2RecognizerDup(this); + recognizersList.append(sRec2); + + return recognizersList; +} + +QStringList QTestSensorGestureDupPlugin::supportedIds() const +{ + QStringList list; + list << "QtSensors.test.dup"; + list << "QtSensors.test.dup"; + + return list; +} + +QList<QSensorGestureRecognizer*> QTestSensorGestureDupPlugin::recognizers() const +{ + return recognizersList; +} + +QString QTestSensorGestureDupPlugin::name() const +{ + return "TestGesturesDup"; +} diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.h b/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.h new file mode 100644 index 0000000000..42d01f4028 --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.h @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, 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, Digia gives you certain additional +** rights. These rights are described in the Digia 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QTESTSENSORGESTUREDUPPLUGIN_H +#define QTESTSENSORGESTUREDUPPLUGIN_H + +#include <QObject> +#include <qsensorgestureplugininterface.h> + +class QTestSensorGestureDupPlugin : public QObject, public QSensorGesturePluginInterface +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "com.Nokia.QSensorGesturePluginInterface") + Q_INTERFACES(QSensorGesturePluginInterface) + +public: + explicit QTestSensorGestureDupPlugin(); + ~QTestSensorGestureDupPlugin(); + + + QList <QSensorGestureRecognizer *> createRecognizers(); + + QStringList gestureSignals() const; + QStringList supportedIds() const; + QString name() const; + + QList<QSensorGestureRecognizer*> recognizers() const; + + QList<QSensorGestureRecognizer*> recognizersList; + +}; + + + +#endif // QTESTSENSORGESTUREDUPPLUGIN_H diff --git a/tests/auto/qsensorgestures/plugins/test1/test1.pro b/tests/auto/qsensorgestures/plugins/test1/test1.pro new file mode 100644 index 0000000000..17fc6b19e9 --- /dev/null +++ b/tests/auto/qsensorgestures/plugins/test1/test1.pro @@ -0,0 +1,19 @@ +TEMPLATE = lib +CONFIG += plugin + +TARGET = qtsensorgestures_testplugin1 + +QT += sensors sensorgestures +DESTDIR = $$QT.sensorgestures.plugins/sensorgestures + +# Input +HEADERS += qtestsensorgestureplugindup_p.h \ + qtestrecognizerdup.h \ + qtest2recognizerdup.h +SOURCES += qtestsensorgestureplugindup.cpp \ + qtestrecognizerdup.cpp \ + qtest2recognizerduo.cpp + +target.path += $$[QT_INSTALL_PLUGINS]/sensorgestures +INSTALLS += target +DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 |