┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphincontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dolphincontroller.cpp')
-rw-r--r--src/dolphincontroller.cpp48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/dolphincontroller.cpp b/src/dolphincontroller.cpp
index 0bbf0557a..caa0aa74f 100644
--- a/src/dolphincontroller.cpp
+++ b/src/dolphincontroller.cpp
@@ -171,32 +171,32 @@ void DolphinController::handleKeyPressEvent(QKeyEvent* event)
const QItemSelectionModel* selModel = m_itemView->selectionModel();
const QModelIndex currentIndex = selModel->currentIndex();
const bool trigger = currentIndex.isValid()
- && ((event->key() == Qt::Key_Return)
- || (event->key() == Qt::Key_Enter))
+ && ((event->key() == Qt::Key_Return) || (event->key() == Qt::Key_Enter))
&& !selModel->selectedIndexes().isEmpty();
- if (trigger) {
- QModelIndexList dirQueue;
- const QModelIndexList indexList = selModel->selectedIndexes();
- foreach (const QModelIndex& index, indexList) {
- // Trigger non-directories immediately.
- if (!itemForIndex(index).isDir()) {
- emit itemTriggered(itemForIndex(index));
- } else {
- // Keep storing the directory indexes for trigger later.
- dirQueue << index;
- }
+ if (!trigger) {
+ return;
+ }
+
+ // Emit the signal itemTriggered() for all selected files.
+ // Several selected directories are opened in separate tabs,
+ // one selected directory will get opened in the view.
+ QModelIndexList dirQueue;
+ const QModelIndexList indexList = selModel->selectedIndexes();
+ foreach (const QModelIndex& index, indexList) {
+ if (itemForIndex(index).isDir()) {
+ dirQueue << index;
+ } else {
+ emit itemTriggered(itemForIndex(index));
}
- // Trigger directories - Tabs if multiple, else normal.
- if (!dirQueue.isEmpty()) {
- if (dirQueue.length() == 1) {
- // For single directory selection, open normally.
- emit itemTriggered(itemForIndex(dirQueue[0]));
- } else {
- foreach(const QModelIndex& dir, dirQueue) {
- // Since its a valid directory - open a tab.
- emit tabRequested(itemForIndex(dir).url());
- }
- }
+ }
+
+ if (dirQueue.length() == 1) {
+ // open directory in the view
+ emit itemTriggered(itemForIndex(dirQueue[0]));
+ } else {
+ // open directories in separate tabs
+ foreach(const QModelIndex& dir, dirQueue) {
+ emit tabRequested(itemForIndex(dir).url());
}
}
}