summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorRichard Moe Gustavsen <richard.gustavsen@nokia.com>2011-04-04 08:29:40 (GMT)
committerRichard Moe Gustavsen <richard.gustavsen@nokia.com>2011-04-04 08:29:40 (GMT)
commit3c2373d7ea9bc91bb537c0725984d19ad0fbab01 (patch)
treeceb8c101baa7fac93c316069454b9542582746b4 /src/corelib
parent73b32e942696156c7c9fe84682394ec26f16c5c6 (diff)
downloadQt-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.h1
-rw-r--r--src/corelib/global/qnamespace.qdoc8
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.