From 1c209d423fd6492fa12d589a70ba14ae7f2461ed Mon Sep 17 00:00:00 2001 From: wandererfan Date: Fri, 22 Feb 2019 19:43:45 -0500 Subject: [PATCH] Implment ctl+/- zoomin on Page --- src/Mod/TechDraw/Gui/QGVPage.cpp | 21 +++++++++++++++++++++ src/Mod/TechDraw/Gui/QGVPage.h | 2 ++ 2 files changed, 23 insertions(+) diff --git a/src/Mod/TechDraw/Gui/QGVPage.cpp b/src/Mod/TechDraw/Gui/QGVPage.cpp index cc2b861028..c613a8e7db 100644 --- a/src/Mod/TechDraw/Gui/QGVPage.cpp +++ b/src/Mod/TechDraw/Gui/QGVPage.cpp @@ -112,6 +112,7 @@ QGVPage::QGVPage(ViewProviderPage *vp, QGraphicsScene* s, QWidget *parent) .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("View"); m_atCursor = hGrp->GetBool("ZoomAtCursor", 1l); m_invertZoom = hGrp->GetBool("InvertZoom", 0l); + m_zoomIncrement = hGrp->GetFloat("ZoomStep",0.02); if (m_atCursor) { setResizeAnchor(AnchorUnderMouse); @@ -712,6 +713,26 @@ void QGVPage::wheelEvent(QWheelEvent *event) event->accept(); } +void QGVPage::keyPressEvent(QKeyEvent *event) +{ + if(event->modifiers().testFlag(Qt::ControlModifier)) { + switch(event->key()) { + case Qt::Key_Plus: { + scale(1.0 + m_zoomIncrement, 1.0 + m_zoomIncrement); + break; + } + case Qt::Key_Minus: { + scale(1.0 - m_zoomIncrement, 1.0 - m_zoomIncrement); + break; + } + default: { + break; + } + } + } + event->accept(); +} + void QGVPage::enterEvent(QEvent *event) { QGraphicsView::enterEvent(event); diff --git a/src/Mod/TechDraw/Gui/QGVPage.h b/src/Mod/TechDraw/Gui/QGVPage.h index 252f7cb9d2..5e26b0e9a5 100644 --- a/src/Mod/TechDraw/Gui/QGVPage.h +++ b/src/Mod/TechDraw/Gui/QGVPage.h @@ -113,6 +113,7 @@ protected: void enterEvent(QEvent *event); void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); + void keyPressEvent(QKeyEvent *event) override; static QColor SelectColor; static QColor PreselectColor; @@ -132,6 +133,7 @@ private: bool m_atCursor; bool m_invertZoom; + double m_zoomIncrement; }; } // namespace MDIViewPageGui