qt5base-lts/tests/auto
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
..
android Adding CI utilities to Android test script 2013-10-30 11:29:04 +01:00
bic/data test: Add 5.1.0 bic data for linux-gcc-ia32 2013-07-08 21:47:36 +02:00
cmake Teach CMake about Qt 5 plugins. 2013-09-10 14:38:18 +02:00
compilerwarnings/data Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
concurrent QtConcurrent: Workaround GCC bug 58800 in median calculation 2013-12-03 11:45:18 +01:00
corelib Fix MSVC-warning about unused variable eventdispatcher. 2014-01-31 10:21:50 +01:00
dbus don't erroneously claim that gui support is needed 2013-10-16 17:10:15 +02:00
gui Support empty inline elements in block tags in QTextDocument 2014-02-05 09:10:25 +01:00
guiapplauncher Update the documentation after moving examples. 2011-07-05 21:19:08 +02:00
installed_cmake Add a unit test for testing Qt in its install location. 2013-07-02 23:08:54 +02:00
network Add more specific HTTP error codes to QNetworkReply::NetworkError 2014-01-30 07:56:47 +01:00
opengl Resurrect QGLWidget::renderPixmap() 2014-01-06 12:57:20 +01:00
other Cocoa: Allow frameless NSWindow child QWindows 2014-02-05 23:12:50 +01:00
printsupport QPrinter - Fix Printer Selection option on Windows 2014-02-05 19:34:03 +01:00
shared iOS: Fix compilation of some basic tests 2014-01-17 11:04:43 +01:00
sql Replace win32-g++ with mingw scope 2014-01-17 12:08:24 +01:00
testlib Testlib: Use QString for messages in QAbstractTestLogger::addMessage() 2014-01-21 06:28:23 +01:00
tools Fix lack of deterministic behavior in moc. 2014-01-22 08:27:50 +01:00
widgets Fix setWindowFlags() for QMdiSubWindow. 2014-02-01 15:50:26 +01:00
xml expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
auto.pro iOS: Enable building of basic tests 2014-01-22 12:35:17 +01:00
network-settings.h network test settings: support newer FTP server versions 2013-08-28 12:45:34 +02:00
qtest-config.h Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
test.pl Whitespace cleanup: remove trailing whitespace 2013-03-16 20:22:50 +01:00