[PATCH 1/3] Profile: prevent a zoom glitch at maximum zoom level

Lubomir I. Ivanov neolit123 at gmail.com
Thu Jul 4 13:55:25 PDT 2013


From: "Lubomir I. Ivanov" <neolit123 at gmail.com>

The 'else if' condition in ProfileGraphicsView::wheelEvent()
is causing a zoom-in / zoom-out loop at zoomLevel = 10.

Signed-off-by: Lubomir I. Ivanov <neolit123 at gmail.com>
---
 qt-ui/profilegraphics.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/qt-ui/profilegraphics.cpp b/qt-ui/profilegraphics.cpp
index 543e0db..0fcac8a 100644
--- a/qt-ui/profilegraphics.cpp
+++ b/qt-ui/profilegraphics.cpp
@@ -78,10 +78,10 @@ void ProfileGraphicsView::wheelEvent(QWheelEvent* event)
 	QPoint toolTipPos = mapFromScene(toolTip->pos());
 
 	double scaleFactor = 1.15;
-	if (event->delta() > 0 && zoomLevel <= 10) {
+	if (event->delta() > 0 && zoomLevel < 10) {
 		scale(scaleFactor, scaleFactor);
 		zoomLevel++;
-	} else if (zoomLevel > 0) {
+	} else if (event->delta() < 0 && zoomLevel > 0) {
 		// Zooming out
 		scale(1.0 / scaleFactor, 1.0 / scaleFactor);
 		zoomLevel--;
-- 
1.7.11.msysgit.0



More information about the subsurface mailing list