diff options
-rw-r--r-- | src/controls/qquickmenupopupwindow.cpp | 7 | ||||
-rw-r--r-- | src/controls/qquickmenupopupwindow_p.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/controls/qquickmenupopupwindow.cpp b/src/controls/qquickmenupopupwindow.cpp index 8d821d84..670ad6aa 100644 --- a/src/controls/qquickmenupopupwindow.cpp +++ b/src/controls/qquickmenupopupwindow.cpp @@ -148,6 +148,13 @@ void QQuickMenuPopupWindow::updatePosition() setGeometry(newPos.x(), newPos.y(), width(), height()); } +void QQuickMenuPopupWindow::focusInEvent(QFocusEvent *e) +{ + QQuickWindow::focusInEvent(e); + if (m_menu && m_menu->menuContentItem()) + m_menu->menuContentItem()->forceActiveFocus(); +} + void QQuickMenuPopupWindow::exposeEvent(QExposeEvent *e) { // the popup will reposition at the last moment, so its diff --git a/src/controls/qquickmenupopupwindow_p.h b/src/controls/qquickmenupopupwindow_p.h index 5cff75af..abee1f83 100644 --- a/src/controls/qquickmenupopupwindow_p.h +++ b/src/controls/qquickmenupopupwindow_p.h @@ -68,6 +68,7 @@ Q_SIGNALS: void willBeDeletedLater(); protected: + void focusInEvent(QFocusEvent *); void exposeEvent(QExposeEvent *); bool shouldForwardEventAfterDismiss(QMouseEvent *) const; |