qt5base-lts/tests/manual
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
..
bearerex expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
cocoa tests: make qt_on_cocoa build again 2013-11-04 15:42:09 +01:00
corelib/tools QVarLengthArray - check if iterators arguments are valid (in debugmode) 2013-07-12 16:15:44 +02:00
dialogs QPageSetupDialog - Add manual dialog test 2014-02-05 19:34:10 +01:00
filetest Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
gestures Compile most manual tests with Qt 4. 2013-03-22 19:52:26 +01:00
highdpi Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
inputmethodhints Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
keypadnavigation Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
lance Merge remote-tracking branch 'origin/stable' into dev 2013-01-22 18:40:13 +01:00
mkspecs Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
network_remote_stresstest Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
network_stresstest Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
qcursor Compile most manual tests with Qt 4. 2013-03-22 19:52:26 +01:00
qdesktopservices QUrl: do not decode "#" in fragments 2013-08-04 04:48:35 +02:00
qdesktopwidget Compile most manual tests with Qt 4. 2013-03-22 19:52:26 +01:00
qgraphicsitem Compile most manual tests with Qt 4. 2013-03-22 19:52:26 +01:00
qgraphicsitemgroup Compile most manual tests with Qt 4. 2013-03-22 19:52:26 +01:00
qgraphicslayout/flicker Compile most manual tests with Qt 4. 2013-03-22 19:52:26 +01:00
qhttpnetworkconnection Fix domain in manual test qhttpnetworkconnection. 2013-07-12 12:41:30 +02:00
qimagereader Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
qlayout Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
qlocale Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
qmetatype QMetaType: remember whether a type was registered with Q_DECLARE_METATYPE 2012-12-11 11:12:08 +01:00
qnetworkaccessmanager/qget Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
qnetworkconfiguration QNetworkConfiguration: add public member bearerTypeFamily() 2013-06-28 23:05:57 +02:00
qnetworkconfigurationmanager Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
qnetworkreply network tests: add manual test for uploading images to Facebook 2014-01-15 21:32:41 +01:00
qpainfo Allow the platform to specify a press and hold delay. 2013-12-10 17:36:05 +01:00
qscreen Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
qssloptions Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
qtabletevent Add painting of points to the QTabletEvents manual test. 2013-06-26 21:06:44 +02:00
qtbug-8933 Compile most manual tests with Qt 4. 2013-03-22 19:52:26 +01:00
qtexteditlist Fix clipping of QTextList decorators. 2013-05-23 12:49:39 +02:00
qtouchevent Compile most manual tests with Qt 4. 2013-03-22 19:52:26 +01:00
qwidget_zorder Compile most manual tests with Qt 4. 2013-03-22 19:52:26 +01:00
repaint Compile most manual tests with Qt 4. 2013-03-22 19:52:26 +01:00
shortcuts Add manual test for shortcuts 2013-08-19 12:13:56 +02:00
socketengine Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
textrendering Compile most manual tests with Qt 4. 2013-03-22 19:52:26 +01:00
transientwindow Added transient window manual test 2013-02-25 15:00:24 +01:00
unc Add manual test for UNC paths 2013-07-19 10:10:19 +02:00
widgetgrab Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
widgets QHeaderView - remove confusing bool 2013-11-08 22:17:03 +01:00
windowchildgeometry Cocoa: Allow frameless NSWindow child QWindows 2014-02-05 23:12:50 +01:00
windowflags Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
windowgeometry Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
windowmodality Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
windowtransparency Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
xembed-raster Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
xembed-widgets Update manualtests license to say "part of test suite". 2013-05-26 20:54:51 +02:00
manual.pro Merge remote-tracking branch 'origin/stable' into dev 2013-08-21 11:03:18 +02:00