]> cloud.milkyroute.net Git - dolphin.git/commitdiff
SVN_SILENT: Minor simplificiation of the code. No change of behavior has been done.
authorPeter Penz <peter.penz19@gmail.com>
Mon, 11 Jan 2010 13:37:54 +0000 (13:37 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Mon, 11 Jan 2010 13:37:54 +0000 (13:37 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=1073046

src/dolphincontroller.cpp

index 0bbf0557a178d04f3bb7065524400cb74f66ddbc..caa0aa74faec9ca6b43eac62eb9f4349725b41db 100644 (file)
@@ -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());
         }
     }
 }