qt5base-lts/tests/auto/other
Gabriel de Dietrich b1714aec51 Cocoa: Allow frameless NSWindow child QWindows
Showing, moving and resizing

Contrarily to what an NSWindow does to its NSViews, child NSWindows need
to be explicitly shown and hidden, and clipped if the parent NSWindow
changes geometry. Also, hiding an NSWindow will not hide its child
windows. This needed to be managed manually, adding 2 additional states
to QCocoaWindow to reflect whether a child window has been clipped out by
any ancestor geometry change, or hidden by any ancestor being hid. Also,
ordering out an NSWindow will remove it fromm its parent's child windows
array, making necessary to maintain a parallel list of child windows in
QCocoaWindow.

Stack order

Although child NSWindows can be ordered relatively to each other, they
need to be added again to be moved lower in the window stack. This also
means the windows above it need to be added on top.

Key (focus) status

One of the remaining issues, is to make sure the top level window keeps
the "key status" while still forwarding key events to the child window.

Keeping same event propagation

This use case is best illustrated with undocking QDockWidgets (if these
are child NSWindows). The main issue is to make sure the QDockArea will
get the mouse events right after undocking a dock widget. We used a similar
workaround as the "key status" problem, and manually forward the mouse
events to the dock area's QWindow.

Manual test, by Morten Johan Sørvig, included.

Task-number: QTBUG-33082
Task-number: QTBUG-22815
Change-Id: I50e34936fb82bff013e99f4bcb3bd0db0704c6ae
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-02-05 23:12:50 +01:00
..
atwrapper expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
baselineexample Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
collections expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
compiler Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
d3dcompiler d3dcompiler_qt: Place compiler options in the shader file name 2014-01-18 04:39:19 +01:00
gestures Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
headersclean headersclean: process private modules correctly 2013-07-03 15:31:13 +02:00
lancelot OpenGL autotests: verify create()/makeCurrent() 2013-09-30 14:18:38 +02:00
languagechange Introduce function for standard button texts to QPlatformTheme. 2014-01-18 09:23:38 +01:00
macgui MacGui tests: Remove references to CGPostMouseEvent 2013-10-29 18:30:48 +01:00
macnativeevents Whitespace cleanup: remove trailing whitespace 2013-03-16 20:22:50 +01:00
macplist Update Info.plist templates to use the current standard plist format. 2013-08-02 05:42:37 +02:00
modeltest don't erroneously claim that gui support is needed 2013-10-16 17:10:15 +02:00
networkselftest Fix tst_networkselftest build for WEC7. 2013-04-17 19:48:55 +02:00
qaccessibility WinRT: Enable accessibility by default 2014-01-07 10:55:30 +01:00
qaccessibilitylinux Fix crash of tst_qaccessibilitylinux when DBus is not available. 2014-01-24 11:30:58 +01:00
qaccessibilitymac Cocoa Accessibility: fix ignoring of objects 2013-06-07 14:54:39 +02:00
qcomplextext expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
qfocusevent Cocoa: Allow frameless NSWindow child QWindows 2014-02-05 23:12:50 +01:00
qnetworkaccessmanager_and_qprogressdialog Whitespace cleanup: remove trailing whitespace 2013-03-16 20:22:50 +01:00
qobjectperformance Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
qobjectrace Fix a race that occurred as we unlock the mutex to destroy the functor in ~QObject 2013-11-26 08:24:25 +01:00
qsharedpointer_and_qwidget Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
qtokenautomaton Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
qvariant_common Remove trailing space from QDebug stream 2013-12-06 13:33:10 +01:00
windowsmobile Whitespace cleanup: remove trailing whitespace 2013-03-16 20:22:50 +01:00
other.pro Introducing d3dcompiler_qt 2013-12-09 10:27:28 +01:00