[TD]use QGraphicsView anchor for zoom
This commit is contained in:
@@ -287,13 +287,9 @@ void QGVNavStyle::handleWheelEvent(QWheelEvent *event)
|
||||
|
||||
void QGVNavStyle::zoom(double factor)
|
||||
{
|
||||
QPoint center = getViewer()->viewport()->rect().center();
|
||||
setAnchor();
|
||||
getViewer()->scale(factor,
|
||||
factor);
|
||||
|
||||
QPoint newCenter = getViewer()->viewport()->rect().center();
|
||||
QPoint change = newCenter - center;
|
||||
getViewer()->translate(change.x(), change.y());
|
||||
m_zoomPending = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -47,14 +47,12 @@ void QGVNavStyleTouchpad::handleKeyPressEvent(QKeyEvent *event)
|
||||
{
|
||||
// Q_UNUSED(event)
|
||||
if (event->key() == Qt::Key_PageUp) {
|
||||
setAnchor();
|
||||
zoom(1.0 + zoomStep);
|
||||
event->accept();
|
||||
return;
|
||||
}
|
||||
|
||||
if (event->key() == Qt::Key_PageDown) {
|
||||
setAnchor();
|
||||
zoom(1.0 - zoomStep);
|
||||
event->accept();
|
||||
return;
|
||||
@@ -101,7 +99,6 @@ void QGVNavStyleTouchpad::handleMouseMoveEvent(QMouseEvent *event)
|
||||
QGuiApplication::keyboardModifiers().testFlag(Qt::ShiftModifier) ) {
|
||||
//if control and shift are down, then we are zooming
|
||||
if (zoomingActive) {
|
||||
setAnchor();
|
||||
zoom(mouseZoomFactor(event->pos()));
|
||||
} else {
|
||||
startZoom(event->pos());
|
||||
|
||||
Reference in New Issue
Block a user