svtools/source/config/colorcfg.cxx   |   18 ++++-----
 sw/source/uibase/app/swmodul1.cxx    |    1 
 sw/source/uibase/docvw/PostItMgr.cxx |   69 ++++++++++++++++-------------------
 3 files changed, 42 insertions(+), 46 deletions(-)

New commits:
commit afea67b1d324090db05f33a703925cb2926c008d
Author:     Heiko Tietze <heiko.tie...@documentfoundation.org>
AuthorDate: Mon Aug 12 11:28:38 2024 +0200
Commit:     Heiko Tietze <heiko.tie...@documentfoundation.org>
CommitDate: Tue Aug 13 11:31:54 2024 +0200

    Resolves tdf#162435 - TC author colors inherit anchor colors
    
    Fix to regression from I773793de8cfbdc0d23124db790604b93030375c2
    
    * base color is now anchor, light/dark calculated as luminance
    * default colors adjusted respectively
    
    Change-Id: I9872a959d51714c736cd2adb216d76a0846aeec6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171753
    Reviewed-by: Heiko Tietze <heiko.tie...@documentfoundation.org>
    Tested-by: Jenkins

diff --git a/svtools/source/config/colorcfg.cxx 
b/svtools/source/config/colorcfg.cxx
index 93e3e2e988da..b46c3d1a9d6e 100644
--- a/svtools/source/config/colorcfg.cxx
+++ b/svtools/source/config/colorcfg.cxx
@@ -441,15 +441,15 @@ Color ColorConfig::GetDefaultColor(ColorConfigEntry 
eEntry, int nMod)
         { COL_BLACK,        Color(0xEEEEEE) }, // CALCTEXT
         { COL_LIGHTGRAY,    Color(0x1C1C1C) }, // CALCPROTECTEDBACKGROUND
         { COL_GRAY7,        COL_GRAY7       }, // DRAWGRID
-        { Color(0xFFFF9E),  Color(0x80804f) }, // AUTHOR1
-        { Color(0xD8E8FF),  Color(0x6c7480) }, // AUTHOR2
-        { Color(0xDAF8C1),  Color(0x708063) }, // AUTHOR3
-        { Color(0xE4D2F5),  Color(0x776d80) }, // AUTHOR4
-        { Color(0xFECDD0),  Color(0x806768) }, // AUTHOR5
-        { Color(0xD2F6F6),  Color(0x6c8080) }, // AUTHOR6
-        { Color(0xEDFCA3),  Color(0x788052) }, // AUTHOR7
-        { Color(0xD3DEE8),  Color(0x747a80) }, // AUTHOR8
-        { Color(0xFFE2B9),  Color(0x80715d) }, // AUTHOR9
+        { Color(0xC69200),  Color(0xffffa6) }, // AUTHOR1
+        { Color(0x0646A2),  Color(0xb4c7dc) }, // AUTHOR2
+        { Color(0x579D1C),  Color(0xffa6a6) }, // AUTHOR3
+        { Color(0x692B9D),  Color(0xafd095) }, // AUTHOR4
+        { Color(0xC5000B),  Color(0xffb66c) }, // AUTHOR5
+        { Color(0x008080),  Color(0xbf819e) }, // AUTHOR6
+        { Color(0x8C8400),  Color(0xd4ea6b) }, // AUTHOR7
+        { Color(0x35556B),  Color(0xe8a202) }, // AUTHOR8
+        { Color(0xD17600),  Color(0x5983b0) }, // AUTHOR9
         { COL_WHITE,        Color(0x1C1C1C) }, // BASICEDITOR
         { COL_GREEN,        Color(0xDDE8CB) }, // BASICIDENTIFIER
         { COL_GRAY,         Color(0xEEEEEE) }, // BASICCOMMENT
diff --git a/sw/source/uibase/app/swmodul1.cxx 
b/sw/source/uibase/app/swmodul1.cxx
index a5d6d0b7124b..b246dbbb5b2e 100644
--- a/sw/source/uibase/app/swmodul1.cxx
+++ b/sw/source/uibase/app/swmodul1.cxx
@@ -429,6 +429,7 @@ void SwModule::ClearRedlineAuthors()
 
 static Color lcl_GetAuthorColor(std::size_t nPos)
 {
+    // same as SwPostItMgr::GetColorAnchor()
     switch (nPos % 9)
     {
         case 0: return 
SW_MOD()->GetColorConfig().GetColorValue(svtools::AUTHOR1).nColor;
diff --git a/sw/source/uibase/docvw/PostItMgr.cxx 
b/sw/source/uibase/docvw/PostItMgr.cxx
index 764968fe07e5..21af23963b58 100644
--- a/sw/source/uibase/docvw/PostItMgr.cxx
+++ b/sw/source/uibase/docvw/PostItMgr.cxx
@@ -2248,53 +2248,48 @@ tools::ULong SwPostItMgr::GetSidebarBorderWidth(bool 
bPx) const
 
 Color SwPostItMgr::GetColorDark(std::size_t aAuthorIndex)
 {
-    if (!Application::GetSettings().GetStyleSettings().GetHighContrastMode())
-    {
-        svtools::ColorConfig aColorConfig;
-        switch (aAuthorIndex % 9)
-        {
-            case 0:
-                return aColorConfig.GetColorValue(svtools::AUTHOR1).nColor;
-            case 1:
-                return aColorConfig.GetColorValue(svtools::AUTHOR2).nColor;
-            case 2:
-                return aColorConfig.GetColorValue(svtools::AUTHOR3).nColor;
-            case 3:
-                return aColorConfig.GetColorValue(svtools::AUTHOR4).nColor;
-            case 4:
-                return aColorConfig.GetColorValue(svtools::AUTHOR5).nColor;
-            case 5:
-                return aColorConfig.GetColorValue(svtools::AUTHOR6).nColor;
-            case 6:
-                return aColorConfig.GetColorValue(svtools::AUTHOR7).nColor;
-            case 7:
-                return aColorConfig.GetColorValue(svtools::AUTHOR8).nColor;
-            case 8:
-                return aColorConfig.GetColorValue(svtools::AUTHOR9).nColor;
-        }
-    }
-
-    return COL_WHITE;
+    Color aColor = GetColorAnchor(aAuthorIndex);
+    svtools::ColorConfig aColorConfig;
+    const Color aBgColor(aColorConfig.GetColorValue(svtools::DOCCOLOR).nColor);
+    if (aBgColor.IsDark())
+        aColor.DecreaseLuminance(80);
+    else
+        aColor.IncreaseLuminance(150);
+    return aColor;
 }
 
 Color SwPostItMgr::GetColorLight(std::size_t aAuthorIndex)
 {
-    Color aColor = GetColorDark(aAuthorIndex);
-    if (MiscSettings::GetUseDarkMode())
-        aColor.IncreaseLuminance(30);
+    Color aColor = GetColorAnchor(aAuthorIndex);
+    svtools::ColorConfig aColorConfig;
+    const Color aBgColor(aColorConfig.GetColorValue(svtools::DOCCOLOR).nColor);
+    if (aBgColor.IsDark())
+        aColor.DecreaseLuminance(130);
     else
-        aColor.DecreaseLuminance(30);
+        aColor.IncreaseLuminance(200);
     return aColor;
 }
 
 Color SwPostItMgr::GetColorAnchor(std::size_t aAuthorIndex)
 {
-    Color aColor = GetColorDark(aAuthorIndex);
-    if (aColor.IsDark())
-        aColor.IncreaseLuminance(80);
-    else
-        aColor.DecreaseLuminance(80);
-    return aColor;
+    if (!Application::GetSettings().GetStyleSettings().GetHighContrastMode())
+    {
+        svtools::ColorConfig aColorConfig;
+        switch (aAuthorIndex % 9)
+        {
+            case 0: return aColorConfig.GetColorValue(svtools::AUTHOR1).nColor;
+            case 1: return aColorConfig.GetColorValue(svtools::AUTHOR2).nColor;
+            case 2: return aColorConfig.GetColorValue(svtools::AUTHOR3).nColor;
+            case 3: return aColorConfig.GetColorValue(svtools::AUTHOR4).nColor;
+            case 4: return aColorConfig.GetColorValue(svtools::AUTHOR5).nColor;
+            case 5: return aColorConfig.GetColorValue(svtools::AUTHOR6).nColor;
+            case 6: return aColorConfig.GetColorValue(svtools::AUTHOR7).nColor;
+            case 7: return aColorConfig.GetColorValue(svtools::AUTHOR8).nColor;
+            case 8: return aColorConfig.GetColorValue(svtools::AUTHOR9).nColor;
+        }
+    }
+
+    return COL_WHITE;
 }
 
 void SwPostItMgr::SetActiveSidebarWin( SwAnnotationWin* p)

Reply via email to