Implment ctl+/- zoomin on Page

This commit is contained in:
wandererfan
2019-02-22 19:43:45 -05:00
committed by wmayer
parent f572207cdf
commit 1c209d423f
2 changed files with 23 additions and 0 deletions

View File

@@ -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);

View File

@@ -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