mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-11-24 11:45:53 +01:00
Fixed scroll wheel zooming on devices with "fine-resolution wheels"
This commit is contained in:
parent
5533f1e004
commit
6ffeefe9c9
@ -350,12 +350,12 @@ void GraphView::mousePressEvent(QMouseEvent *e)
|
|||||||
|
|
||||||
void GraphView::wheelEvent(QWheelEvent *e)
|
void GraphView::wheelEvent(QWheelEvent *e)
|
||||||
{
|
{
|
||||||
static int deg = 0;
|
static int deg8 = 0;
|
||||||
|
|
||||||
deg += e->angleDelta().y() / 8;
|
deg8 += e->angleDelta().y();
|
||||||
if (qAbs(deg) < 15)
|
if (qAbs(deg8) < (15 * 8))
|
||||||
return;
|
return;
|
||||||
deg = 0;
|
deg8 = deg8 % (15 * 8);
|
||||||
|
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
|
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
|
||||||
QPointF pos = mapToScene(e->pos());
|
QPointF pos = mapToScene(e->pos());
|
||||||
|
@ -586,17 +586,17 @@ void MapView::zoom(int zoom, const QPoint &pos, bool shift)
|
|||||||
|
|
||||||
void MapView::wheelEvent(QWheelEvent *event)
|
void MapView::wheelEvent(QWheelEvent *event)
|
||||||
{
|
{
|
||||||
static int deg = 0;
|
static int deg8 = 0;
|
||||||
bool shift = (event->modifiers() & MODIFIER) ? true : false;
|
bool shift = (event->modifiers() & MODIFIER) ? true : false;
|
||||||
// Shift inverts the wheel axis on OS X, so use scrolling in both axes for
|
// Shift inverts the wheel axis on OS X, so use scrolling in both axes for
|
||||||
// the zoom.
|
// the zoom.
|
||||||
int delta = event->angleDelta().y()
|
int delta = event->angleDelta().y()
|
||||||
? event->angleDelta().y() : event->angleDelta().x();
|
? event->angleDelta().y() : event->angleDelta().x();
|
||||||
|
|
||||||
deg += delta / 8;
|
deg8 += delta;
|
||||||
if (qAbs(deg) < 15)
|
if (qAbs(deg8) < (15 * 8))
|
||||||
return;
|
return;
|
||||||
deg = 0;
|
deg8 = deg8 % (15 * 8);
|
||||||
|
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
|
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
|
||||||
zoom((delta > 0) ? 1 : -1, event->pos(), shift);
|
zoom((delta > 0) ? 1 : -1, event->pos(), shift);
|
||||||
|
Loading…
Reference in New Issue
Block a user