diff options
author | Glenn Watson <glenn.watson@nokia.com> | 2012-07-03 11:04:02 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-03 06:42:36 +0200 |
commit | 01173fd0c09e51ca949df51fac2fa7e439e466d1 (patch) | |
tree | 3902ec75babf56175d8096596de77fa07e19d96c /tests | |
parent | bd0bfcd4e85f7877a9fdab94506c2ff8bc61441c (diff) |
Add nativeScanCode to KeyEvent.
Allow the Qt nativeScanCode value to be passed through to the
QML event handler.
Task-number: QTBUG-18590
Change-Id: If598e0d65adc0e9bc29cca773a0bda2c8037b661
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/quick/qquickitem2/data/keystest.qml | 1 | ||||
-rw-r--r-- | tests/auto/quick/qquickitem2/tst_qquickitem.cpp | 19 |
2 files changed, 19 insertions, 1 deletions
diff --git a/tests/auto/quick/qquickitem2/data/keystest.qml b/tests/auto/quick/qquickitem2/data/keystest.qml index c70e0061f5..c968172f4f 100644 --- a/tests/auto/quick/qquickitem2/data/keystest.qml +++ b/tests/auto/quick/qquickitem2/data/keystest.qml @@ -14,6 +14,7 @@ Item { Keys.onBacktabPressed: keysTestObject.keyPress(event.key, "Backtab", event.modifiers) Keys.forwardTo: [ item2 ] Keys.enabled: enableKeyHanding + Keys.onVolumeUpPressed: keysTestObject.specialKey(event.key, event.text, event.nativeScanCode) Item { id: item2 diff --git a/tests/auto/quick/qquickitem2/tst_qquickitem.cpp b/tests/auto/quick/qquickitem2/tst_qquickitem.cpp index f4e5108894..a3fa3f6851 100644 --- a/tests/auto/quick/qquickitem2/tst_qquickitem.cpp +++ b/tests/auto/quick/qquickitem2/tst_qquickitem.cpp @@ -109,13 +109,14 @@ class KeysTestObject : public QObject Q_PROPERTY(bool processLast READ processLast NOTIFY processLastChanged) public: - KeysTestObject() : mKey(0), mModifiers(0), mForwardedKey(0), mLast(false) {} + KeysTestObject() : mKey(0), mModifiers(0), mForwardedKey(0), mLast(false), mNativeScanCode(0) {} void reset() { mKey = 0; mText = QString(); mModifiers = 0; mForwardedKey = 0; + mNativeScanCode = 0; } bool processLast() const { return mLast; } @@ -140,6 +141,11 @@ public slots: void forwardedKey(int key) { mForwardedKey = key; } + void specialKey(int key, QString text, quint32 nativeScanCode) { + mKey = key; + mText = text; + mNativeScanCode = nativeScanCode; + } signals: void processLastChanged(); @@ -150,6 +156,7 @@ public: int mModifiers; int mForwardedKey; bool mLast; + quint32 mNativeScanCode; private: }; @@ -354,6 +361,16 @@ void tst_QQuickItem::keys() testObject->reset(); + key = QKeyEvent(QEvent::KeyPress, Qt::Key_VolumeUp, Qt::NoModifier, 1234, 0, 0); + QGuiApplication::sendEvent(canvas, &key); + QCOMPARE(testObject->mKey, int(Qt::Key_VolumeUp)); + QCOMPARE(testObject->mForwardedKey, int(Qt::Key_VolumeUp)); + QVERIFY(testObject->mModifiers == Qt::NoModifier); + QVERIFY(testObject->mNativeScanCode == 1234); + QVERIFY(key.isAccepted()); + + testObject->reset(); + canvas->rootContext()->setContextProperty("forwardeeVisible", QVariant(false)); key = QKeyEvent(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier, "A", false, 1); QGuiApplication::sendEvent(canvas, &key); |