From: Juergen Spitzmueller Date: Sun, 7 Feb 2021 11:32:11 +0000 (+0100) Subject: Adjust selection color of delimiter icons X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;ds=sidebyside;h=fa56a5eb98d8568b036d66b391735181d6c451a0;p=features.git Adjust selection color of delimiter icons --- diff --git a/src/frontends/qt/GuiDelimiter.cpp b/src/frontends/qt/GuiDelimiter.cpp index 9043974785..5b23804073 100644 --- a/src/frontends/qt/GuiDelimiter.cpp +++ b/src/frontends/qt/GuiDelimiter.cpp @@ -90,21 +90,27 @@ struct MathSymbol { }; -QPixmap getSelectedPixmap(QPixmap pixmap) +QPixmap getSelectedPixmap(QPixmap pixmap, QSize const icon_size) { QPalette palette = QPalette(); QColor text_color = (guiApp->isInDarkMode()) ? palette.color(QPalette::Active, QPalette::WindowText) : Qt::black; QColor highlight_color = palette.color(QPalette::Active, QPalette::HighlightedText); + QColor highlight_bg = palette.color(QPalette::Active, QPalette::Highlight); // create a layer with black text turned to QPalette::HighlightedText QPixmap hl_overlay(pixmap.size()); hl_overlay.fill(highlight_color); hl_overlay.setMask(pixmap.createMaskFromColor(text_color, Qt::MaskOutColor)); + // Create highlighted background + QPixmap hl_background(icon_size); + hl_background.fill(highlight_bg); + // put layers on top of existing pixmap QPainter painter(&pixmap); + painter.drawPixmap(pixmap.rect(), hl_background); painter.drawPixmap(pixmap.rect(), hl_overlay); return pixmap; @@ -240,7 +246,7 @@ GuiDelimiter::GuiDelimiter(GuiView & lv) // get pixmap with bullets QPixmap pixmap = getPixmap("images/math/", toqstr(ms.icon), "svgz,png"); QIcon icon(pixmap); - icon.addPixmap(getSelectedPixmap(pixmap), QIcon::Selected); + icon.addPixmap(getSelectedPixmap(pixmap, icon_size), QIcon::Selected); QListWidgetItem * lwi = new QListWidgetItem(icon, QString()); setDelimiterName(lwi, delim); left_list_items_[ms.unicode] = lwi;