diff panner.cpp @ 53:3c46b2ac45d3

* Put proper labels &c in changeset items; colour branches and users; etc
author Chris Cannam
date Fri, 12 Nov 2010 16:48:18 +0000
parents 996b3c4037ef
children 0e5fba6750c2
line wrap: on
line diff
--- a/panner.cpp	Fri Nov 12 11:32:01 2010 +0000
+++ b/panner.cpp	Fri Nov 12 16:48:18 2010 +0000
@@ -39,6 +39,7 @@
     setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     setOptimizationFlags(QGraphicsView::DontSavePainterState |
                          QGraphicsView::IndirectPainting);
+    setRenderHints(QPainter::Antialiasing);
     setMouseTracking(true);
     setInteractive(false);
 }
@@ -65,6 +66,12 @@
 
     connect(this, SIGNAL(pannedRectChanged(QRectF)),
             p, SLOT(slotSetPannedRect(QRectF)));
+
+    connect(this, SIGNAL(zoomIn()),
+            p, SLOT(zoomIn()));
+
+    connect(this, SIGNAL(zoomOut()),
+            p, SLOT(zoomOut()));
 }
 
 void
@@ -210,10 +217,17 @@
 void
 Panner::wheelEvent(QWheelEvent *e)
 {
-    if (e->delta() > 0) {
-        emit zoomOut();
+    int d = e->delta();
+    if (d > 0) {
+        while (d > 0) {
+            emit zoomOut();
+            d -= 120;
+        }
     } else {
-        emit zoomIn();
+        while (d < 0) {
+            emit zoomIn();
+            d += 120;
+        }
     }
 }