X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fview.cpp;h=f350459c500bdb9190d44fa0cad0e04a4e1200ad;hp=a79396d15b04715b0bb5f33ea461214190d0d044;hb=8a603e135f0eee0b2665c8ec9caa5f19ae6ee5e4;hpb=341d9a7975be53bb44af8d2deeba9b4a5e086929 diff --git a/pv/views/trace/view.cpp b/pv/views/trace/view.cpp index a79396d1..f350459c 100644 --- a/pv/views/trace/view.cpp +++ b/pv/views/trace/view.cpp @@ -229,6 +229,9 @@ View::View(Session &session, bool is_main_view, QWidget *parent) : // Update the zoom state calculate_tick_spacing(); + + // Make sure the standard bar's segment selector is in sync + set_segment_display_mode(segment_display_mode_); } Session& View::session() @@ -258,6 +261,7 @@ void View::add_signal(const shared_ptr signal) signals_.insert(signal); signal->set_segment_display_mode(segment_display_mode_); + signal->set_current_segment(current_segment_); connect(signal->base().get(), SIGNAL(name_changed(const QString&)), this, SLOT(on_signal_name_changed())); @@ -276,6 +280,7 @@ void View::add_decode_signal(shared_ptr signal) decode_traces_.push_back(d); d->set_segment_display_mode(segment_display_mode_); + d->set_current_segment(current_segment_); connect(signal.get(), SIGNAL(name_changed(const QString&)), this, SLOT(on_signal_name_changed())); @@ -497,7 +502,7 @@ void View::set_segment_display_mode(Trace::SegmentDisplayMode mode) segment_selectable_ = true; - if (mode == Trace::ShowSingleSegmentOnly) + if (mode == Trace::ShowLastSegmentOnly) segment_selectable_ = false; segment_display_mode_changed(segment_selectable_); @@ -1423,6 +1428,8 @@ void View::on_segment_changed(int segment) current_segment_ = segment; for (shared_ptr signal : signals_) signal->set_current_segment(current_segment_); + for (shared_ptr dt : decode_traces_) + dt->set_current_segment(current_segment_); viewport_->update(); break;