From 8918bc9ca9d996d87f30a38fadfe3ae1dd180a5d Mon Sep 17 00:00:00 2001 From: Justin Dailey Date: Tue, 4 Jul 2017 09:54:16 +1000 Subject: Dropping files fires the SCN_URIDROPPED notification instead of inserting text. --- qt/ScintillaEditBase/ScintillaEditBase.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'qt/ScintillaEditBase/ScintillaEditBase.cpp') diff --git a/qt/ScintillaEditBase/ScintillaEditBase.cpp b/qt/ScintillaEditBase/ScintillaEditBase.cpp index dabdce105..bfd9ddd14 100644 --- a/qt/ScintillaEditBase/ScintillaEditBase.cpp +++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp @@ -376,7 +376,9 @@ void ScintillaEditBase::contextMenuEvent(QContextMenuEvent *event) void ScintillaEditBase::dragEnterEvent(QDragEnterEvent *event) { - if (event->mimeData()->hasText()) { + if (event->mimeData()->hasUrls()) { + event->acceptProposedAction(); + } else if (event->mimeData()->hasText()) { event->acceptProposedAction(); Point point = PointFromQPoint(event->pos()); @@ -393,7 +395,9 @@ void ScintillaEditBase::dragLeaveEvent(QDragLeaveEvent * /* event */) void ScintillaEditBase::dragMoveEvent(QDragMoveEvent *event) { - if (event->mimeData()->hasText()) { + if (event->mimeData()->hasUrls()) { + event->acceptProposedAction(); + } else if (event->mimeData()->hasText()) { event->acceptProposedAction(); Point point = PointFromQPoint(event->pos()); @@ -405,7 +409,10 @@ void ScintillaEditBase::dragMoveEvent(QDragMoveEvent *event) void ScintillaEditBase::dropEvent(QDropEvent *event) { - if (event->mimeData()->hasText()) { + if (event->mimeData()->hasUrls()) { + event->acceptProposedAction(); + sqt->DropUrls(event->mimeData()); + } else if (event->mimeData()->hasText()) { event->acceptProposedAction(); Point point = PointFromQPoint(event->pos()); @@ -746,7 +753,7 @@ void ScintillaEditBase::notifyParent(SCNotification scn) break; case SCN_URIDROPPED: - emit uriDropped(); + emit uriDropped(QString::fromUtf8(scn.text)); break; case SCN_DWELLSTART: -- cgit v1.2.3