diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index b9bcb9660dfdeb1fcbcfda5f640491f67fd8f57f..7825941ea53da7f866b44812216191123573453e 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -1926,6 +1926,13 @@ void BaseTextEditorPrivate::moveCursorVisible(bool ensureVisible) q->ensureCursorVisible(); } +static QColor blendColors(const QColor &a, const QColor &b, int alpha) +{ + return QColor((a.red() * (256 - alpha) + b.red() * alpha) / 256, + (a.green() * (256 - alpha) + b.green() * alpha) / 256, + (a.blue() * (256 - alpha) + b.blue() * alpha) / 256); +} + static QColor calcBlendColor(const QColor &baseColor, int level, int count) { QColor color80; @@ -1960,10 +1967,7 @@ static QColor calcBlendColor(const QColor &baseColor, int level, int count) const int blendFactor = level * (256 / (count - 2)); - return QColor( - (color90.red() * blendFactor + color80.red() * (256 - blendFactor)) / 256, - (color90.green() * blendFactor + color80.green() * (256 - blendFactor)) / 256, - (color90.blue() * blendFactor + color80.blue() * (256 - blendFactor)) / 256); + return blendColors(color80, color90, blendFactor); } void BaseTextEditor::paintEvent(QPaintEvent *e) @@ -2379,10 +2383,9 @@ void BaseTextEditor::paintEvent(QPaintEvent *e) if (lineX > 0) { const QColor bg = palette().base().color(); - QColor col = (bg.value() > 128) ? Qt::black : Qt::white; - col.setAlpha(32); - painter.setPen(QPen(col, 0)); - painter.drawLine(QPointF(lineX, 0), QPointF(lineX, viewport()->height())); + const QColor col = (bg.value() > 128) ? Qt::black : Qt::white; + painter.setPen(blendColors(d->m_ifdefedOutFormat.background().color(), col, 32)); + painter.drawLine(QPointF(lineX, er.top()), QPointF(lineX, er.bottom())); } }