aboutsummaryrefslogtreecommitdiffhomepage
path: root/qt/ScintillaEditBase/ScintillaQt.cpp
diff options
context:
space:
mode:
authorJustin Dailey <unknown>2017-07-04 09:54:16 +1000
committerJustin Dailey <unknown>2017-07-04 09:54:16 +1000
commitc4a0a44a6c02d9ea78c8c8aebe58f81b06998f60 (patch)
tree19e02a5da984f69c1580156ed8521a0c934995af /qt/ScintillaEditBase/ScintillaQt.cpp
parent31134f985d706f10c79aac22550670961ffeb510 (diff)
downloadscintilla-mirror-c4a0a44a6c02d9ea78c8c8aebe58f81b06998f60.tar.gz
Backport: Dropping files fires the SCN_URIDROPPED notification instead of inserting text.
Backport of changeset 6334:5ca0ae5097a1.
Diffstat (limited to 'qt/ScintillaEditBase/ScintillaQt.cpp')
-rw-r--r--qt/ScintillaEditBase/ScintillaQt.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/qt/ScintillaEditBase/ScintillaQt.cpp b/qt/ScintillaEditBase/ScintillaQt.cpp
index 54e5ccbde..73319bda8 100644
--- a/qt/ScintillaEditBase/ScintillaQt.cpp
+++ b/qt/ScintillaEditBase/ScintillaQt.cpp
@@ -401,6 +401,15 @@ void ScintillaQt::NotifyParent(SCNotification scn)
emit notifyParent(scn);
}
+void ScintillaQt::NotifyURIDropped(const char *uri)
+{
+ SCNotification scn = {};
+ scn.nmhdr.code = SCN_URIDROPPED;
+ scn.text = uri;
+
+ NotifyParent(scn);
+}
+
bool ScintillaQt::FineTickerRunning(TickReason reason)
{
return timers[reason] != 0;
@@ -748,6 +757,13 @@ void ScintillaQt::Drop(const Point &point, const QMimeData *data, bool move)
DropAt(movePos, bytes, len, move, rectangular);
}
+void ScintillaQt::DropUrls(const QMimeData *data)
+{
+ foreach(const QUrl &url, data->urls()) {
+ NotifyURIDropped(url.toString().toUtf8().constData());
+ }
+}
+
void ScintillaQt::timerEvent(QTimerEvent *event)
{
for (TickReason tr=tickCaret; tr<=tickDwell; tr = static_cast<TickReason>(tr+1)) {