summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtestkeyboard.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/testlib/qtestkeyboard.h')
-rw-r--r--src/testlib/qtestkeyboard.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/testlib/qtestkeyboard.h b/src/testlib/qtestkeyboard.h
index e2c02ac496..deb572b8fd 100644
--- a/src/testlib/qtestkeyboard.h
+++ b/src/testlib/qtestkeyboard.h
@@ -85,8 +85,13 @@ namespace QTest
QString text, Qt::KeyboardModifiers modifier, int delay=-1)
{
QTEST_ASSERT(qApp);
+
+ if (!window)
+ window = QGuiApplication::activeWindow();
+
QTEST_ASSERT(window);
+
if (action == Click) {
sendKeyEvent(Press, window, code, text, modifier, delay);
sendKeyEvent(Release, window, code, text, modifier, delay);
@@ -183,6 +188,12 @@ namespace QTest
if (!widget)
widget = QWidget::keyboardGrabber();
if (!widget) {
+ QWindow *window = QGuiApplication::focusWindow();
+ if (window) {
+ sendKeyEvent(action, window, code, text, modifier, delay);
+ return;
+ }
+
if (QWidget *apw = QApplication::activePopupWidget())
widget = apw->focusWidget() ? apw->focusWidget() : apw;
else