diff --git a/src/Mod/TechDraw/Gui/QGVNavStyleTouchpad.cpp b/src/Mod/TechDraw/Gui/QGVNavStyleTouchpad.cpp index 61d1773195..90c430ce14 100644 --- a/src/Mod/TechDraw/Gui/QGVNavStyleTouchpad.cpp +++ b/src/Mod/TechDraw/Gui/QGVNavStyleTouchpad.cpp @@ -121,10 +121,18 @@ void QGVNavStyleTouchpad::handleMouseMoveEvent(QMouseEvent *event) void QGVNavStyleTouchpad::setAnchor() { - //this navigation style can not anchor under mouse since mouse is moving as part of zoom action - if (m_viewer) { - m_viewer->setResizeAnchor(QGraphicsView::AnchorViewCenter); - m_viewer->setTransformationAnchor(QGraphicsView::AnchorViewCenter); + if (QGuiApplication::keyboardModifiers().testFlag(Qt::ControlModifier) + && QGuiApplication::keyboardModifiers().testFlag(Qt::ShiftModifier)) { + // this navigation style can not anchor under mouse when zooming with Ctrl + Shift since + // mouse is moving as part of zoom action + + if (m_viewer) { + m_viewer->setResizeAnchor(QGraphicsView::AnchorViewCenter); + m_viewer->setTransformationAnchor(QGraphicsView::AnchorViewCenter); + } + } + else { + QGVNavStyle::setAnchor(); } }