summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
authorJames Turner <james.turner@kdab.com>2012-04-13 10:57:43 +0100
committerQt by Nokia <qt-info@nokia.com>2012-05-16 19:36:48 +0200
commit617c026d65cbc364c53669c6abcd3c0539394ca2 (patch)
treef799ea0911a636bb33094a793f81d272094f958b /src/gui/kernel
parent9487acb9d2dea07a89a82c1a723bd08c45133cdd (diff)
Add focusWindowChanged signal to QGuiApplication
Required for Cocoa platform menus support, we need a way to update state after focusWindow() result changes. Change-Id: Idc573888c3d75bcbff2252e243c4b57b15fc2fcd Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qguiapplication.cpp9
-rw-r--r--src/gui/kernel/qguiapplication.h1
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 *);