diff options
author | Mitch Curtis <mitch.curtis@theqtcompany.com> | 2015-12-03 10:29:00 +0100 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@theqtcompany.com> | 2015-12-03 12:09:40 +0000 |
commit | 09e680cd5dcffda26efe9301881b91817a29f6b2 (patch) | |
tree | 151b2f423afd407131987bf9a6dc9c717eb59510 | |
parent | cd4467753105e69b967d3aad8e6d890609dc830b (diff) |
Make Qt::Key_Escape close Menu
Change-Id: Ib7d74b556378f7ec5ac3156c92a02d6834bff82e
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
-rw-r--r-- | src/templates/qquickmenu.cpp | 3 | ||||
-rw-r--r-- | tests/auto/menu/tst_menu.cpp | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/templates/qquickmenu.cpp b/src/templates/qquickmenu.cpp index b21a7a3e..7efc9765 100644 --- a/src/templates/qquickmenu.cpp +++ b/src/templates/qquickmenu.cpp @@ -445,6 +445,9 @@ bool QQuickMenu::eventFilter(QObject *object, QEvent *event) if (d->contentItem->metaObject()->indexOfMethod("incrementCurrentIndex()") != -1) QMetaObject::invokeMethod(d->contentItem, "incrementCurrentIndex"); return true; + } else if (keyEvent->key() == Qt::Key_Escape) { + hide(); + return true; } return false; diff --git a/tests/auto/menu/tst_menu.cpp b/tests/auto/menu/tst_menu.cpp index 226a8588..f4df7eb5 100644 --- a/tests/auto/menu/tst_menu.cpp +++ b/tests/auto/menu/tst_menu.cpp @@ -237,6 +237,10 @@ void tst_menu::contextMenuKeyboard() QVERIFY(!firstItem->hasActiveFocus()); QVERIFY(!secondItem->hasActiveFocus()); QVERIFY(thirdItem->hasActiveFocus()); + + QTest::keyClick(window, Qt::Key_Escape); + QCOMPARE(visibleSpy.count(), 4); + QVERIFY(!menu->isVisible()); } void tst_menu::menuButton() |