X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecodesignal.cpp;h=4be9fb2fef1f733dfe7fc6307549c86dd691d88f;hp=24059f9e3af0d83bfa53f08e5bba7f92e5477ce0;hb=cb6305433dd64ff19f0a3d102f91e0f8f8b64da4;hpb=76da6e9e2168f2f2c599d48ab587a48d2a110107 diff --git a/pv/data/decodesignal.cpp b/pv/data/decodesignal.cpp index 24059f9e..4be9fb2f 100644 --- a/pv/data/decodesignal.cpp +++ b/pv/data/decodesignal.cpp @@ -68,6 +68,20 @@ DecodeSignal::~DecodeSignal() reset_decode(true); } +void DecodeSignal::set_name(QString name) +{ + SignalBase::set_name(name); + + update_output_signals(); +} + +void DecodeSignal::set_color(QColor color) +{ + SignalBase::set_color(color); + + update_output_signals(); +} + const vector< shared_ptr >& DecodeSignal::decoder_stack() const { return stack_; @@ -397,7 +411,6 @@ void DecodeSignal::update_output_signals() shared_ptr signal = make_shared(nullptr, LogicChannel); signal->set_internal_name(logic_ch.id); - signal->set_name(logic_ch.id); signal->set_index(index); signal->set_data(logic_data); output_signals_.push_back(signal); @@ -413,9 +426,12 @@ void DecodeSignal::update_output_signals() } } - // TODO Delete signals that no longer have a corresponding decoder (also from session) + for (shared_ptr s : output_signals_) { + s->set_name(s->internal_name() + " (" + name() + ")"); + s->set_color(color()); + } + // TODO Assert that all sample rates are the same as the session's - // TODO Set colors to the same as the decoder's background color } void DecodeSignal::set_initial_pin_state(const uint16_t channel_id, const int init_state)