From a2ca089cfdbb851bdea34f73596f9551b44ad05d Mon Sep 17 00:00:00 2001 From: Jordan Lee Date: Sun, 9 Jun 2013 20:18:47 +0000 Subject: [PATCH] (trunk, qt) #5374 handle multifile drag-and-drop in Qt client, patch by kernel_daemon --- qt/mainwin.cc | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/qt/mainwin.cc b/qt/mainwin.cc index b624e9fec..ab9b08795 100644 --- a/qt/mainwin.cc +++ b/qt/mainwin.cc @@ -1407,13 +1407,24 @@ TrMainWindow :: dragEnterEvent (QDragEnterEvent * event) void TrMainWindow :: dropEvent (QDropEvent * event) { - QString key = event->mimeData ()->text ().trimmed (); + const QStringList list = event->mimeData()->text().trimmed().split('\n'); - const QUrl url (key); - if (url.scheme () == "file") - key = QUrl::fromPercentEncoding (url.path ().toUtf8 ()); + foreach (QString entry, list) + { + QString key = entry.trimmed(); - dynamic_cast (QApplication::instance ())->addTorrent (key); + if (!key.isEmpty()) + { + const QUrl url (key); + + if (url.scheme () == "file") + key = QUrl::fromPercentEncoding (url.path().toUtf8()); + + dynamic_cast (QApplication::instance ())->addTorrent (key); + } + } + + qDebug() << "Added " << list.size() << " entries."; } /***