From 75834c223295b6b0e335521370c7c9a6cdca5664 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Mon, 15 Sep 2014 15:44:28 +0200 Subject: Fix drag and drop with createWindowContainer Forward dnd events to the QWindow, exactly like QQuickWidget would do. This of course requires setting setAcceptDrops(true) on the container widget. Task-number: QTBUG-39213 Change-Id: I8ea49e630b071dc0aacd53f798d9b46b03502365 Reviewed-by: Gunnar Sletta --- src/widgets/kernel/qwindowcontainer.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/widgets/kernel/qwindowcontainer.cpp b/src/widgets/kernel/qwindowcontainer.cpp index 1770e60c2e..fa906a5aa2 100644 --- a/src/widgets/kernel/qwindowcontainer.cpp +++ b/src/widgets/kernel/qwindowcontainer.cpp @@ -295,6 +295,17 @@ bool QWindowContainer::event(QEvent *e) } } break; + case QEvent::Drop: + case QEvent::DragMove: + case QEvent::DragLeave: + QCoreApplication::sendEvent(d->window, e); + return e->isAccepted(); + case QEvent::DragEnter: + // Don't reject drag events for the entire widget when one + // item rejects the drag enter + QCoreApplication::sendEvent(d->window, e); + e->accept(); + return true; default: break; } -- cgit v1.2.3