]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Update the current item during rubber band selections
authorFrank Reininghaus <frank78ac@googlemail.com>
Sat, 3 Dec 2011 17:09:34 +0000 (18:09 +0100)
committerFrank Reininghaus <frank78ac@googlemail.com>
Sat, 3 Dec 2011 17:09:34 +0000 (18:09 +0100)
src/kitemviews/kitemlistcontroller.cpp

index 746df4d1dcb5cc1db7b19a6bc8ecaddd37eb1985..9bd65dc2e601d276d52bc842bce72c875f1e5582 100644 (file)
@@ -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) {