┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/draganddrophelper.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2012-02-08 15:16:35 +0100
committerPeter Penz <[email protected]>2012-02-08 17:48:28 +0100
commit3c83d8f14defbec5f09aeeb78de3885535d2dc71 (patch)
treea77b5eb1bc146c2ad486c57be6624c7cc1a7d617 /src/views/draganddrophelper.cpp
parenta3a19f4a06b41ac4d89fb1024a9e5d5cb420691d (diff)
Drag and drop: Adjust destination if the item is no directory or desktop-file
The URL of the view should be used as destination target if a dropping is not done above a directory or desktop-file. BUG: 293511 FIXED-IN: 4.8.1
Diffstat (limited to 'src/views/draganddrophelper.cpp')
-rw-r--r--src/views/draganddrophelper.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/views/draganddrophelper.cpp b/src/views/draganddrophelper.cpp
index 83673ad72..2cd1e86e0 100644
--- a/src/views/draganddrophelper.cpp
+++ b/src/views/draganddrophelper.cpp
@@ -41,15 +41,18 @@ QString DragAndDropHelper::dropUrls(const KFileItem& destItem, const KUrl& destU
"org.kde.DndExtract", "extractSelectedFilesTo");
message.setArguments(QVariantList() << destUrl.pathOrUrl());
QDBusConnection::sessionBus().call(message);
- } else {
+ } else if (!destItem.isNull() && (destItem.isDir() || destItem.isDesktopFile())) {
+ // Drop into a directory or a desktop-file
const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData());
foreach (const KUrl& url, urls) {
if (url == destUrl) {
return i18nc("@info:status", "A folder cannot be dropped into itself");
}
}
-
+
KonqOperations::doDrop(destItem, destUrl, event, QApplication::activeWindow());
+ } else {
+ KonqOperations::doDrop(KFileItem(), destUrl, event, QApplication::activeWindow());
}
return QString();