aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@theqtcompany.com>2015-12-03 10:29:00 +0100
committerMitch Curtis <mitch.curtis@theqtcompany.com>2015-12-03 12:09:40 +0000
commit09e680cd5dcffda26efe9301881b91817a29f6b2 (patch)
tree151b2f423afd407131987bf9a6dc9c717eb59510
parentcd4467753105e69b967d3aad8e6d890609dc830b (diff)
Make Qt::Key_Escape close Menu
Change-Id: Ib7d74b556378f7ec5ac3156c92a02d6834bff82e Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
-rw-r--r--src/templates/qquickmenu.cpp3
-rw-r--r--tests/auto/menu/tst_menu.cpp4
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()