diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 9 | ||||
-rw-r--r-- | src/gui/kernel/qguiapplication.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 4aa3348653..03c28a7385 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -521,6 +521,13 @@ QWindow *QGuiApplication::focusWindow() */ /*! + \fn QGuiApplication::focusWindowChanged(QWindow *focusWindow) + + This signal is emitted when the focused window changes. + \sa focusWindow() +*/ + +/*! Returns the QObject in currently active window that will be final receiver of events tied to focus, such as key events. */ @@ -1337,6 +1344,8 @@ void QGuiApplicationPrivate::processActivatedEvent(QWindowSystemInterfacePrivate if (previousFocusObject != qApp->focusObject()) self->q_updateFocusObject(qApp->focusObject()); } + + emit qApp->focusWindowChanged(newFocus); } void QGuiApplicationPrivate::processWindowStateChangedEvent(QWindowSystemInterfacePrivate::WindowStateChangedEvent *wse) diff --git a/src/gui/kernel/qguiapplication.h b/src/gui/kernel/qguiapplication.h index 9aad39ed47..a366826c28 100644 --- a/src/gui/kernel/qguiapplication.h +++ b/src/gui/kernel/qguiapplication.h @@ -148,6 +148,7 @@ Q_SIGNALS: void screenAdded(QScreen *screen); void lastWindowClosed(); void focusObjectChanged(QObject *focusObject); + void focusWindowChanged(QWindow *focusWindow); protected: bool event(QEvent *); |