]> sigrok.org Git - pulseview.git/blobdiff - pv/view/view.cpp
TraceView: Only perform "always zoom to fit" for the main view
[pulseview.git] / pv / view / view.cpp
index d460e8686c3e22decc8f0b9d11e3f0ab32d59bd9..04bb99205636fd50ffe18872f56dd3ba2dcd3bb5 100644 (file)
@@ -136,8 +136,8 @@ bool CustomAbstractScrollArea::viewportEvent(QEvent *event)
        }
 }
 
-View::View(Session &session, QWidget *parent) :
-       ViewBase(session, parent),
+View::View(Session &session, bool is_main_view, QWidget *parent) :
+       ViewBase(session, is_main_view, parent),
        viewport_(new Viewport(*this)),
        ruler_(new Ruler(*this)),
        header_(new Header(*this)),
@@ -1233,10 +1233,12 @@ void View::capture_state_updated(int state)
 
                trigger_markers_.clear();
 
-               // Activate "always zoom to fit" if the setting is enabled
+               // Activate "always zoom to fit" if the setting is enabled and we're
+               // the main view of this session (other trace views may be used for
+               // zooming and we don't want to mess them up)
                GlobalSettings settings;
                bool state = settings.value(GlobalSettings::Key_View_AlwaysZoomToFit).toBool();
-               if (state) {
+               if (is_main_view_ && state) {
                        always_zoom_to_fit_ = true;
                        always_zoom_to_fit_changed(always_zoom_to_fit_);
                }