From: Frank Reininghaus Date: Sat, 3 Dec 2011 17:09:34 +0000 (+0100) Subject: Update the current item during rubber band selections X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/27339e15c6f18e0f4b250995b384ae648657d8e4 Update the current item during rubber band selections --- diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp index 746df4d1d..9bd65dc2e 100644 --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -460,6 +460,16 @@ bool KItemListController::mouseMoveEvent(QGraphicsSceneMouseEvent* event, const KItemListRubberBand* rubberBand = m_view->rubberBand(); if (rubberBand->isActive()) { QPointF endPos = transform.map(event->pos()); + + // Update the current item. + const int newCurrent = m_view->itemAt(endPos); + if (newCurrent >= 0) { + // It's expected that the new current index is also the new anchor (bug 163451). + m_selectionManager->endAnchoredSelection(); + m_selectionManager->setCurrentItem(newCurrent); + m_selectionManager->beginAnchoredSelection(newCurrent); + } + if (m_view->scrollOrientation() == Qt::Vertical) { endPos.ry() += m_view->scrollOffset(); if (m_view->itemSize().width() < 0) {