commit 744f6e3cd802fffb5dcf6672eed1a83900e83fac
Author: Guillaume Munch <[email protected]>
Date:   Thu Apr 14 16:24:18 2016 +0100

    Compute the highlighting color from AlternateBase and Highlight roles 
(#10073)

diff --git a/src/frontends/qt4/GuiViewSource.cpp 
b/src/frontends/qt4/GuiViewSource.cpp
index 192a163..d583897 100644
--- a/src/frontends/qt4/GuiViewSource.cpp
+++ b/src/frontends/qt4/GuiViewSource.cpp
@@ -277,15 +277,18 @@ void ViewSourceWidget::realUpdateView()
 
                //the real highlighting is done with an ExtraSelection
                QTextCharFormat format;
+               {
+               // We create a new color with the lightness of AlternateBase and
+               // the hue and saturation of Highlight
                QPalette palette = viewSourceTV->palette();
-               //Alternative:
-               //  QColor bg = 
palette.color(QPalette::Active,QPalette::Highlight);
-               //  bg.setAlpha(64);
-               //  format.setBackground(QBrush(bg));
-               //Other alternatives:
-               //format.setBackground(palette.light());
-               //format.setBackground(palette.alternateBase());
-               format.setBackground(palette.toolTipBase());
+               QBrush alt = palette.alternateBase();
+               QColor high = palette.highlight().color().toHsl();
+               QColor col = QColor::fromHsl(high.hue(),
+                                            high.hslSaturation(),
+                                            alt.color().lightness());
+               alt.setColor(col);
+               format.setBackground(alt);
+               }
                format.setProperty(QTextFormat::FullWidthSelection, true);
                QTextEdit::ExtraSelection sel;
                sel.format = format;

Reply via email to