From c76e0f115336bb5e94bce1a1b9b3312bc682c0c6 Mon Sep 17 00:00:00 2001 From: Guillaume Munch Date: Tue, 14 Jun 2016 21:45:47 +0100 Subject: [PATCH] Make latex highlighter colors compatible with dark theme Partial fix for #8325 --- src/frontends/qt4/LaTeXHighlighter.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/frontends/qt4/LaTeXHighlighter.cpp b/src/frontends/qt4/LaTeXHighlighter.cpp index 9a9e5459a4..fa949a6e62 100644 --- a/src/frontends/qt4/LaTeXHighlighter.cpp +++ b/src/frontends/qt4/LaTeXHighlighter.cpp @@ -19,13 +19,23 @@ namespace lyx { namespace frontend { + LaTeXHighlighter::LaTeXHighlighter(QTextDocument * parent) : QSyntaxHighlighter(parent) { - keywordFormat.setForeground(Qt::darkBlue); + auto blend = [](QColor color1, QColor color2) { + int r = 0.5 * (color1.red() + color2.red()); + int g = 0.5 * (color1.green() + color2.green()); + int b = 0.5 * (color1.blue() + color2.blue()); + return QColor(r, g, b); + }; + QPalette palette = QPalette(); + QColor text_color = palette.color(QPalette::Active, QPalette::Text); + keywordFormat.setForeground(blend(Qt::blue, text_color)); keywordFormat.setFontWeight(QFont::Bold); - commentFormat.setForeground(Qt::darkGray); - mathFormat.setForeground(Qt::red); + commentFormat.setForeground(palette.color(QPalette::Disabled, + QPalette::Text)); + mathFormat.setForeground(blend(Qt::red, text_color)); warningFormat.setForeground(Qt::red); warningFormat.setFontWeight(QFont::Bold); }