commit 627d5738caac92c00b21ab3e2d984a1dd83d8e9a
Author: Jürgen Spitzmüller <[email protected]>
Date: Wed Apr 30 14:10:07 2025 +0200
Consider dark mode in MenuButtonBase (#13182)
---
src/frontends/qt/GuiApplication.cpp | 6 +++---
src/frontends/qt/GuiApplication.h | 2 ++
src/frontends/qt/GuiToolbar.cpp | 9 ++++++++-
3 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/frontends/qt/GuiApplication.cpp
b/src/frontends/qt/GuiApplication.cpp
index 16fd275bf2..7ce46a7d16 100644
--- a/src/frontends/qt/GuiApplication.cpp
+++ b/src/frontends/qt/GuiApplication.cpp
@@ -637,7 +637,7 @@ IconInfo iconInfo(FuncRequest const & f, bool unknown, bool
rtl)
}
-QPixmap prepareForDarkMode(QPixmap pixmap)
+QPixmap GuiApplication::prepareForDarkMode(QPixmap pixmap) const
{
// guess whether we are in dark mode
if (!theGuiApp()->isInDarkMode())
@@ -688,7 +688,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;
}
@@ -728,7 +728,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 06f57c4918..df21ccfcd8 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;
}
}
--
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs