diff options
author | Noah Davis <noahadvs@gmail.com> | 2022-02-09 10:32:53 -0500 |
---|---|---|
committer | Noah Davis <noahadvs@gmail.com> | 2022-03-09 19:13:41 -0500 |
commit | 64ffe0aacb6bba4875a9ccdeea96b5858c7d01e6 (patch) | |
tree | e8dec0ddae7d27915f32821ac4b07bd3a15ea146 /tests/auto/widgets/widgets/qpushbutton | |
parent | 2de667a6ff1d4b0706a9b6063d6b62a416fb50f1 (diff) |
Widgets: use QPlatformTheme::ButtonPressKeys for pressing buttons
QComboBox is included because it works like a button when it is not
editable. QGroupBox is included because it has a checkbox and QCheckBox
is a subclass of QAbstractButton.
Change-Id: Iad89259314e77f78c915dce83ec601df94c88941
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'tests/auto/widgets/widgets/qpushbutton')
-rw-r--r-- | tests/auto/widgets/widgets/qpushbutton/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qpushbutton/CMakeLists.txt b/tests/auto/widgets/widgets/qpushbutton/CMakeLists.txt index 0ec5c1fe09..199a891695 100644 --- a/tests/auto/widgets/widgets/qpushbutton/CMakeLists.txt +++ b/tests/auto/widgets/widgets/qpushbutton/CMakeLists.txt @@ -9,5 +9,6 @@ qt_internal_add_test(tst_qpushbutton tst_qpushbutton.cpp PUBLIC_LIBRARIES Qt::Gui + Qt::GuiPrivate Qt::Widgets ) diff --git a/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp b/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp index 60b5bebdaf..e1d369d76d 100644 --- a/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp +++ b/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp @@ -41,6 +41,9 @@ #include <QStyleFactory> #include <QTabWidget> +#include <private/qguiapplication_p.h> +#include <qpa/qplatformtheme.h> + class tst_QPushButton : public QObject { Q_OBJECT @@ -220,6 +223,13 @@ void tst_QPushButton::autoRepeat() // check that pressing ENTER has no effect resetCounters(); testWidget->setDown( false ); + // Skip after reset if ButtonPressKeys has Key_Enter + const auto buttonPressKeys = QGuiApplicationPrivate::platformTheme() + ->themeHint(QPlatformTheme::ButtonPressKeys) + .value<QList<Qt::Key>>(); + if (buttonPressKeys.contains(Qt::Key_Enter)) { + return; + } testWidget->setAutoRepeat( false ); QTest::keyPress( testWidget, Qt::Key_Enter ); @@ -255,6 +265,14 @@ void tst_QPushButton::pressed() QCOMPARE( press_count, (uint)1 ); QCOMPARE( release_count, (uint)1 ); + // Skip if ButtonPressKeys has Key_Enter + const auto buttonPressKeys = QGuiApplicationPrivate::platformTheme() + ->themeHint(QPlatformTheme::ButtonPressKeys) + .value<QList<Qt::Key>>(); + if (buttonPressKeys.contains(Qt::Key_Enter)) { + return; + } + QTest::keyPress( testWidget,Qt::Key_Enter ); QCOMPARE( press_count, (uint)1 ); QCOMPARE( release_count, (uint)1 ); |