summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-09-29 13:09:19 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-11-04 10:32:38 +0200
commitb26fa9722f9e8c81406259f6db8044e8bbc2d50b (patch)
tree30d443ac43663e1670c82621d88052e3be29141b /tests/auto
parent8fa93272f0a1526e06105ea02c7ae5ca8f8c52c0 (diff)
Add multi key bindings to QShortcut
This makes it feature comparable with QAction, and makes it possible to use as a backend for QAction, and fixes a few missing alternative keybindings in qtwidgets. Change-Id: Iaefc630b96c4743fc5ef429dc841870ddd99fc64 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp b/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp
index 64e054f7f4..3abec08f09 100644
--- a/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp
+++ b/tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp
@@ -117,6 +117,7 @@ private slots:
void duplicatedShortcutOverride();
void shortcutToFocusProxy();
void deleteLater();
+ void keys();
protected:
static Qt::KeyboardModifiers toButtons( int key );
@@ -1344,6 +1345,25 @@ void tst_QShortcut::deleteLater()
QTRY_VERIFY(!sc);
}
+void tst_QShortcut::keys()
+{
+ QLineEdit le;
+ QShortcut *sc = new QShortcut(QKeySequence::InsertParagraphSeparator, &le);
+ QVERIFY(sc->keys().contains(QKeySequence(Qt::Key_Enter)));
+ QVERIFY(sc->keys().contains(QKeySequence(Qt::Key_Return)));
+
+ QSignalSpy spy(sc, &QShortcut::activated);
+ le.setFocus();
+ le.show();
+ QVERIFY(QTest::qWaitForWindowActive(&le));
+ QCOMPARE(QApplication::focusWidget(), &le);
+
+ QTest::keyEvent(QTest::Press, QApplication::focusWidget(), Qt::Key_Enter);
+ QTRY_COMPARE(spy.count(), 1);
+
+ QTest::keyEvent(QTest::Press, QApplication::focusWidget(), Qt::Key_Return);
+ QTRY_COMPARE(spy.count(), 2);
+}
QTEST_MAIN(tst_QShortcut)
#include "tst_qshortcut.moc"