From 6e836271fd851c31cb7408c183aa3fd193d1a835 Mon Sep 17 00:00:00 2001 From: Roger Maclean Date: Tue, 7 Jan 2014 14:10:32 -0500 Subject: 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 Reviewed-by: Fabian Bumberger --- src/plugins/platforms/qnx/qqnxwindow.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/plugins/platforms/qnx/qqnxwindow.h') 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; }; -- cgit v1.2.3