// 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()
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()));
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()));
segment_selectable_ = true;
- if (mode == Trace::ShowSingleSegmentOnly)
+ if (mode == Trace::ShowLastSegmentOnly)
segment_selectable_ = false;
segment_display_mode_changed(segment_selectable_);
switch (segment_display_mode_) {
case Trace::ShowLastSegmentOnly:
case Trace::ShowSingleSegmentOnly:
- current_segment_ = segment - 1;
+ current_segment_ = segment;
for (shared_ptr<Signal> signal : signals_)
signal->set_current_segment(current_segment_);
+ for (shared_ptr<DecodeTrace> dt : decode_traces_)
+ dt->set_current_segment(current_segment_);
viewport_->update();
break;