┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKai Uwe Broulik <[email protected]>2026-01-29 17:20:21 +0100
committerKai Uwe Broulik <[email protected]>2026-02-01 17:33:06 +0000
commit7d0bbe06dc6e3f69144a5a2c4c697e2d8d0681ec (patch)
tree9cb153f0ea3a1993e6a1401047afcc9bedf90acd /src
parent66b466443db933354c5f3e7aeaa30f754860ec21 (diff)
Support drop onto executable to run it
We already support dropping onto desktop files. This is also something that KDirOperator did but Dolphin does not.
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kfileitemmodel.cpp2
-rw-r--r--src/views/dolphinview.cpp2
-rw-r--r--src/views/draganddrophelper.cpp2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp
index 0958e921f..e4ac1dba0 100644
--- a/src/kitemviews/kfileitemmodel.cpp
+++ b/src/kitemviews/kfileitemmodel.cpp
@@ -387,7 +387,7 @@ bool KFileItemModel::canEnterOnHover(int index) const
} else {
item = fileItem(index);
}
- return !item.isNull() && (item.isDir() || item.isDesktopFile());
+ return !item.isNull() && (item.isDir() || item.isDesktopFile() || (item.isFile() && item.isLocalFile() && item.isExecutable()));
}
QString KFileItemModel::roleDescription(const QByteArray &role) const
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index 9ade1e5e9..ec012c679 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -1404,7 +1404,7 @@ void DolphinView::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent *even
{
QUrl destUrl;
KFileItem destItem = m_model->fileItem(index);
- if (destItem.isNull() || (!destItem.isDir() && !destItem.isDesktopFile())) {
+ if (destItem.isNull() || (!destItem.isDir() && !destItem.isDesktopFile() && !destItem.isExecutable())) {
// Use the URL of the view as drop target if the item is no directory
// or desktop-file
destItem = m_model->rootItem();
diff --git a/src/views/draganddrophelper.cpp b/src/views/draganddrophelper.cpp
index 7b9949df4..7b0e8ef66 100644
--- a/src/views/draganddrophelper.cpp
+++ b/src/views/draganddrophelper.cpp
@@ -70,7 +70,7 @@ KIO::DropJob *DragAndDropHelper::dropUrls(const QUrl &destUrl, QDropEvent *event
bool DragAndDropHelper::supportsDropping(const KFileItem &destItem)
{
- return (destItem.isDir() && destItem.isWritable()) || destItem.isDesktopFile();
+ return (destItem.isDir() && destItem.isWritable()) || destItem.isDesktopFile() || (destItem.isFile() && destItem.isLocalFile() && destItem.isExecutable());
}
void DragAndDropHelper::updateDropAction(QDropEvent *event, const QUrl &destUrl)