diff options
author | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2011-04-04 08:29:40 (GMT) |
---|---|---|
committer | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2011-04-04 08:29:40 (GMT) |
commit | 3c2373d7ea9bc91bb537c0725984d19ad0fbab01 (patch) | |
tree | ceb8c101baa7fac93c316069454b9542582746b4 /src/corelib | |
parent | 73b32e942696156c7c9fe84682394ec26f16c5c6 (diff) | |
download | Qt-3c2373d7ea9bc91bb537c0725984d19ad0fbab01.zip Qt-3c2373d7ea9bc91bb537c0725984d19ad0fbab01.tar.gz Qt-3c2373d7ea9bc91bb537c0725984d19ad0fbab01.tar.bz2 |
Cocoa: p1 bugfix, add widget flag MacNoCocoaChildWindow
This problem has been known for a long time, but a good solution has
never been found. The problem is that a child window should always
stay on top of it's parent, if not for anything else than secure that
a modal child does not block input while hiding behind the parent at
the same time. The only sensible solution found to ensure this in the
Cocoa port is to use Cocoa child windows. But this API has a sad side
effect; it will move the child along with the parent when the parent
is moved on screen. This is something it seems we have to live with.
But for those users that wants to handle this issue otherwise, we now
add a widget flag to switch this off.
Task-number: QTBUG-11481
Reviewed-by: msorvig
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/global/qnamespace.h | 1 | ||||
-rw-r--r-- | src/corelib/global/qnamespace.qdoc | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 4d70744..864d4a5 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -525,6 +525,7 @@ public: #endif WA_X11DoNotAcceptFocus = 132, + WA_MacNoCocoaChildWindow = 133, // Add new attributes before this line WA_AttributeCount diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index a79411b..224d9b6 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -981,6 +981,14 @@ the brushed metal style as supported by the windowing system. This attribute is only applicable to Mac OS X. + \value WA_MacNoCocoaChildWindow Indicates the widget should not be added + as a Cocoa child window of it's parent window. This will free the window + from being moved around together with the parent. However, this + will also allow it to stack/hide behind it's parent (if they are on + the same window level, e.g both windows are dialogs). This can cause problems if + both windows are modal, as the child can then block input to the parent + while hiding behind it. This attribute is only applicable to Mac OS X. + \omitvalue WA_MacMetalStyle \value WA_Mapped Indicates that the widget is mapped on screen. |