]> sigrok.org Git - pulseview.git/blobdiff - pv/view/view.cpp
Renamed SigSession::data_updated signal to data_received, and added the frame_ended...
[pulseview.git] / pv / view / view.cpp
index cf990bcdced9f7cf44eeac9b149f2942cb8c2cc9..219543338f98af77d22c4db8583cb7aeb0389383 100644 (file)
@@ -92,7 +92,9 @@ View::View(SigSession &session, QWidget *parent) :
 
        connect(&_session, SIGNAL(signals_changed()),
                this, SLOT(signals_changed()));
-       connect(&_session, SIGNAL(data_updated()),
+       connect(&_session, SIGNAL(data_received()),
+               this, SLOT(data_updated()));
+       connect(&_session, SIGNAL(frame_ended()),
                this, SLOT(data_updated()));
 
        connect(_cursors.first().get(), SIGNAL(time_changed()),
@@ -120,6 +122,8 @@ View::View(SigSession &session, QWidget *parent) :
        _viewport->installEventFilter(this);
        _ruler->installEventFilter(this);
        _header->installEventFilter(this);
+
+       signals_changed();
 }
 
 SigSession& View::session()
@@ -169,7 +173,8 @@ void View::zoom_fit()
        if (w <= 0)
                return;
 
-       set_scale_offset(delta / w, extents.first);
+       const double scale = max(min(delta / w, MaxScale), MinScale);
+       set_scale_offset(scale, extents.first);
 }
 
 void View::zoom_one_to_one()
@@ -180,11 +185,7 @@ void View::zoom_one_to_one()
                session().get_signals());
 
        // Make a set of all the visible data objects
-       set< shared_ptr<SignalData> > visible_data;
-       BOOST_FOREACH(const shared_ptr<Signal> sig, sigs)
-               if (sig->enabled())
-                       visible_data.insert(sig->data());
-
+       set< shared_ptr<SignalData> > visible_data = get_visible_data();
        if (visible_data.empty())
                return;