commit 882a853993bffde138c28367332a67dbf190fc4e
Author: Jürgen Spitzmüller <[email protected]>
Date: Wed Apr 30 14:10:07 2025 +0200
Consider dark mode in MenuButtonBase (#13182)
(cherry picked from commit 627d5738caac92c00b21ab3e2d984a1dd83d8e9a)
---
src/frontends/qt/GuiApplication.cpp | 6 +++---
src/frontends/qt/GuiApplication.h | 2 ++
src/frontends/qt/GuiToolbar.cpp | 9 ++++++++-
status.24x | 2 ++
4 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/src/frontends/qt/GuiApplication.cpp
b/src/frontends/qt/GuiApplication.cpp
index 494a82ab3f..8e6ae51326 100644
--- a/src/frontends/qt/GuiApplication.cpp
+++ b/src/frontends/qt/GuiApplication.cpp
@@ -638,7 +638,7 @@ IconInfo iconInfo(FuncRequest const & f, bool unknown, bool
rtl)
}
-QPixmap prepareForDarkMode(QPixmap pixmap)
+QPixmap GuiApplication::prepareForDarkMode(QPixmap pixmap) const
{
QPalette palette = QPalette();
QColor text_color = palette.color(QPalette::Active,
QPalette::WindowText);
@@ -687,7 +687,7 @@ QPixmap getPixmap(QString const & path, QString const &
name, QString const & ex
if (pixmap.load(fpath)) {
if (fpath.contains("math") || fpath.contains("ipa")
|| fpath.contains("bullets"))
- return prepareForDarkMode(pixmap);
+ return guiApp->prepareForDarkMode(pixmap);
return pixmap;
}
@@ -727,7 +727,7 @@ QIcon getIcon(FuncRequest const & f, bool unknown, bool rtl)
}
if (icondata.invert)
- pixmap = prepareForDarkMode(pixmap);
+ pixmap = guiApp->prepareForDarkMode(pixmap);
if (icondata.swap)
return QIcon(pixmap.transformed(QTransform().scale(-1, 1)));
diff --git a/src/frontends/qt/GuiApplication.h
b/src/frontends/qt/GuiApplication.h
index 11bb670886..bbae18fb13 100644
--- a/src/frontends/qt/GuiApplication.h
+++ b/src/frontends/qt/GuiApplication.h
@@ -96,6 +96,8 @@ public:
/// Scale Pixmaps properly (also for HiDPI)
QPixmap getScaledPixmap(QString imagedir, QString name) const;
+ ///
+ QPixmap prepareForDarkMode(QPixmap pixmap) const;
///
Clipboard & clipboard();
diff --git a/src/frontends/qt/GuiToolbar.cpp b/src/frontends/qt/GuiToolbar.cpp
index 76b6853d4a..39069dd112 100644
--- a/src/frontends/qt/GuiToolbar.cpp
+++ b/src/frontends/qt/GuiToolbar.cpp
@@ -250,7 +250,14 @@ MenuButtonBase::MenuButtonBase(GuiToolbar * bar,
ToolbarItem const & item)
FileName const fname = imageLibFileSearch(imagedir, name,
"svgz,png",
theGuiApp()->imageSearchMode(),
theGuiApp()->isInDarkMode());
if (fname.exists()) {
- setIcon(QIcon(toqstr(fname.absFileName())));
+ QString const fpath = toqstr(fname.absFileName());
+ QPixmap pixmap;
+ if (pixmap.load(fpath)) {
+ if (fpath.contains("math") ||
fpath.contains("ipa")
+ || fpath.contains("bullets"))
+ pixmap = guiApp->prepareForDarkMode(pixmap);
+ }
+ setIcon(QIcon(pixmap));
break;
}
}
diff --git a/status.24x b/status.24x
index 36bf5eaddf..67b40fcb62 100644
--- a/status.24x
+++ b/status.24x
@@ -117,6 +117,8 @@ What's new
- Fix display of some icons in dialogs in dark mode.
+- Fix display of menu buttons in dark mode.
+
- Fix minor issues with automatic deletion of bibitem insets.
- Correctly check maxima output for syntax errors.
--
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs