]> granicus.if.org Git - transmission/commitdiff
(trunk, qt) #5374: add url support for dragging-and-dropping multiple URLs into trans...
authorJordan Lee <jordan@transmissionbt.com>
Wed, 26 Jun 2013 01:48:47 +0000 (01:48 +0000)
committerJordan Lee <jordan@transmissionbt.com>
Wed, 26 Jun 2013 01:48:47 +0000 (01:48 +0000)
qt/mainwin.cc

index ab9b087951271ce5974eb8b73e73123d31a6046c..aa31133e736331e6612bac9aef9584be8043bf92 100644 (file)
@@ -1399,6 +1399,7 @@ TrMainWindow :: dragEnterEvent (QDragEnterEvent * event)
   const QMimeData * mime = event->mimeData ();
 
   if (mime->hasFormat ("application/x-bittorrent")
+        || mime->hasUrls()
         || mime->text ().trimmed ().endsWith (".torrent", Qt::CaseInsensitive)
         || mime->text ().startsWith ("magnet:", Qt::CaseInsensitive))
     event->acceptProposedAction ();
@@ -1407,7 +1408,17 @@ TrMainWindow :: dragEnterEvent (QDragEnterEvent * event)
 void
 TrMainWindow :: dropEvent (QDropEvent * event)
 {
-  const QStringList list = event->mimeData()->text().trimmed().split('\n');
+  QStringList list;
+
+  if (event->mimeData()->hasText())
+    {
+      list = event->mimeData()->text().trimmed().split('\n');
+    }
+  else if (event->mimeData()->hasUrls())
+    {
+      foreach (QUrl url, event->mimeData()->urls())
+        list.append(url.toLocalFile());
+    }
 
   foreach (QString entry, list)
     {
@@ -1423,8 +1434,6 @@ TrMainWindow :: dropEvent (QDropEvent * event)
           dynamic_cast<MyApp*> (QApplication::instance ())->addTorrent (key);
         }
     }
-
-  qDebug() << "Added " << list.size() << " entries.";
 }
 
 /***