diff options
Diffstat (limited to 'src/kitemviews/kitemlistcontroller.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistcontroller.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp index e87ed3c18..b1927fc71 100644 --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -604,6 +604,10 @@ bool KItemListController::mousePressEvent(QGraphicsSceneMouseEvent *event, const const Qt::MouseButtons buttons = event->buttons(); + if (!m_pressedIndex.has_value()) { + Q_EMIT clickViewBackground(event->button()); + } + if (!onPress(event->pos(), event->modifiers(), buttons)) { startRubberBand(); return false; @@ -873,7 +877,7 @@ bool KItemListController::dragMoveEvent(QGraphicsSceneDragDropEvent *event, cons } else { m_autoActivationTimer->stop(); - if (newHoveredWidget && newHoveredWidget->isHovered()) { + if (newHoveredWidget->isHovered()) { newHoveredWidget->setHovered(false); Q_EMIT itemUnhovered(index); } @@ -1807,7 +1811,7 @@ bool KItemListController::onRelease(const QPointF &pos, const Qt::KeyboardModifi return true; } - if (!isAboveSelectionToggle && m_selectionTogglePressed) { + if (m_selectionTogglePressed) { m_selectionManager->setSelected(m_pressedIndex.value_or(-1), 1, KItemListSelectionManager::Toggle); m_selectionTogglePressed = false; return true; |
