]> cloud.milkyroute.net Git - dolphin.git/commitdiff
check whether the current index is valid and whether no other items are selected
authorPeter Penz <peter.penz19@gmail.com>
Sun, 9 Sep 2007 18:54:32 +0000 (18:54 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Sun, 9 Sep 2007 18:54:32 +0000 (18:54 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=710361

src/dolphindetailsview.cpp
src/dolphiniconsview.cpp

index dfd7018bb8b20e3ca326eb01871e7a062f531634..d7c8c5ab138cbf63c99eb914a0f7c5994ee6873f 100644 (file)
@@ -278,8 +278,14 @@ void DolphinDetailsView::paintEvent(QPaintEvent* event)
 void DolphinDetailsView::keyPressEvent(QKeyEvent* event)
 {
     QTreeView::keyPressEvent(event);
-    if (event->key() == Qt::Key_Return) {
-        m_controller->triggerItem(selectionModel()->currentIndex());
+
+    const QItemSelectionModel* selModel = selectionModel();
+    const QModelIndex currentIndex = selModel->currentIndex();
+    const bool triggerItem = currentIndex.isValid()
+                             && (event->key() == Qt::Key_Return)
+                             && (selModel->selectedIndexes().count() <= 1);
+    if (triggerItem) {
+        m_controller->triggerItem(currentIndex);
     }
 }
 
index ed2332c051ea35e19a7beec611ea556ac5d70cc5..d287318d01e6e7028c47a9729f0d231dd367fd97 100644 (file)
@@ -209,8 +209,14 @@ void DolphinIconsView::paintEvent(QPaintEvent* event)
 void DolphinIconsView::keyPressEvent(QKeyEvent* event)
 {
     KCategorizedView::keyPressEvent(event);
-    if (event->key() == Qt::Key_Return) {
-        m_controller->triggerItem(selectionModel()->currentIndex());
+
+    const QItemSelectionModel* selModel = selectionModel();
+    const QModelIndex currentIndex = selModel->currentIndex();
+    const bool triggerItem = currentIndex.isValid()
+                             && (event->key() == Qt::Key_Return)
+                             && (selModel->selectedIndexes().count() <= 1);
+    if (triggerItem) {
+        m_controller->triggerItem(currentIndex);
     }
 }