]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemlistcontroller.cpp
KItemListController: don't create rubber band for a right click in an empty region
[dolphin.git] / src / kitemviews / kitemlistcontroller.cpp
index 71c37a7aff00057a91d9db4815bee17b8399c451..2cda2987b14c378fff91ea3011dc2a79ee40b029 100644 (file)
@@ -712,8 +712,11 @@ bool KItemListController::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event,
         return false;
     }
 
-    bool emitItemActivated = !(m_view->style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick) || m_singleClickActivationEnforced)
-        && (event->button() & Qt::LeftButton) && index.has_value() && index.value() < m_model->count();
+    if (m_view->style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick) || m_singleClickActivationEnforced) {
+        return false;
+    }
+
+    const bool emitItemActivated = index.has_value() && index.value() < m_model->count() && !m_view->isAboveExpansionToggle(index.value(), pos);
     if (emitItemActivated) {
         Q_EMIT itemActivated(index.value());
     }
@@ -1695,6 +1698,11 @@ bool KItemListController::onPress(const QPointF &pos, const Qt::KeyboardModifier
             rubberBand->setActive(false);
             m_view->setAutoScroll(false);
         }
+
+        if (!m_pressedIndex.has_value()) {
+            // We have a right-click in an empty region, don't create rubber band.
+            return true;
+        }
     }
 
     if (m_pressedIndex.has_value()) {