X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fview.cpp;h=219543338f98af77d22c4db8583cb7aeb0389383;hb=76868203e56032aa21d7909b5fd72c50b5505615;hp=cf990bcdced9f7cf44eeac9b149f2942cb8c2cc9;hpb=8b2e2a9acef9501910047881edd54dd092b9732f;p=pulseview.git diff --git a/pv/view/view.cpp b/pv/view/view.cpp index cf990bc..2195433 100644 --- a/pv/view/view.cpp +++ b/pv/view/view.cpp @@ -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 > visible_data; - BOOST_FOREACH(const shared_ptr sig, sigs) - if (sig->enabled()) - visible_data.insert(sig->data()); - + set< shared_ptr > visible_data = get_visible_data(); if (visible_data.empty()) return;