┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dolphinviewcontroller.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/dolphinviewcontroller.cpp b/src/dolphinviewcontroller.cpp
index 4ce83f968..6ef32f07f 100644
--- a/src/dolphinviewcontroller.cpp
+++ b/src/dolphinviewcontroller.cpp
@@ -21,6 +21,7 @@
#include "zoomlevelinfo.h"
#include <kdirmodel.h>
+#include <kfileitemactions.h>
#include <QAbstractProxyModel>
#include <QApplication>
#include <QClipboard>
@@ -138,19 +139,24 @@ void DolphinViewController::handleKeyPressEvent(QKeyEvent* event)
return;
}
- // Emit the signal itemTriggered() for all selected files.
+ // Collect the non-directory files into a list and
+ // call runPreferredApplications for that list.
// Several selected directories are opened in separate tabs,
// one selected directory will get opened in the view.
QModelIndexList dirQueue;
const QModelIndexList indexList = selModel->selectedIndexes();
+ KFileItemList fileOpenList;
foreach (const QModelIndex& index, indexList) {
if (itemForIndex(index).isDir()) {
dirQueue << index;
} else {
- emit itemTriggered(itemForIndex(index));
+ fileOpenList << itemForIndex(index);
}
}
+ KFileItemActions fileItemActions;
+ fileItemActions.runPreferredApplications(fileOpenList, "DesktopEntryName != 'dolphin'");
+
if (dirQueue.length() == 1) {
// open directory in the view
emit itemTriggered(itemForIndex(dirQueue[0]));