diff options
author | Roger Maclean <rmaclean@qnx.com> | 2014-01-07 14:10:32 -0500 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-17 14:32:36 +0100 |
commit | 6e836271fd851c31cb7408c183aa3fd193d1a835 (patch) | |
tree | 1c56b6a26ee9135c33b684c53f7169f6ebc9ab26 /src/plugins/platforms/qnx/qqnxwindow.h | |
parent | 5c3faa52d7aaab64d1aa6c3800466292a3c3ce18 (diff) |
QNX: Make window groups work reliably
Window group related code worked previously only for the 'root'
window and other windows that had no parents (which then joined
the window group of the root).
Introduced a new function joinGroup that makes the group related
calls, this can both join and leave groups.
Default group joining is performed in setVisible now rather than
setScreen. The advantage of setVisible is that one can rely on it
getting called at some point but it is also possible to create and
interact with a QQnxWindow before it is called. This allows
the default group handling to be overridden via the native
interface. If the group is set (or explicitly not set) then the
default handling is not done.
joinGroup is also called from setParent so that if the parent window
is changed the window joins the parent group.
Change-Id: I03e3801ecb4e4cf901c02e45f00472a87692c2ec
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxwindow.h')
-rw-r--r-- | src/plugins/platforms/qnx/qqnxwindow.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/platforms/qnx/qqnxwindow.h b/src/plugins/platforms/qnx/qqnxwindow.h index 2120c07816..5fa7b32dc8 100644 --- a/src/plugins/platforms/qnx/qqnxwindow.h +++ b/src/plugins/platforms/qnx/qqnxwindow.h @@ -111,6 +111,7 @@ public: void setRotation(int rotation); QByteArray groupName() const { return m_windowGroupName; } + void joinWindowGroup(const QByteArray &groupName); protected: virtual int pixelFormat() const = 0; @@ -144,7 +145,10 @@ private: QString m_mmRendererWindowName; screen_window_t m_mmRendererWindow; + // Group name of window group headed by this window QByteArray m_windowGroupName; + // Group name that we have joined or "" if we've not joined any group. + QByteArray m_parentGroupName; bool m_isTopLevel; }; |