diff options
author | J-P Nurmi <jpnurmi@digia.com> | 2013-05-08 17:40:35 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-05-13 13:29:48 +0200 |
commit | 00859fe32f90154bb934644ec067d4406a8aa821 (patch) | |
tree | 46a4b763344ed663e611a21145ad90e15e7c651b /src/plugins/platforms | |
parent | b8a73f96daa04969644c0730f7bcaa4be8e8c999 (diff) |
Cocoa DND: respect QDropEvent::setDropAction()
Task-number: QTBUG-31061
Change-Id: Id3275a0510bfa619a52d17cf48a3e48b3bae5354
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r-- | src/plugins/platforms/cocoa/qnsview.mm | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index 7868d058ae..3fbe06f555 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -1331,14 +1331,17 @@ static QTouchDevice *touchDevice = 0; QCocoaDropData mimeData([sender draggingPasteboard]); response = QWindowSystemInterface::handleDrop(m_window, &mimeData, qt_windowPoint, qtAllowed); } + if (response.isAccepted()) { + QCocoaDrag* nativeDrag = static_cast<QCocoaDrag *>(QGuiApplicationPrivate::platformIntegration()->drag()); + nativeDrag->setAcceptedAction(response.acceptedAction()); + } return response.isAccepted(); } - (void)draggedImage:(NSImage*) img endedAt:(NSPoint) point operation:(NSDragOperation) operation { Q_UNUSED(img); - QCocoaDrag* nativeDrag = static_cast<QCocoaDrag *>(QGuiApplicationPrivate::platformIntegration()->drag()); - nativeDrag->setAcceptedAction(qt_mac_mapNSDragOperation(operation)); + Q_UNUSED(operation); // keep our state, and QGuiApplication state (buttons member) in-sync, // or future mouse events will be processed incorrectly |