From 342489ea62dc04e088b90c2997a427e4add3c50b Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Thu, 15 Oct 2009 20:46:07 +0000 Subject: [PATCH] ignore the scroll event if the widget is totally scrolled svn path=/trunk/KDE/kdelibs/; revision=1035777 --- private/kineticscroll.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/private/kineticscroll.cpp b/private/kineticscroll.cpp index 5170166c7..605ef65f0 100644 --- a/private/kineticscroll.cpp +++ b/private/kineticscroll.cpp @@ -197,7 +197,19 @@ void KineticScrolling::wheelReleaseEvent(QGraphicsSceneWheelEvent *event) int temp = -event->delta(); - d->kinMovement.setY(kinMovement().y() + temp); + if ((event->delta() < 0 && d->canScroll(KineticScrollingPrivate::Down)) || + (event->delta() > 0 && d->canScroll(KineticScrollingPrivate::Up))){ + d->kinMovement.setY(kinMovement().y() + temp); + } else if (!d->canScroll(KineticScrollingPrivate::Down) && + !d->canScroll(KineticScrollingPrivate::Up)) { + if ((event->delta() < 0 && d->canScroll(KineticScrollingPrivate::Right)) || + (event->delta() > 0 && d->canScroll(KineticScrollingPrivate::Left))) { + d->kinMovement.setX(kinMovement().x() + temp); + } + } else { + event->ignore(); + return; + } startAnimationTimer(30); }