projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix #1132 by passing segment IDs, not segment instances
[pulseview.git]
/
pv
/
views
/
trace
/
view.cpp
diff --git
a/pv/views/trace/view.cpp
b/pv/views/trace/view.cpp
index 35b6807dfc75c11ba825831c1552ee17fe490f5a..af15f1e49105f522e4eae124c9182623553c538b 100644
(file)
--- a/
pv/views/trace/view.cpp
+++ b/
pv/views/trace/view.cpp
@@
-199,8
+199,7
@@
View::View(Session &session, bool is_main_view, QWidget *parent) :
GlobalSettings settings;
coloured_bg_ = settings.value(GlobalSettings::Key_View_ColouredBG).toBool();
GlobalSettings settings;
coloured_bg_ = settings.value(GlobalSettings::Key_View_ColouredBG).toBool();
- GlobalSettings::register_change_handler(GlobalSettings::Key_View_TriggerIsZeroTime,
- bind(&View::on_settingViewTriggerIsZeroTime_changed, this, _1));
+ GlobalSettings::add_change_handler(this);
connect(scrollarea_->horizontalScrollBar(), SIGNAL(valueChanged(int)),
this, SLOT(h_scroll_value_changed(int)));
connect(scrollarea_->horizontalScrollBar(), SIGNAL(valueChanged(int)),
this, SLOT(h_scroll_value_changed(int)));
@@
-239,6
+238,11
@@
View::View(Session &session, bool is_main_view, QWidget *parent) :
set_segment_display_mode(segment_display_mode_);
}
set_segment_display_mode(segment_display_mode_);
}
+View::~View()
+{
+ GlobalSettings::remove_change_handler(this);
+}
+
Session& View::session()
{
return session_;
Session& View::session()
{
return session_;
@@
-558,8
+562,10
@@
void View::set_current_segment(uint32_t segment_id)
for (shared_ptr<Signal> signal : signals_)
signal->set_current_segment(current_segment_);
for (shared_ptr<Signal> signal : signals_)
signal->set_current_segment(current_segment_);
+#ifdef ENABLE_DECODE
for (shared_ptr<DecodeTrace> dt : decode_traces_)
dt->set_current_segment(current_segment_);
for (shared_ptr<DecodeTrace> dt : decode_traces_)
dt->set_current_segment(current_segment_);
+#endif
vector<util::Timestamp> triggers = session_.get_triggers(current_segment_);
vector<util::Timestamp> triggers = session_.get_triggers(current_segment_);
@@
-861,6
+867,12
@@
void View::restack_all_trace_tree_items()
i->animate_to_layout_v_offset();
}
i->animate_to_layout_v_offset();
}
+void View::on_setting_changed(const QString &key, const QVariant &value)
+{
+ if (key == GlobalSettings::Key_View_TriggerIsZeroTime)
+ on_settingViewTriggerIsZeroTime_changed(value);
+}
+
void View::trigger_event(int segment_id, util::Timestamp location)
{
// TODO This doesn't work if we're showing multiple segments at once
void View::trigger_event(int segment_id, util::Timestamp location)
{
// TODO This doesn't work if we're showing multiple segments at once