Implment ctl+/- zoomin on Page
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user