[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu/kgeography/src
From: Laurent Garnier <lauranger () free ! fr>
Date: 2008-04-13 20:44:29
Message-ID: 1208119469.000259.27822.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 796593 by lauranger:
BUG:154556 partial; added moving with mid button, horizontal pan with shift wheel and \
zoom with ctrl-wheel
M +25 -0 mapwidget.cpp
M +1 -0 mapwidget.h
--- trunk/KDE/kdeedu/kgeography/src/mapwidget.cpp #796592:796593
@@ -20,6 +20,7 @@
#include <kdebug.h>
#include <klocale.h>
+#include <math.h>
mapWidget::mapWidget(QWidget *parent) : QGraphicsView(parent)
{
@@ -182,6 +183,30 @@
}
}
+void mapWidget::wheelEvent(QWheelEvent *e)
+{
+ if ( e->modifiers() == Qt::NoModifier )
+ {
+ int delta = e->delta();
+ verticalScrollBar()->setValue(verticalScrollBar()->value() - delta);
+ }
+ else if ( e->modifiers() == Qt::ShiftModifier )
+ {
+ int delta = e->delta();
+ horizontalScrollBar()->setValue(horizontalScrollBar()->value() + delta);
+ }
+ else if ( e->modifiers() == Qt::ControlModifier )
+ {
+ int delta = e->delta();
+ if ( delta != 0 )
+ {
+ qreal rescale = pow(2, qreal(delta/120)/2.0);
+ QMatrix m(rescale, 0, 0, rescale, 0, 0);
+ setMatrix(m, true);
+ }
+ }
+}
+
void mapWidget::setAutomaticZoom(bool automaticZoom)
{
if (!automaticZoom) setOriginalImage();
--- trunk/KDE/kdeedu/kgeography/src/mapwidget.h #796592:796593
@@ -43,6 +43,7 @@
void mousePressEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseEvent *e);
+ void wheelEvent(QWheelEvent *e);
void resizeEvent(QResizeEvent *e);
void drawBackground(QPainter *painter, const QRectF &rect);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic