diff options
author | Knud Dollereder <knud.dollereder@qt.io> | 2022-12-09 16:39:53 +0100 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2022-12-09 17:59:51 +0000 |
commit | d59e35af1ade684b188c21744b6902a74b9be855 (patch) | |
tree | e2dcd16167ffb55fb8d25cf86ff17e91fcbe6829 | |
parent | c223af0101496395a38642876ed5bc4a0b3c4cfb (diff) |
QmlDesigner: Fix Navigation event filter for some Linuxe
Change-Id: I4d629c5ec6866e497949455ef3cd59a216ffdbb6
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
-rw-r--r-- | src/plugins/qmldesigner/components/componentcore/navigation2d.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/plugins/qmldesigner/components/componentcore/navigation2d.cpp b/src/plugins/qmldesigner/components/componentcore/navigation2d.cpp index 487f84229c..46c5b665f9 100644 --- a/src/plugins/qmldesigner/components/componentcore/navigation2d.cpp +++ b/src/plugins/qmldesigner/components/componentcore/navigation2d.cpp @@ -76,19 +76,19 @@ bool Navigation2dFilter::wheelEvent(QWheelEvent *event) bool zoomChangedConnected = QObject::isSignalConnected(zoomChangedSignal); if (zoomChangedConnected) { - const double globalMouseSpeed = - QmlDesignerPlugin::settings().value(DesignerSettingsKey::EDITOR_ZOOM_FACTOR).toDouble(); - - double speed = globalMouseSpeed/20.; - if (Utils::HostOsInfo::isMacHost()) - speed = 1.0/200.; - - if (QPointF delta = event->pixelDelta(); !delta.isNull()) { + double speed = 1.0 / 200.0; + bool isMac = Utils::HostOsInfo::isMacHost(); + if (QPointF delta = event->pixelDelta(); !delta.isNull() && isMac) { double dist = std::abs(delta.x()) > std::abs(delta.y()) ? -delta.x() : delta.y(); emit zoomChanged(dist * speed, event->position()); event->accept(); return true; } else if (QPointF delta = event->angleDelta(); !delta.isNull()) { + + const double globalMouseSpeed = + QmlDesignerPlugin::settings().value(DesignerSettingsKey::EDITOR_ZOOM_FACTOR).toDouble(); + speed = globalMouseSpeed / 20.0; + constexpr double degreePerStep = 15.; constexpr double stepCount = 8.; double dist = std::abs(delta.x()) > std::abs(delta.y()) ? -delta.x() : delta.y(); |