┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2011-08-03 00:35:03 +0200
committerFrank Reininghaus <[email protected]>2011-08-03 00:44:29 +0200
commit354735786254d13a4df487d9fbd135384ae6c434 (patch)
tree544dc97ca256eb352212ee7e676f060080f67c83
parent71ccc7e36139dbd4c9beb2b1142d555d256feb6a (diff)
Update current item and anchor item on mouse clicks
-rw-r--r--src/kitemviews/kitemlistcontroller.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp
index 91fb86806..b58ddfae6 100644
--- a/src/kitemviews/kitemlistcontroller.cpp
+++ b/src/kitemviews/kitemlistcontroller.cpp
@@ -131,10 +131,17 @@ bool KItemListController::inputMethodEvent(QInputMethodEvent* event)
bool KItemListController::mousePressEvent(QGraphicsSceneMouseEvent* event, const QTransform& transform)
{
- Q_UNUSED(event);
- Q_UNUSED(transform);
const QPointF pos = transform.map(event->pos());
m_pressedIndex = m_view->itemAt(pos);
+
+ m_selectionManager->setCurrentItem(m_pressedIndex);
+
+ // The anchor for the current selection is updated except for Shift+LeftButton events
+ // (the current selection is continued with the previous anchor in that case).
+ if (!(event->buttons() & Qt::LeftButton && event->modifiers() & Qt::ShiftModifier)) {
+ m_selectionManager->setAnchorItem(m_pressedIndex);
+ }
+
return false;
}