]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/dolphinview.cpp
When pasting a folder and expanding it, do not select its children
[dolphin.git] / src / views / dolphinview.cpp
index fa43656c1483a1d2553a4fbc8a36a7c414bab2c1..20bc9f522534feaa5faab871e63180617a5b8ef2 100644 (file)
@@ -1054,7 +1054,7 @@ void DolphinView::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* even
     if (op && destUrl == url()) {
         // Mark the dropped urls as selected.
         m_clearSelectionBeforeSelectingNewItems = true;
-        connect(op, SIGNAL(urlPasted(KUrl)), this, SLOT(slotUrlPasted(KUrl)));
+        connect(op, SIGNAL(aboutToCreate(KUrl::List)), this, SLOT(slotAboutToCreate(KUrl::List)));
     }
 
     setActive(true);
@@ -1099,7 +1099,7 @@ void DolphinView::slotAboutToCreate(const KUrl::List& urls)
             markUrlAsCurrent(urls.first());
             m_markFirstNewlySelectedItemAsCurrent = false;
         }
-        m_selectedUrls << urls;
+        m_selectedUrls << KDirModel::simplifiedUrlList(urls);
     }
 }
 
@@ -1254,10 +1254,13 @@ KUrl DolphinView::openItemAsFolderUrl(const KFileItem& item, const bool browseTh
         }
 
         if (mimetype == QLatin1String("application/x-desktop")) {
-            // Redirect to the URL in Type=Link desktop files
+            // Redirect to the URL in Type=Link desktop files, unless it is a http(s) URL.
             KDesktopFile desktopFile(url.toLocalFile());
             if (desktopFile.hasLinkType()) {
-                return desktopFile.readUrl();
+                const QString linkUrl = desktopFile.readUrl();
+                if (!linkUrl.startsWith(QLatin1String("http"))) {
+                    return linkUrl;
+                }
             }
         }
     }