From a8da2fed64a704d60ec045db2438d856267ed29b Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 15 Jul 2021 12:57:33 +0100 Subject: [PATCH] Respect palette foreground colour properly in rich text * This is particularly relevant for custom-background colour items on dark theme where we may switch to dark text for contrast. --- qrenderdoc/Code/QRDUtils.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/qrenderdoc/Code/QRDUtils.cpp b/qrenderdoc/Code/QRDUtils.cpp index 178e9569f..93878f18a 100644 --- a/qrenderdoc/Code/QRDUtils.cpp +++ b/qrenderdoc/Code/QRDUtils.cpp @@ -810,6 +810,10 @@ void RichResourceTextPaint(const QWidget *owner, QPainter *painter, QRect rect, sel.cursor.movePosition(QTextCursor::End, QTextCursor::KeepAnchor); docCtx.selections.push_back(sel); } + else + { + docCtx.palette.setColor(QPalette::Text, foreBrush.color()); + } painter->setClipRect(docCtx.clip); @@ -1189,7 +1193,7 @@ void RichTextViewDelegate::paint(QPainter *painter, const QStyleOptionViewItem & painter->save(); - QRect rect = option.rect; + QRect rect = opt.rect; if(!opt.icon.isNull()) { QIcon::Mode mode; @@ -1203,7 +1207,7 @@ void RichTextViewDelegate::paint(QPainter *painter, const QStyleOptionViewItem & rect.setX(rect.x() + opt.icon.actualSize(opt.decorationSize, mode, state).width() + 4); } - RichResourceTextPaint(m_widget, painter, rect, opt.font, option.palette, option.state, + RichResourceTextPaint(m_widget, painter, rect, opt.font, opt.palette, opt.state, m_widget->viewport()->mapFromGlobal(QCursor::pos()), v); painter->restore();