summaryrefslogtreecommitdiffstats
path: root/tests/manual/cocoa/qt_on_cocoa/rasterwindow.cpp
Commit message (Collapse)AuthorAgeFilesLines
* macOS: Deliver NSWindow notifications to all windows, not just top levelTor Arne Vestbø2017-09-261-0/+5
| | | | | | | | | | | | | | | | | | Child QWindows (or in the case of QWindows embedded in native applications: top level QWindows where the corresponding NSView is a child of another view, so not being the contentView of its window), still need some of the NSWindow notifications to e.g. update their exposed state when the window becomes visible. We make sure to send the notification to all QCococaWindow children of the relevant NSWindow, and let each callback decide if it should only apply to content views. This fixes an issue where a QWindow would never be exposed if the window was a child NSView and added to a NSWindow that was yet to be shown. Change-Id: I7f7df8bc5f4ca3ac553a2c146f8c3229b197c059 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Respect responder chain when setting cursorTor Arne Vestbø2017-09-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | There's no need for us to walk our own ancestor chain to figure out which cursor to set. AppKit will automatically call cursorUpdate: on the view that would be the hitTest target of the current mouse position, and by falling back to super when no cursor is set for the current view, we automatically get the behavior that effectiveWindowCursor tried to solve. In addition, it solves the case of applyEffectiveWindowCursor applying the arrowCursor when no cursor was set, which would mean that if any native parent view of our view _did_ have a cursor set, we would not fall back to the native view's cursor, but instead override it with the arrow cursor. Following the responder chain gives the correct behavior in this case. Unfortunately, due to rdar://34183708, if a subview of one of our views uses the legacy cursorRect approach to cursor management, the cursor will not be reset back to our cursor via cursorUpdate: when leaving the child and entering the parent view (our view). Moving our implementation over to the legacy API would solve this problem, but just propagate it to native parent views of our views, which could potentially use NSTrackingAreas, and would not have _their_ cursors re-set. Change-Id: Id20cc03136f0b1d4b9120750fe63ddc455363aaf Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Update qt_on_cocoa manual testTor Arne Vestbø2017-08-311-19/+7
| | | | | | | | | | - Add view to contentView, to allow checking parent view interaction - Render via requestUpdate instead of manual timer - Add two windows to check subview interaction Change-Id: Ib028e62f585d45e42c0429e69ea6f45c8a90fe54 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Updated license headersJani Heikkinen2016-01-211-17/+12
| | | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Clean up qt_on_cocoa manual test.Morten Johan Sørvig2015-04-301-0/+188
Focus the test on embedding QWindow: Remove the NSToolBar code. Use standard NSApplication startup code. Use winId() to access the NSView instead of QPlatformNativeInterface (which is gui-private). Rename Window -> RasterWindow. Change-Id: Ie98cb73020d2721743bb665b89b17f07f2bf984b Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>