# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2016-10-29 15:20:33 # Node ID 60d04e19e663c230877989a3842405d90a7fa880 # Parent 7fe690434e2e349af85747cae7c0e68c9bba8e10 fix zoombase setting diff --git a/src/zoomer.cpp b/src/zoomer.cpp --- a/src/zoomer.cpp +++ b/src/zoomer.cpp @@ -29,11 +29,6 @@ Zoomer::Zoomer(QWidget* widget, bool doR void Zoomer::zoom(int up) { - if (up == +1) - { - this->setZoomBase(this->plot()); - } - ScrollZoomer::zoom(up); if(zoomRectIndex() == 0) @@ -41,3 +36,14 @@ void Zoomer::zoom(int up) emit unzoomed(); } } + +void Zoomer::zoom( const QRectF & rect) +{ + // set the zoom base when user zooms in to first level + if (zoomRectIndex() == 0) + { + this->setZoomBase(false); + } + + ScrollZoomer::zoom(rect); +} diff --git a/src/zoomer.h b/src/zoomer.h --- a/src/zoomer.h +++ b/src/zoomer.h @@ -29,6 +29,7 @@ class Zoomer : public ScrollZoomer public: Zoomer(QWidget *, bool doReplot=true); void zoom(int up); + void zoom( const QRectF & ); signals: void unzoomed();