X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fdecodetrace.cpp;h=3ece1303ca513e5d40b6bc0d49848aa66dbea56c;hp=c2369e866fbe3b7286c602adc41735ed1c6a579b;hb=bf0edd2b0cbb5f4bd5d69b0f00bcea7d037e2287;hpb=14f9d4a1f4472d29366ed8333b20f4041cf1b443 diff --git a/pv/view/decodetrace.cpp b/pv/view/decodetrace.cpp index c2369e8..3ece130 100644 --- a/pv/view/decodetrace.cpp +++ b/pv/view/decodetrace.cpp @@ -129,10 +129,11 @@ const QColor DecodeTrace::OutlineColours[16] = { }; DecodeTrace::DecodeTrace(pv::Session &session, + shared_ptr signalbase, std::shared_ptr decoder_stack, int index) : - Trace(QString::fromUtf8( - decoder_stack->stack().front()->decoder()->name)), + Trace(signalbase), session_(session), + signalbase_(signalbase), decoder_stack_(decoder_stack), row_height_(0), max_visible_rows_(0), @@ -145,7 +146,8 @@ DecodeTrace::DecodeTrace(pv::Session &session, QFontMetrics m(QApplication::font()); min_useful_label_width_ = m.width("XX"); // e.g. two hex characters - set_colour(DecodeColours[index % countof(DecodeColours)]); + signalbase_->set_name(QString::fromUtf8(decoder_stack->stack().front()->decoder()->name)); + signalbase_->set_colour(DecodeColours[index % countof(DecodeColours)]); connect(decoder_stack_.get(), SIGNAL(new_decode_data()), this, SLOT(on_new_decode_data())); @@ -849,8 +851,8 @@ QComboBox* DecodeTrace::create_channel_selector( vector< shared_ptr > sig_list(sigs.begin(), sigs.end()); std::sort(sig_list.begin(), sig_list.end(), [](const shared_ptr &a, const shared_ptr b) { - return strnatcasecmp(a->name().toStdString(), - b->name().toStdString()) < 0; }); + return strnatcasecmp(a->channel()->name().toStdString(), + b->channel()->name().toStdString()) < 0; }); assert(decoder_stack_); const auto channel_iter = dec->channels().find(pdch); @@ -865,7 +867,7 @@ QComboBox* DecodeTrace::create_channel_selector( for (const shared_ptr &s : sig_list) { assert(s); if (dynamic_pointer_cast(s) && s->enabled()) { - selector->addItem(s->name(), + selector->addItem(s->channel()->name(), qVariantFromValue((void*)s.get())); if (channel_iter != dec->channels().end() &&