]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt/ColorCache.cpp
Fix completion in math when inline completion was not yet shown
[lyx.git] / src / frontends / qt / ColorCache.cpp
index 1b876410a8d9dfbecac848b82b634d2e15516b32..821494edc1b2113755994f1bc34dd456757c425e 100644 (file)
@@ -23,7 +23,7 @@ namespace{
 
 QPalette::ColorRole role(ColorCode col)
 {
-       switch (ColorCode(col)) {
+       switch (col) {
        case Color_background:
        case Color_commentbg:
        case Color_greyedoutbg:
@@ -62,7 +62,7 @@ QPalette::ColorRole role(ColorCode col)
 void ColorCache::init()
 {
        for (int col = 0; col <= Color_ignore; ++col) {
-               lcolors_[col] = QColor(lcolor.getX11HexName(ColorCode(col)).c_str());
+               lcolors_[col] = QColor(lcolor.getX11HexName(ColorCode(col), isDarkMode()).c_str());
        }
 
        initialized_ = true;
@@ -104,7 +104,7 @@ QColor ColorCache::get(Color const & color, bool syscolors) const
                        (base_color.blue() + merge_color.blue()) / 2);
        }
        // used by branches
-       return QColor(lcolor.getX11HexName(color.baseColor).c_str());
+       return QColor(lcolor.getX11HexName(color.baseColor, isDarkMode()).c_str());
 }
 
 
@@ -119,6 +119,16 @@ bool ColorCache::isSystem(ColorCode const color) const
 }
 
 
+bool ColorCache::isDarkMode() const
+{
+       QPalette palette = QPalette();
+       QColor text_color = palette.color(QPalette::Active, QPalette::WindowText);
+       QColor bg_color = palette.color(QPalette::Active, QPalette::Window);
+       
+       return (text_color.black() < bg_color.black());
+}
+
+
 QColor const rgb2qcolor(RGBColor const & rgb)
 {
        return QColor(rgb.r, rgb.g, rgb.b);