diff options
Diffstat (limited to 'src/testlib/qtestkeyboard.h')
-rw-r--r-- | src/testlib/qtestkeyboard.h | 11 |
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 |