projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Finalize segment decoding
[pulseview.git]
/
pv
/
views
/
trace
/
view.cpp
diff --git
a/pv/views/trace/view.cpp
b/pv/views/trace/view.cpp
index e26e8fc2582a8a45b57f41d3abbf2d72940ed6f7..f350459c500bdb9190d44fa0cad0e04a4e1200ad 100644
(file)
--- 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();
// 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()
}
Session& View::session()
@@
-258,6
+261,7
@@
void View::add_signal(const shared_ptr<Signal> signal)
signals_.insert(signal);
signal->set_segment_display_mode(segment_display_mode_);
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()));
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<data::DecodeSignal> signal)
decode_traces_.push_back(d);
d->set_segment_display_mode(segment_display_mode_);
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()));
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;
segment_selectable_ = true;
- if (mode == Trace::Show
Single
SegmentOnly)
+ if (mode == Trace::Show
Last
SegmentOnly)
segment_selectable_ = false;
segment_display_mode_changed(segment_selectable_);
segment_selectable_ = false;
segment_display_mode_changed(segment_selectable_);
@@
-1420,9
+1425,11
@@
void View::on_segment_changed(int segment)
switch (segment_display_mode_) {
case Trace::ShowLastSegmentOnly:
case Trace::ShowSingleSegmentOnly:
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<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;
viewport_->update();
break;