summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qnsview.mm
Commit message (Collapse)AuthorAgeFilesLines
* Replace QT_NO_ACCESSIBILITY with QT_CONFIG(accessibility)Allan Sandfeld Jensen2022-06-151-1/+1
| | | | | | | Pick-to: 6.4 Change-Id: Iee4bd8970810be1b23bdba65a74de912401dca65 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-161-38/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* qcocoa: Fix typos in source code commentsJonas Kvinge2021-10-121-1/+1
| | | | | | Pick-to: 6.2 5.15 Change-Id: Ide20e1d133891890a7673c8403ea91b489baa8f6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: convert mask region to native geometryMorten Johan Sørvig2021-09-151-0/+1
| | | | | | | | | | | QWindow::mask() returns a region in device independent geometry which can’t be used directly by the platform plugin. Pick-to: 6.2 5.15 Task-number: QTBUG-94770 Change-Id: I76279bc74cfabe315178327938f485f4447568be Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: process all activation events synchronouslyMorten Johan Sørvig2021-09-101-1/+2
| | | | | | | | | | | | Commit ed483346 changed the main code path to deliver activation events synchronously, however it looks like an additional code path was missed. Use SynchronousDelivery also in becomeFirstResponder. Pick-to: 6.2 Change-Id: I9061868b0dd0db0252f281e3a974cffe795af38f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Handle IM insertNewline by sending synthetic Qt::Key_ReturnTor Arne Vestbø2021-08-271-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on the input method, pressing enter may result in simply dismissing the input method editor, without confirming the composition. For example with Hiragana, pressing 'a', then 'Tab', and then 'Enter'. In other cases it may confirm the composition as well, for example with Hiragana, pressing 'a' and then 'Enter'. And in some cases the IME will produce an explicit new line, for example with US English, pressing '~' and then 'Enter', or with 2-Set Korean, pressing 'a', then 'j', and then 'Enter'. Semantically, the input method has then asked us to insert a newline, and we should probably do so via an QInputMethodEvent, either directly or via [self insertText:@"\r"]. This is also how NSTextView handles the command. But, if we did, we would bypass all the code in Qt (and clients) that assume that pressing the return key results in a key event, for example the QLineEdit::returnPressed logic. To ensure that clients will still see the Qt::Key_Return key event, we send it as a normal key event. But, we can not fall back to handleKeyEvent for this, as the original key event may have text that reflects the combination of the inserted text and the newline, e.g. "~\r". We have already inserted the composition, so we need to follow up with a single newline event. Task-number: QTBUG-39125 Pick-to: 6.2 Change-Id: If1e95687e6d5b06011692175a325f457b0b8a72f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* macOS: Use current NSEvent to determine if IM text matches key eventTor Arne Vestbø2021-08-271-4/+0
| | | | | | | | | Gives us one less state member to worry about in the IM machinery. Task-number: QTBUG-35700 Pick-to: 6.2 Change-Id: Iaa06b29015f9b9594b8107b74a8931f076a26e12 Reviewed-by: Liang Qi <liang.qi@qt.io>
* macOS: Reorder QNSView instance variablesTor Arne Vestbø2021-08-191-14/+23
| | | | | | Pick-to: 6.2 Change-Id: Icde9ee6744290f88eaa2ac197c40ba412543b122 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* macOS: Handle input source change notifications in QCocoaInputContextTor Arne Vestbø2021-08-191-6/+0
| | | | | | | | Instead of going via QNSView. Also add some logging. Pick-to: 6.2 Change-Id: Iabed7511572ef22597651efa8047f06227b28533 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Register mouse devices on cocoaShawn Rutledge2021-08-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | It would have been nice to ensure that a device is registered already in mouseEnteredImpl(); but in that context, NSEvent.deviceID is always 0, and we can't find out anything else about the device. QWindowSystemInterface::handleEnterEvent() doesn't currently take a QPointingDevice either. In handleMouseEvent() and scrollWheel(), deviceID seems unique for each trackpad or Magic Mouse, but 0 for any plain USB mouse. There, the first mouse that the user interacts with becomes primaryPointingDevice(): its deviceID is assigned to systemID (except if deviceID == 0, we use 1 instead, to avoid the auto-incrementing device ID assignment in the QInputDevicePrivate ctor.) When scrolling occurs, we update the capabilities to have PixelScroll if theEvent.hasPreciseScrollingDeltas. So over time, QInputDevice::devices() should build up to a complete list, with capabilities() also distinguishing plain mice from those that have the PixelScroll capability. And in the common case that the user has only one Apple pointing device, it becomes primaryPointingDevice(). Pick-to: 6.2 Task-number: QTBUG-46412 Task-number: QTBUG-63363 Task-number: QTBUG-72167 Change-Id: Id9771b4dfd765e49023bd57d42a2aa4d0635a3b2 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: in password lineedits, pass dead keys to the input methodVolker Hilsheimer2021-05-061-0/+2
| | | | | | | | | | | | | | | Otherwise the IM cannot correctly compose the input, making it impossible to enter e.g. ü or ~ on certain keyboard layouts. Note that the native macOS NSSecureTextField does not allow that either, which is however a very bad user experience. With this change, the modifier characters like ¨ diacritics will be visible when entering them in either NoEcho or Password line edits. The follow-up commit will remove those as well. Fixes: QTBUG-84664 Change-Id: Ib4c5ab85634c17c407623f82b46c4849c72d9e69 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* qnsview: don't active QWindows inside NSWindows that are not keyRichard Moe Gustavsen2020-07-221-1/+20
| | | | | | | | | | | | A QWindow should only become Active when it's inside an NSWindow that is Key. If the NSWindow is not key, we need to wait for it to be so, and handle window activation from QCocoaWindow::windowDidBecomeKey() instead. Otherwise Qt will report a QWindow as Active when, in reality, it is not. Change-Id: Ib7e63b374f26af527a668c7f7d863c4168a4446d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Clean up headersTor Arne Vestbø2020-06-051-0/+3
| | | | | | | | | | | | | | The headers are now C++ clean and can be used outside of Objective-C code. All includes of Objective-C frameworks have been moved to the implementation files. Header guards have been added in the few places they were missing. All includes are now done via #include, instead of sometimes using the #import variant. Change-Id: Ibb0a9c0bcfefbda4347737212e40e300a3184982 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* macOS/iOS: set focus reason when handling window deactivationVolker Hilsheimer2020-04-291-1/+1
| | | | | | | | | Otherwise, the focusOutEvent to e.g. a QQuickItem losting focus will be OtherFocusReason when the window it's becomes inactive. Task-number: QTBUG-70319 Change-Id: Ic3762e68d92a88becd2b35612b14f6af64ee934e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Simplify Objective-C namespacingTor Arne Vestbø2019-10-151-12/+14
| | | | | | | | | | | | | | | | We only need to use the QT_MANGLE_NAMESPACE macro when declaring the interface of the class. As long as we couple that with an alias declaration using QT_NAMESPACE_ALIAS_OBJC_CLASS, any further uses of the class name can be un-namespaced, including declaring categories on the class. The only snag with QT_NAMESPACE_ALIAS_OBJC_CLASS is that it can only be used once per class and translation unit, so forward declarations get hairy, but we can avoid that by just including the headers instead. Change-Id: I333bcd18fe1e18d81fbd560b0941c98b1c32460e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Initialize QNSView mouse related members with other mouse logicTor Arne Vestbø2019-03-021-9/+0
| | | | | | Change-Id: I4ff67028823d62ed67bf4303a58bee127bd76501 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Simplify mouse trackingTor Arne Vestbø2019-02-111-6/+2
| | | | | | | | | | We don't need to react to updateTrackingAreas, as we only have a single tracking area that we can add once and forget. By asking AppKit to track all events in the visible rect, we can also pass a zero-rect for the tracking area. Change-Id: I2545712adc49b51904d5adc11f1faca36901b49d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Track changes to our NSView's superview and window propertiesTor Arne Vestbø2018-11-231-6/+67
| | | | | | | | As a start, we just log the changes, but going forward we can use this to report parent changes to QPA or get rid of old QNSWindows. Change-Id: Id3625fb0b7608d85240f58bdecc70a5892075da3 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Improve logging during QNSView/QNSWindow deallocationTor Arne Vestbø2018-11-201-0/+2
| | | | | Change-Id: Ie6945f2a1f35db6d1259b77ee63137abcaf68318 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Only enable layer-backed views on 10.14 if built against 10.14 SDKTor Arne Vestbø2018-11-091-13/+2
| | | | | | | | | | | | | | Instead of explicitly enabling layer-backing for Qt 5.12 on all macOS version, we follow the macOS default to enable it for 10.14 if the application binary was built against the 10.14 SDK. Aligning ourselves with Apple's switch to forced layer-backing means we have an easier story when it comes to supporting different runtime configurations. Fixes: QTBUG-71499 Change-Id: I34ee49b3daeb6ed8df444a3759d3573ebc9ea30f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Propagate [NSOpenGLContext setView:] failuresTor Arne Vestbø2018-08-031-8/+0
| | | | | | | | | | | | | | | | | Instead of trying to mask situations where [NSOpenGLContext setView:] will fail (such as calling it for a view that's not part of a window yet, or part of a window that hasn't been shown), we report the error up through the API, so that QOpenGLContext::makeCurrent() will return false. This is documented to occur e.g. when "the surface is not exposed, or the graphics hardware is not available due to e.g. the application being suspended." QGLWidget was taught how to deal with this situation in cc27a50e. Other Qt APIs seem to handle it fine, but if regressions occur they should be fixable though the same logic as in cc27a50e. Change-Id: I92775fc165444696b6c5b44fa0e28ce3c4ad2190 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* macOS: Remove dead updateRequest code based on setNeedsDisplayTor Arne Vestbø2018-07-091-2/+0
| | | | | | | We're no longer using this code path for QWindow::requestUpdate() Change-Id: I000304a4f1a6ea2c3a4e8268ae978dedd968e07c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Remove dead accessibility debug code in QNSViewTor Arne Vestbø2018-07-081-19/+0
| | | | | Change-Id: I00d7f59576d8315f47ea70404460a6e2d133dd1f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Organize QNSView accessibility code like the rest of the classTor Arne Vestbø2018-07-081-0/+3
| | | | | | | Drive-by style-fixes were applied as well. Change-Id: I22c17925be41eeaac692ab776dd5b46791265cb3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Add missing m_ prefix to QNSView currentWheelModifiers memberTor Arne Vestbø2018-07-081-1/+1
| | | | | Change-Id: I057db59797f1e18c3a8fc5386f7e1295fe352e02 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Remove unused QNSView member 'currentCustomDragTypes'Tor Arne Vestbø2018-07-081-4/+0
| | | | | Change-Id: Id2e37cc81c24edce37cac2bfa843ee669fd13d98 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Merge the two QNSView initializersTor Arne Vestbø2018-07-081-30/+22
| | | | | | | | We never call [QNSView init] directly, so there's no point in splitting up the logic. Change-Id: Ie40705a3a78c0d732a3f3378c6e8fa76dc6c68e7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Move wantsBestResolutionOpenGLSurface logic to QNSView initializerTor Arne Vestbø2018-07-071-0/+11
| | | | | Change-Id: If9d76a8e82ce034eccc5130e036dfeae12377cac Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Remove declarative override of -[NSView wantsLayer]Alexandru Croitor2018-07-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The -[NSView setWantsLayer:] method may have side effects that extend beyond just setting an internal boolean property, so we need to ensure it gets called. This was observed on e.g. macOS 10.12.5, where the method ends up creating the internal backing layer. On later macOS versions the method just emits KVO notifications for wantsLayer, but these may in turn result in similar logic being triggered. The issue was masked somewhat by AppKit itself calling the method from e.g. -[NSWindow setContentView:], so we still got the backing layer created. The problem appeared when running binaries built against an older SDK (10.6 in this case), which triggered AppKit to not call -[NSView setWantsLayer:], due to __NSViewLayerBackWindowFrame() in that case returning false. This change removes the overridden -[NSView wantsLayer], and replaces it with an explicit call to -[NSView setWantsLayer] when creating a new QNSView, essentially revering c8c8cc790a315710b0dae2282dc32. Task-number: PYSIDE-724 Task-number: PYSIDE-734 Change-Id: Idaff4ed38838311b37da4925b1eec241e077dbcc Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Cocoa QPA: Clean up 0 as pointerGabriel de Dietrich2018-04-191-4/+4
| | | | | | | | We use nil for Objective-C null pointers and nullptr everywhere else, including CoreFoundation and similar opaque types. Change-Id: Id75c59413dec54bf4d8e83cf7ed0ff7f3d8bb480 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Cocoa Menus: Use the responder chain for menu items target/actionGabriel de Dietrich2018-04-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We start by setting the menu item target to nil. Then, -[qt_itemFired:] action is now in QNSView, which itself is naturally inserted in the responder chain. This removes the need to track and change the menu item's target/action when we're displaying a native dialog. Part of this is possible because we now derive our own QCocoaNSMenuItem class from NSMenuItem. We use -[respondsToSelector:] to decide whether the QNSView in the responder chain should respond to cut:, copy:, etc. And we only return YES when the view is first responder. The invocation to these action is forwarded to the same views' -[qt_itemFired:]. Message forwarding is done via forwardInvocation:, but experiments have shown that it can be done by the sole means of respondsToSelector: and direct invocation from cut:, copy:, etc. See the usage of the macro QT_COCOA_DYNAMIC_MENU_ITEM_ACTION. Menu validation also happens in QNSView and looks for modal windows. Therefore, -[worksWhenModal] is no longer necessary. Also, since the target is no longer set, the logic as documented in NSMenuItem.target won't work anymore. Most items from QCocoaMenuLoader also become QCocoaNSMenuItem and get the same target/action, which removes a bit of duplicated (and outdated) code. A particular case is the Quit item, which gets the terminate: action set until an actual menu item is added. Tested with texedit and standard dialogs examples together with menus, menurama and bigmenucreator manual tests. We also renamed some functions and variables to reflect common naming practices. Change-Id: I9b51d3be3467a666d8c3dcf8585edbc821e0282e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QNSView: Remove isMenuView propertyGabriel de Dietrich2018-04-051-10/+1
| | | | | | | This is always NO and no longer needed. Change-Id: I32a3dca6cc427cb074ee3d58bf2202f57af4c623 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Cocoa: Remove m_viewIsEmbedded and m_ViewIsToBeEmbeddedMorten Johan Sørvig2018-03-211-4/+1
| | | | | | | | | | | | Implement QCocoaWindow::isEmbedded() which detects this property based on parent view and window type. This avoids having to use a setter function to set the state. The detection can’t handle all cases, but should be sufficient for our use case. Change-Id: I12a5b90b4e4a7e10714f7275ae001e99c9361e2c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Do layer updates via the CALayerDelegate protocolTor Arne Vestbø2018-03-201-1/+1
| | | | | | | | | | | | | | | The updateLayer function is only called when the layer is a _NSViewBackingLayer instance, which is what the default implementation of [NSView makeBackingLayer] returns. Once we move to optionally returning a CAMetalLayer, we need to use the more generic displayLayer: API, so we do that now as a first step. This matches the way we draw and send expose events on iOS. Change-Id: I49721ff005ca9dfddebff645705f96b5ab46abb4 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Move QNSView drawing related functionality to its own fileTor Arne Vestbø2018-03-201-113/+4
| | | | | Change-Id: Iaeaa5c57368445a1fd67d110823c919aa7173a7a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Split up qnsview.mm into separate category-files for major areasTor Arne Vestbø2018-03-171-1651/+31
| | | | | | | | | | Makes it easier to get an overview of the code, work on separate sections/areas in isolation, and highlights which part of the APIs we are using from outside of QNSView, and internally between the different parts of QNSView. Change-Id: Ia2c5ab9a68bf75feddba853ac20d3bb397f7564b Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Clean up some more Objective-C usage in QNSView implementationTor Arne Vestbø2018-03-171-43/+40
| | | | | | | | | | - Format selectors consistently - Use proper style for init methods Follow-up to ba871065e0f40e9197fa4ee0ffe76530bb6fca11 Change-Id: I5742e248b83d5955b1d110038dd1b4d79d701fbb Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Group stray input context function with other input context functionsTor Arne Vestbø2018-03-171-9/+10
| | | | | Change-Id: I9be3c170c20aca8a7d3c8bb81b7b019cd555b3f1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Remove 'cocoa' infix in QPA logging categoriesTor Arne Vestbø2018-03-141-6/+6
| | | | | | | | Makes the naming of QPA logging categories the same across different platforms, which makes it easier to debug an unfamiliar platform. Change-Id: I60ed34892d154e86723c8e4bcff3c28fcab1f7a1 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-03-071-0/+1
|\ | | | | | | Change-Id: I110feec4750bd304975bab4f3f33d3a61a4e08bd
| * cocoa: add qCDebug in QNSview::scrollWheelShawn Rutledge2018-03-061-0/+1
| | | | | | | | | | | | | | | | | | If you enable both qt.qpa.input.touch and qt.qpa.cocoa.mouse you can see the order and interleaving of the touch and scroll events. Task-number: QBUG-66329 Change-Id: I8e1a63e2958b85f7964bb597e49cf8529cb3f32e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | macOS: Don't keep window flags around, we can get them from the QWindowTor Arne Vestbø2018-03-051-2/+2
| | | | | | | | | | Change-Id: I629a58e699ad39ec429e1e275152434db4abc572 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Clean up our Objective-C usageJake Petroules2018-02-201-16/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move ivars into @implementation - Use instancetype where applicable - Use dot notation for property access - Use subscript operator for dictionaries and arrays - Format selectors consistently - Use proper style for init methods - Use generics instead of void pointers where possible - Use "range for" loops instead of indexing - Replace or replace IBAction/IBOutlet with void Change-Id: I1667812a51d4dfe44ae80fe337cb1f4bc9699d92 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-02-161-9/+39
|\| | | | | | | | | | | | | Conflicts: src/corelib/tools/tools.pri Change-Id: I705630f9cecbf0ce51a22fc6116b8c49611259e9
| * Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-151-9/+39
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/corelib.pro src/corelib/global/qrandom.cpp src/network/access/qhttpnetworkrequest_p.h src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/cocoa/qcocoansmenu.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/offscreen/qoffscreenintegration.h src/widgets/kernel/qaction.cpp src/widgets/widgets.pro Done-with: Andy Shaw <andy.shaw@qt.io> Change-Id: Ib01547cf4184023f19858ccf0ce7fb824fed2a8d
| | * macOS: Share view update code between layered and non-layered modeTor Arne Vestbø2018-02-051-2/+6
| | | | | | | | | | | | | | | Change-Id: I8eaf0607c1ede18ed20180fd43cc93744c99962d Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * macOS: Handle update requests via setNeedsDisplay more carefullyTor Arne Vestbø2018-02-011-9/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of trying to detect situations where we need to send a real expose event instead of an update request in response to a drawRect call, we keep track of when we've asked the view to display due to a requestUpdate call, and only deliver the corresponding drawRect as an update request if no other code has asked the view to display. This should cover all cases of asking the view to display, issued from our code or from AppKit, such as the view changing its backing scale factor, or otherwise needing a real expose event. Task-number: QTBUG-65663 Change-Id: I1783787823aee889dad8e48f34a1cb0f1b7b06bd Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-02-131-4/+4
|\| | | | | | | | | | | Change-Id: Iaec2e57d6bf33355ddfa61d25133580a8740335f
| * | macOS: Add more granular logging categories for window eventsTor Arne Vestbø2018-02-131-4/+4
| | | | | | | | | | | | | | | Change-Id: I202e2cecfb5438ba9edc82efaf80b6ecebafb835 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | Cocoa: move setting of drag accepted stateMorten Johan Sørvig2018-02-071-4/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | performDragOperation:sender is called when an application window receives a drop, either from an application sourced drag or from a foreign drag. draggingSession:endedAtPoint:operation is called when an application sourced drag ends, either on an application window or on a foreign window. Update the drag accepted state when the session ends in order to handle DnD from the application to a non-application window. Task-number: QTBUG-63794 Change-Id: If3e16ed6a086c5d051e7390e3ecf16ea210221ad Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>