From 8b8fbde300b9bc3d7790593d9a5b01c97fb86c51 Mon Sep 17 00:00:00 2001 From: Aleksei Kanash Date: Tue, 7 Aug 2012 15:06:22 +0300 Subject: [PATCH] SANKORE-343. Maximum zoom was limited to 9. --- src/board/UBBoardController.cpp | 11 +++++++++-- src/core/UB.h | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/board/UBBoardController.cpp b/src/board/UBBoardController.cpp index da904560..0d23d9f9 100644 --- a/src/board/UBBoardController.cpp +++ b/src/board/UBBoardController.cpp @@ -687,9 +687,16 @@ void UBBoardController::zoom(const qreal ratio, QPointF scenePoint) QPointF offset = scenePoint - viewCenter; QPointF scalledOffset = offset / ratio; - mControlView->scale(ratio, ratio); + qreal currentZoom = ratio * mControlView->viewportTransform().m11() / mSystemScaleFactor; - qreal currentZoom = mControlView->viewportTransform().m11() / mSystemScaleFactor; + qreal usedRatio = ratio; + if (currentZoom > UB_MAX_ZOOM) + { + currentZoom = UB_MAX_ZOOM; + usedRatio = currentZoom * mSystemScaleFactor / mControlView->viewportTransform().m11(); + } + + mControlView->scale(usedRatio, usedRatio); QPointF newCenter = scenePoint - scalledOffset; diff --git a/src/core/UB.h b/src/core/UB.h index 862a63eb..78241f46 100644 --- a/src/core/UB.h +++ b/src/core/UB.h @@ -18,7 +18,7 @@ #include -#define UB_MAX_ZOOM 15 +#define UB_MAX_ZOOM 9 struct UBMimeType {