From 6d9a3c0119bfdc9fa7453064e1ffed780c19bcb4 Mon Sep 17 00:00:00 2001 From: Timur Pocheptsov Date: Thu, 14 Apr 2016 10:36:23 +0200 Subject: QMacPinchGestureRecognizer - fix totalScaleFactor Set totalScaleFactor on a pinch gesture (OS X) so that it works the same way as in 'standard' gesture recognizer and corresponds to what we document. [ChangeLog][QtWidgets] : QPinchGesture on OS X now behaves like on other platforms: totalScaleFactor is the magnitude of the pinch and scaleFactor is the delta for the current event. Task-number: QTBUG-48138 Change-Id: I66b9a1df05cbe106b76aed8f15d900bcdd41fdb7 Reviewed-by: Timur Pocheptsov --- src/widgets/kernel/qmacgesturerecognizer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/widgets/kernel/qmacgesturerecognizer.cpp b/src/widgets/kernel/qmacgesturerecognizer.cpp index 9f55e23cee..a87d8fdf0b 100644 --- a/src/widgets/kernel/qmacgesturerecognizer.cpp +++ b/src/widgets/kernel/qmacgesturerecognizer.cpp @@ -115,7 +115,8 @@ QMacPinchGestureRecognizer::recognize(QGesture *gesture, QObject *obj, QEvent *e case Qt::ZoomNativeGesture: g->setLastScaleFactor(g->scaleFactor()); g->setLastRotationAngle(g->rotationAngle()); - g->setScaleFactor(g->scaleFactor() * (1 + ev->value())); + g->setScaleFactor(1 + ev->value()); + g->setTotalScaleFactor(g->totalScaleFactor() * g->scaleFactor()); g->setChangeFlags(QPinchGesture::ScaleFactorChanged); g->setTotalChangeFlags(g->totalChangeFlags() | g->changeFlags()); g->setHotSpot(ev->screenPos()); -- cgit v1.2.3