X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fdecodetrace.cpp;h=74d0dd6511b623a4c41aba5b66bd6cf13194f830;hp=55b5f5754ab52edcf179978e4babd6ac185dd83e;hb=5ed05b699e5367bae21828f533e3d169b9bab348;hpb=c063290ac7189bdd15221450f598504f43286b43 diff --git a/pv/view/decodetrace.cpp b/pv/view/decodetrace.cpp index 55b5f575..74d0dd65 100644 --- a/pv/view/decodetrace.cpp +++ b/pv/view/decodetrace.cpp @@ -40,13 +40,13 @@ extern "C" { #include "decodetrace.hpp" -#include -#include -#include +#include #include +#include #include #include -#include +#include +#include #include #include #include @@ -170,13 +170,13 @@ pair DecodeTrace::v_extents() const return make_pair(-row_height, row_height * row_count); } -void DecodeTrace::paint_back(QPainter &p, const ViewItemPaintParams &pp) +void DecodeTrace::paint_back(QPainter &p, ViewItemPaintParams &pp) { Trace::paint_back(p, pp); paint_axis(p, pp, get_visual_y()); } -void DecodeTrace::paint_mid(QPainter &p, const ViewItemPaintParams &pp) +void DecodeTrace::paint_mid(QPainter &p, ViewItemPaintParams &pp) { using namespace pv::data::decode; @@ -248,7 +248,7 @@ void DecodeTrace::paint_mid(QPainter &p, const ViewItemPaintParams &pp) max_visible_rows_ = max(max_visible_rows_, (int)visible_rows_.size()); } -void DecodeTrace::paint_fore(QPainter &p, const ViewItemPaintParams &pp) +void DecodeTrace::paint_fore(QPainter &p, ViewItemPaintParams &pp) { using namespace pv::data::decode; @@ -333,6 +333,7 @@ void DecodeTrace::populate_popup_form(QWidget *parent, QFormLayout *form) QPushButton *const stack_button = new QPushButton(tr("Stack Decoder"), parent); stack_button->setMenu(decoder_menu); + stack_button->setToolTip(tr("Stack a higher-level decoder on top of this one")); QHBoxLayout *stack_button_box = new QHBoxLayout; stack_button_box->addWidget(stack_button, 0, Qt::AlignRight); @@ -483,11 +484,17 @@ void DecodeTrace::draw_annotation_block( annotations.begin(), annotations.end(), [&](const Annotation &a) { return a.format() == format; }); + const QRectF rect(start, top, end - start, bottom - top); + const int r = h / 4; + + p.setPen(QPen(Qt::NoPen)); + p.setBrush(Qt::white); + p.drawRoundedRect(rect, r, r); + p.setPen((single_format ? OutlineColours[colour] : Qt::gray)); p.setBrush(QBrush((single_format ? Colours[colour] : Qt::gray), Qt::Dense4Pattern)); - p.drawRoundedRect( - QRectF(start, top, end - start, bottom - top), h / 4, h / 4); + p.drawRoundedRect(rect, r, r); } void DecodeTrace::draw_instant(const pv::data::decode::Annotation &a, QPainter &p, @@ -783,7 +790,10 @@ void DecodeTrace::create_decoder_form(int index, pv::widgets::DecoderGroupBox *const group = new pv::widgets::DecoderGroupBox( - QString::fromUtf8(decoder->name), nullptr, decoder_deletable); + QString::fromUtf8(decoder->name), + tr("%1:\n%2").arg(QString::fromUtf8(decoder->longname), + QString::fromUtf8(decoder->desc)), + nullptr, decoder_deletable); group->set_decoder_visible(dec->shown()); if (decoder_deletable) {