X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Ftrace.cpp;h=e1b51373ae667616895f09f76c224283fd4f410c;hb=eae3bbbbfd35aef309c186e278ff7ab2d90f362a;hp=985c295059a5da42c1390323de9396296712bfea;hpb=c063290ac7189bdd15221450f598504f43286b43;p=pulseview.git diff --git a/pv/view/trace.cpp b/pv/view/trace.cpp index 985c2950..e1b51373 100644 --- a/pv/view/trace.cpp +++ b/pv/view/trace.cpp @@ -53,20 +53,12 @@ Trace::Trace(shared_ptr channel) : popup_(nullptr), popup_form_(nullptr) { - GlobalSettings settings; - coloured_bg_ = settings.value(GlobalSettings::Key_View_ColouredBG).toBool(); - connect(channel.get(), SIGNAL(name_changed(const QString&)), this, SLOT(on_name_changed(const QString&))); connect(channel.get(), SIGNAL(colour_changed(const QColor&)), this, SLOT(on_colour_changed(const QColor&))); } -void Trace::set_coloured_bg(bool state) -{ - coloured_bg_ = state; -} - void Trace::paint_label(QPainter &p, const QRect &rect, bool hover) { const int y = get_visual_y(); @@ -159,26 +151,24 @@ QRectF Trace::label_rect(const QRectF &rect) const label_size.height()); } -void Trace::paint_back(QPainter &p, const ViewItemPaintParams &pp) +void Trace::paint_back(QPainter &p, ViewItemPaintParams &pp) { - if (coloured_bg_) + const View *view = owner_->view(); + assert(view); + + if (view->coloured_bg()) p.setBrush(base_->bgcolour()); else - p.setBrush(bgcolour_state_ ? BrightGrayBGColour : DarkGrayBGColour); + p.setBrush(pp.next_bg_colour_state() ? BrightGrayBGColour : DarkGrayBGColour); p.setPen(QPen(Qt::NoPen)); const pair extents = v_extents(); - - const int x = 0; - const int y = get_visual_y() + extents.first; - const int w = pp.right() - pp.left(); - const int h = extents.second - extents.first; - - p.drawRect(x, y, w, h); + p.drawRect(pp.left(), get_visual_y() + extents.first, + pp.width(), extents.second - extents.first); } -void Trace::paint_axis(QPainter &p, const ViewItemPaintParams &pp, int y) +void Trace::paint_axis(QPainter &p, ViewItemPaintParams &pp, int y) { p.setRenderHint(QPainter::Antialiasing, false);