Browse Source

bugfix: QUrl adds extra %0A to the copied url

Let the base class handle inserting urls.

Signed-off-by: Le Tan <[email protected]>
Le Tan 9 years ago
parent
commit
f533dd6f95
1 changed files with 17 additions and 13 deletions
  1. 17 13
      src/vmdeditoperations.cpp

+ 17 - 13
src/vmdeditoperations.cpp

@@ -145,19 +145,23 @@ bool VMdEditOperations::insertImageFromURL(const QUrl &imageUrl)
 
 bool VMdEditOperations::insertURLFromMimeData(const QMimeData *source)
 {
-    foreach (QUrl url, source->urls()) {
-        QString urlStr;
-        if (url.isLocalFile()) {
-            urlStr = url.toLocalFile();
-        } else {
-            urlStr = url.toString();
-        }
-        QFileInfo info(urlStr);
-        if (QImageReader::supportedImageFormats().contains(info.suffix().toLower().toLatin1())) {
-            insertImageFromURL(url);
-        } else {
-            insertTextAtCurPos(urlStr);
-        }
+    QList<QUrl> urls = source->urls();
+    if (urls.size() != 1) {
+        return false;
+    }
+    QUrl url = urls.at(0);
+    QString urlStr;
+    if (url.isLocalFile()) {
+        urlStr = url.toLocalFile();
+    } else {
+        urlStr = url.toString();
+    }
+    QFileInfo info(urlStr);
+    if (QImageReader::supportedImageFormats().contains(info.suffix().toLower().toLatin1())) {
+        insertImageFromURL(url);
+    } else {
+        // urlStr will contain extra %0A. Let the base method handle.
+        return false;
     }
     return true;
 }