diff options
Diffstat (limited to 'src/experimental/qkineticlistcontroller.cpp')
-rw-r--r-- | src/experimental/qkineticlistcontroller.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/experimental/qkineticlistcontroller.cpp b/src/experimental/qkineticlistcontroller.cpp index 8935d95..5fca8b5 100644 --- a/src/experimental/qkineticlistcontroller.cpp +++ b/src/experimental/qkineticlistcontroller.cpp @@ -95,15 +95,12 @@ bool QtKineticListControllerPrivate::kineticUpdateOffset(qreal *offset, qreal ma const QSizeF viewSize = view->size(); const QPointF viewCenter(viewSize.width() / 2, viewSize.height() / 2); const int centerIndex = view->itemAt(viewCenter); - // ### this should be done in the view - get item geometry - if (QtGraphicsListViewItem *centerItem = view->itemForIndex(centerIndex)) { - const QPointF itemCenter = centerItem->geometry().center(); - const QPointF delta = viewCenter - itemCenter; - if (view->orientation() == Qt::Horizontal) - scrollVelocity += l * delta.x(); - else - scrollVelocity += l * delta.y(); - } + const QPointF itemCenter = view->itemGeometry(centerIndex).center(); + const QPointF delta = viewCenter - itemCenter; + if (view->orientation() == Qt::Horizontal) + scrollVelocity += l * delta.x(); + else + scrollVelocity += l * delta.y(); scrollVelocity *= frictionFactor; return true; } |