From 5c13007d925bf77cb9c5bc59fec49915653970af 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 | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/frontends/qt4/LaTeXHighlighter.cpp b/src/frontends/qt4/LaTeXHighlighter.cpp index 9a9e5459a4..81e6f5769c 100644 --- a/src/frontends/qt4/LaTeXHighlighter.cpp +++ b/src/frontends/qt4/LaTeXHighlighter.cpp @@ -19,13 +19,28 @@ namespace lyx { namespace frontend { +namespace { + +QColor 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); +}; + +} + + LaTeXHighlighter::LaTeXHighlighter(QTextDocument * parent) : QSyntaxHighlighter(parent) { - keywordFormat.setForeground(Qt::darkBlue); + 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); }