commit 1f7e8d3ffeb399ec4c02285f024d51b3a695f4c7
Author: Juergen Spitzmueller <[email protected]>
Date: Sat Oct 5 14:15:19 2024 +0200
Adhere to semantic background color with default branches
This fixes color mismatched when "use system colors" is checked
See https://marc.info/?l=lyx-users&m=172797086718347
---
src/BranchList.cpp | 10 ++++++----
src/insets/InsetBranch.cpp | 4 ++++
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/BranchList.cpp b/src/BranchList.cpp
index 37e746293d..d9409c80f1 100644
--- a/src/BranchList.cpp
+++ b/src/BranchList.cpp
@@ -114,12 +114,14 @@ void Branch::setColors(string const & lmcol, string const
& dmcol)
string lmcolor = lmcolor_;
string dmcolor = dmcolor_;
if (lmcolor == "none")
- lmcolor = lcolor.getX11HexName(Color_background);
- else if (lmcolor.size() != 7 || lmcolor[0] != '#')
+ lmcolor = "background";
+ // if we have background color, keep semantic value, as system colors
might vary
+ else if (lmcolor != "background" && (lmcolor.size() != 7 || lmcolor[0]
!= '#'))
lmcolor = lcolor.getX11HexName(lcolor.getFromLyXName(lmcolor));
if (dmcolor == "none")
- dmcolor = lcolor.getX11HexName(Color_background, true);
- else if (dmcolor.size() != 7 || dmcolor[0] != '#')
+ dmcolor = "background";
+ // if we have background color, keep semantic value, as system colors
might vary
+ else if (dmcolor != "background" && (dmcolor.size() != 7 || dmcolor[0]
!= '#'))
dmcolor = lcolor.getX11HexName(lcolor.getFromLyXName(dmcolor),
true);
// FIXME UNICODE
diff --git a/src/insets/InsetBranch.cpp b/src/insets/InsetBranch.cpp
index 16ac8f9237..1eb1f265d5 100644
--- a/src/insets/InsetBranch.cpp
+++ b/src/insets/InsetBranch.cpp
@@ -154,6 +154,10 @@ ColorCode InsetBranch::backgroundColor(PainterInfo const &
pi) const
// FIXME UNICODE
string const branchcol = "branch" + branch_id + to_utf8(params_.branch);
ColorCode c = lcolor.getFromLyXName(branchcol);
+ // if we have background color, set to semantic value, as system colors
+ // might vary
+ if (lcolor.getX11HexName(c, (theApp() && theApp()->isInDarkMode())) ==
"background")
+ c = Color_background;
if (c == Color_none)
c = Color_error;
return c;
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs