[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - vcl/win

2023-07-18 Thread Sarper Akdemir (via logerrit)
 vcl/win/window/salframe.cxx |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit 44d41ab98f5210a37cbcd04819a38c08a01464d4
Author: Sarper Akdemir 
AuthorDate: Fri Jul 14 18:04:35 2023 +0300
Commit: Sarper Akdemir 
CommitDate: Tue Jul 18 10:55:17 2023 +0200

tdf#90023: vcl: fix tooltip displaying over two monitors on Windows

To determine the WorkArea correctly in ImplSalGetWorkArea,
pass in the mouse pointer as pParentRect.

Similarly to how it has been done on:
vcl/win/window/salframe.cxx:1393

Change-Id: I43123be315c5ea146c118e8e2a582ceaaab0a35e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154442
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir 
(cherry picked from commit dc5163af166cb2afb9811dbf0443e1fcceafbb9a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154463
Reviewed-by: Thorsten Behrens 
(cherry picked from commit 2d3892f2bc51390825d6775c5f193c4864005a06)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154466

diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index 5f1961a7f5d6..6ab7bc61d673 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -1595,7 +1595,14 @@ void WinSalFrame::SetPluginParent( SystemParentData* 
pNewParent )
 void WinSalFrame::GetWorkArea( tools::Rectangle  )
 {
 RECT aRect;
-ImplSalGetWorkArea( mhWnd, , nullptr );
+
+// pass cursor's position to ImplSalGetWorkArea to determine work area on
+// multi monitor setups correctly.
+POINT aPoint;
+GetCursorPos();
+RECT aRect2{ aPoint.x, aPoint.y, aPoint.x + 2, aPoint.y + 2 };
+
+ImplSalGetWorkArea( mhWnd, ,  );
 rRect.SetLeft( aRect.left );
 rRect.SetRight( aRect.right-1 );
 rRect.SetTop( aRect.top );


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - vcl/win

2023-02-12 Thread Caolán McNamara (via logerrit)
 vcl/win/window/salframe.cxx |   53 
 1 file changed, 34 insertions(+), 19 deletions(-)

New commits:
commit aa6e42c4a46104115947625edb9d7eb34c418758
Author: Caolán McNamara 
AuthorDate: Sun Feb 12 20:21:35 2023 +
Commit: Adolfo Jayme Barrientos 
CommitDate: Sun Feb 12 23:15:49 2023 +

Resolves: tdf#153566 set darkmode menubar background color

because we use it for custom menu titles backgrounds

Change-Id: I1ae679bc032d29c4901befc2f1b0cbb53d0a5d1e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146801
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index dc804a76ab35..e6c8f8a48582 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -2638,6 +2638,34 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings 
)
 Color aMenuBarRolloverTextColor;
 Color aHighlightTextColor = 
ImplWinColorToSal(GetSysColor(COLOR_HIGHLIGHTTEXT));
 
+BOOL bFlatMenus = FALSE;
+SystemParametersInfoW( SPI_GETFLATMENU, 0, , 0);
+if( bFlatMenus )
+{
+aStyleSettings.SetUseFlatMenus( true );
+// flat borders for our controls etc. as well in this mode (ie, no 3d 
borders)
+// this is not active in the classic style appearance
+aStyleSettings.SetUseFlatBorders( true );
+}
+else
+{
+aStyleSettings.SetUseFlatMenus( false );
+aStyleSettings.SetUseFlatBorders( false );
+}
+
+if( bFlatMenus )
+{
+aStyleSettings.SetMenuHighlightColor( ImplWinColorToSal( GetSysColor( 
COLOR_MENUHILIGHT ) ) );
+aStyleSettings.SetMenuBarRolloverColor( ImplWinColorToSal( 
GetSysColor( COLOR_MENUHILIGHT ) ) );
+aStyleSettings.SetMenuBorderColor( ImplWinColorToSal( GetSysColor( 
COLOR_3DSHADOW ) ) );
+}
+else
+{
+aStyleSettings.SetMenuHighlightColor( ImplWinColorToSal( GetSysColor( 
COLOR_HIGHLIGHT ) ) );
+aStyleSettings.SetMenuBarRolloverColor( ImplWinColorToSal( 
GetSysColor( COLOR_HIGHLIGHT ) ) );
+aStyleSettings.SetMenuBorderColor( ImplWinColorToSal( GetSysColor( 
COLOR_3DLIGHT ) ) );
+}
+
 const bool bUseDarkMode(UseDarkMode());
 
 OUString sThemeName(!bUseDarkMode ? u"colibre" : u"colibre_dark");
@@ -2681,6 +2709,8 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
 hTheme = OpenThemeData(mhWnd, L"Toolbar");
 GetThemeColor(hTheme, 0, 0, TMT_FILLCOLOR, );
 aStyleSettings.SetInactiveTabColor( ImplWinColorToSal( color ) );
+// see ImplDrawNativeControl for dark mode
+aStyleSettings.SetMenuBarColor( aStyleSettings.GetWindowColor() );
 CloseThemeData(hTheme);
 
 if (hTheme = OpenThemeData(mhWnd, L"Textstyle"))
@@ -2707,6 +2737,10 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings 
)
 aStyleSettings.SetMenuTextColor( ImplWinColorToSal( GetSysColor( 
COLOR_MENUTEXT ) ) );
 aMenuBarTextColor = ImplWinColorToSal( GetSysColor( COLOR_MENUTEXT ) );
 aMenuBarRolloverTextColor = aHighlightTextColor;
+if( bFlatMenus )
+aStyleSettings.SetMenuBarColor( ImplWinColorToSal( GetSysColor( 
COLOR_MENUBAR ) ) );
+else
+aStyleSettings.SetMenuBarColor( ImplWinColorToSal( GetSysColor( 
COLOR_MENU ) ) );
 aStyleSettings.SetActiveTabColor( aStyleSettings.GetWindowColor() );
 aStyleSettings.SetInactiveTabColor( aStyleSettings.GetFaceColor() );
 }
@@ -2770,7 +2804,6 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
 aStyleSettings.SetHighlightTextColor(aHighlightTextColor);
 aStyleSettings.SetListBoxWindowHighlightColor( 
aStyleSettings.GetHighlightColor() );
 aStyleSettings.SetListBoxWindowHighlightTextColor( 
aStyleSettings.GetHighlightTextColor() );
-aStyleSettings.SetMenuHighlightColor( aStyleSettings.GetHighlightColor() );
 aStyleSettings.SetMenuHighlightTextColor( 
aStyleSettings.GetHighlightTextColor() );
 
 ImplSVData* pSVData = ImplGetSVData();
@@ -2779,30 +2812,12 @@ void WinSalFrame::UpdateSettings( AllSettings& 
rSettings )
 pSVData->maNWFData.maMenuBarHighlightTextColor = COL_TRANSPARENT;
 GetSalData()->mbThemeMenuSupport = false;
 aStyleSettings.SetMenuColor( ImplWinColorToSal( GetSysColor( COLOR_MENU ) 
) );
-aStyleSettings.SetMenuBarColor( aStyleSettings.GetMenuColor() );
-aStyleSettings.SetMenuBarRolloverColor( aStyleSettings.GetHighlightColor() 
);
-aStyleSettings.SetMenuBorderColor( aStyleSettings.GetLightBorderColor() ); 
// overridden below for flat menus
-aStyleSettings.SetUseFlatBorders( false );
-aStyleSettings.SetUseFlatMenus( false );
 
aStyleSettings.SetMenuBarHighlightTextColor(aStyleSettings.GetMenuHighlightTextColor());
 aStyleSettings.SetActiveColor( ImplWinColorToSal( GetSysColor( 
COLOR_ACTIVECAPTION ) ) );
 aStyleSettings.SetActiveTextColor( 

[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - vcl/win

2023-02-01 Thread Caolán McNamara (via logerrit)
 vcl/win/window/salframe.cxx |7 +++
 1 file changed, 7 insertions(+)

New commits:
commit fbb3b4db190f044fc99048116087a891e7d9f25f
Author: Caolán McNamara 
AuthorDate: Wed Feb 1 15:23:10 2023 +
Commit: Adolfo Jayme Barrientos 
CommitDate: Wed Feb 1 20:07:15 2023 +

tdf#148085 get a more readable hyperlink color under windows dark mode

Change-Id: I392206eb9fcff7fca39c6efee747486f4dfa925e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146405
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index e1333b4a6c67..6a7eecdb71b1 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -2683,6 +2683,13 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings 
)
 aStyleSettings.SetInactiveTabColor( ImplWinColorToSal( color ) );
 CloseThemeData(hTheme);
 
+if (hTheme = OpenThemeData(mhWnd, L"Textstyle"))
+{
+GetThemeColor(hTheme, TEXT_HYPERLINKTEXT, TS_HYPERLINK_NORMAL, 
TMT_TEXTCOLOR, );
+aStyleSettings.SetLinkColor(ImplWinColorToSal(color));
+CloseThemeData(hTheme);
+}
+
 // tdf#148448 pick a warning color more likely to be readable as a
 // background in a dark theme
 aStyleSettings.SetWarningColor(Color(0xf5, 0x79, 0x00));


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - vcl/win

2023-01-31 Thread Caolán McNamara (via logerrit)
 vcl/win/gdi/salnativewidgets-luna.cxx |   12 
 1 file changed, 12 insertions(+)

New commits:
commit c85107bc4ab93e2cdc9db1700577ec3f462d9fe9
Author: Caolán McNamara 
AuthorDate: Tue Jan 31 10:22:35 2023 +
Commit: Adolfo Jayme Barrientos 
CommitDate: Wed Feb 1 01:58:06 2023 +

tdf#153287 rollover in dark mode with "Explorer" is incongruous

Using "CFD" gives a brighter border with rollover, but no notable
focus state when focused. Try a combination here to get something
decent.

Change-Id: If7844cb0f1e88410959aa622b0271c3f3954230e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146395
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/vcl/win/gdi/salnativewidgets-luna.cxx 
b/vcl/win/gdi/salnativewidgets-luna.cxx
index 5ab4c6cb4dd6..1cd6245658d6 100644
--- a/vcl/win/gdi/salnativewidgets-luna.cxx
+++ b/vcl/win/gdi/salnativewidgets-luna.cxx
@@ -1189,7 +1189,11 @@ bool WinSalGraphics::drawNativeControl( ControlType 
nType,
 break;
 case ControlType::Combobox:
 if( nPart == ControlPart::Entire )
+{
+if (bUseDarkMode && !(nState & ControlState::FOCUSED))
+SetWindowTheme(mhWnd, L"CFD", nullptr);
 hTheme = getThemeHandle(mhWnd, L"Edit", 
mWinSalGraphicsImplBase);
+}
 else if( nPart == ControlPart::ButtonDown )
 {
 if (bUseDarkMode)
@@ -1199,7 +1203,11 @@ bool WinSalGraphics::drawNativeControl( ControlType 
nType,
 break;
 case ControlType::Spinbox:
 if( nPart == ControlPart::Entire )
+{
+if (bUseDarkMode && !(nState & ControlState::FOCUSED))
+SetWindowTheme(mhWnd, L"CFD", nullptr);
 hTheme = getThemeHandle(mhWnd, L"Edit", 
mWinSalGraphicsImplBase);
+}
 else
 hTheme = getThemeHandle(mhWnd, L"Spin", 
mWinSalGraphicsImplBase);
 break;
@@ -1207,6 +1215,10 @@ bool WinSalGraphics::drawNativeControl( ControlType 
nType,
 hTheme = getThemeHandle(mhWnd, L"Spin", mWinSalGraphicsImplBase);
 break;
 case ControlType::Editbox:
+if (bUseDarkMode && !(nState & ControlState::FOCUSED))
+SetWindowTheme(mhWnd, L"CFD", nullptr);
+hTheme = getThemeHandle(mhWnd, L"Edit", mWinSalGraphicsImplBase);
+break;
 case ControlType::MultilineEditbox:
 hTheme = getThemeHandle(mhWnd, L"Edit", mWinSalGraphicsImplBase);
 break;


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - vcl/win

2023-01-31 Thread Caolán McNamara (via logerrit)
 vcl/win/gdi/salnativewidgets-luna.cxx |   15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)

New commits:
commit 5b64ac83cdbab98052c478d5bb6954b324a36171
Author: Caolán McNamara 
AuthorDate: Tue Jan 31 10:49:51 2023 +
Commit: Adolfo Jayme Barrientos 
CommitDate: Tue Jan 31 16:52:21 2023 +

tdf#153273 bodge dark scrollbar into drop downs

Change-Id: I9c53b931feb7f720f86edfbb6ae88ff5ee436cef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146396
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/vcl/win/gdi/salnativewidgets-luna.cxx 
b/vcl/win/gdi/salnativewidgets-luna.cxx
index 1c177a1b2a97..5ab4c6cb4dd6 100644
--- a/vcl/win/gdi/salnativewidgets-luna.cxx
+++ b/vcl/win/gdi/salnativewidgets-luna.cxx
@@ -1172,7 +1172,20 @@ bool WinSalGraphics::drawNativeControl( ControlType 
nType,
 hTheme = getThemeHandle(mhWnd, L"Button", mWinSalGraphicsImplBase);
 break;
 case ControlType::Scrollbar:
-hTheme = getThemeHandle(mhWnd, L"Scrollbar", 
mWinSalGraphicsImplBase);
+if (bUseDarkMode)
+{
+// tdf#153273 undo the earlier SetWindowTheme, and use an 
explicit Explorer::Scrollbar
+// a) with "Scrollbar" and SetWindowTheme(... "Explorer" ...) 
then scrollbars in dialog
+// and main windows are dark, but dropdowns are light
+// b) with "Explorer::Scrollbar" and SetWindowTheme(... 
"Explorer" ...) then scrollbars
+// in dropdowns are dark, but scrollbars in dialogs and main 
windows are sort of "extra
+// dark"
+// c) with "Explorer::Scrollbar" and no SetWindowTheme both 
cases are dark
+SetWindowTheme(mhWnd, nullptr, nullptr);
+hTheme = getThemeHandle(mhWnd, L"Explorer::Scrollbar", 
mWinSalGraphicsImplBase);
+}
+else
+hTheme = getThemeHandle(mhWnd, L"Scrollbar", 
mWinSalGraphicsImplBase);
 break;
 case ControlType::Combobox:
 if( nPart == ControlPart::Entire )


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - vcl/win

2023-01-24 Thread Caolán McNamara (via logerrit)
 vcl/win/window/salframe.cxx |   18 ++
 1 file changed, 18 insertions(+)

New commits:
commit d860ab4279afb9864da4979082eadcd8a24c4ebc
Author: Caolán McNamara 
AuthorDate: Tue Jan 24 10:13:20 2023 +
Commit: Caolán McNamara 
CommitDate: Tue Jan 24 13:34:01 2023 +

tdf#152404 crash in Windows with ctrl+alt+c during ExtTextInput

Change-Id: I73ed19eeae49ef737aae372b8f4c053f67a169c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146075
Reviewed-by: Michael Stahl 
Tested-by: Jenkins

diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index 7158ca3e1fc1..e1333b4a6c67 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -3416,6 +3416,22 @@ static void UnsetAltIfAltGr(SalKeyEvent& rKeyEvt, 
sal_uInt16 nModCode)
 }
 }
 
+// tdf#152404 Commit uncommitted text before dispatching key shortcuts. In
+// certain cases such as pressing Command-Option-C in a Writer document while
+// there is uncommitted text will call AquaSalFrame::EndExtTextInput() which
+// will dispatch a SalEvent::EndExtTextInput event. Writer's handler for that
+// event will delete the uncommitted text and then insert the committed text
+// but LibreOffice will crash when deleting the uncommitted text because
+// deletion of the text also removes and deletes the newly inserted comment.
+static void FlushIMBeforeShortCut(WinSalFrame* pFrame, SalEvent nEvent, 
sal_uInt16 nModCode)
+{
+if (pFrame->mbCandidateMode && nEvent == SalEvent::KeyInput
+&& (nModCode & (KEY_MOD1 | KEY_MOD2)))
+{
+pFrame->EndExtTextInput(EndExtTextInputFlags::Complete);
+}
+}
+
 static bool ImplHandleKeyMsg( HWND hWnd, UINT nMsg,
   WPARAM wParam, LPARAM lParam, LRESULT& rResult )
 {
@@ -3506,6 +3522,7 @@ static bool ImplHandleKeyMsg( HWND hWnd, UINT nMsg,
 aKeyEvt.mnRepeat= nRepeat;
 
 UnsetAltIfAltGr(aKeyEvt, nModCode);
+FlushIMBeforeShortCut(pFrame, SalEvent::KeyInput, nModCode);
 
 nLastChar = 0;
 nLastVKChar = 0;
@@ -3661,6 +3678,7 @@ static bool ImplHandleKeyMsg( HWND hWnd, UINT nMsg,
 aKeyEvt.mnRepeat= nRepeat;
 
 UnsetAltIfAltGr(aKeyEvt, nModCode);
+FlushIMBeforeShortCut(pFrame, nEvent, nModCode);
 
 bIgnoreCharMsg = bCharPeek;
 bool nRet = pFrame->CallCallback( nEvent,  );


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - vcl/win

2022-12-13 Thread Caolán McNamara (via logerrit)
 vcl/win/gdi/salnativewidgets-luna.cxx |   70 ++
 1 file changed, 38 insertions(+), 32 deletions(-)

New commits:
commit 090f5ffc924052a388006bbf97d9ef491687e2d4
Author: Caolán McNamara 
AuthorDate: Tue Dec 13 12:23:24 2022 +
Commit: Caolán McNamara 
CommitDate: Tue Dec 13 15:17:18 2022 +

Related: tdf#152454 don't use Button to render dark mode Tabs

on Windows. I can't find anything obviously suitable, so fall back to
drawing simple rectangles with ActiveTabColor/InactiveTabColor

Change-Id: Ic9e67baeb9e86c80787aa935d8f266e4a7db4489
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144055
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/vcl/win/gdi/salnativewidgets-luna.cxx 
b/vcl/win/gdi/salnativewidgets-luna.cxx
index 601575a9f58b..e3811020a42e 100644
--- a/vcl/win/gdi/salnativewidgets-luna.cxx
+++ b/vcl/win/gdi/salnativewidgets-luna.cxx
@@ -762,11 +762,17 @@ static bool ImplDrawNativeControl( HDC hDC, HTHEME 
hTheme, RECT rc,
 if( nType == ControlType::TabPane )
 {
 // tabpane in tabcontrols gets drawn in "darkmode" as if it was a
-// a "light" theme, so bodge this by drawing with a button instead
+// a "light" theme, so bodge this by drawing a frame directly
 if (UseDarkMode())
-iPart = BP_PUSHBUTTON;
-else
-iPart = TABP_PANE;
+{
+Color 
aColor(Application::GetSettings().GetStyleSettings().GetDisableColor());
+ScopedHBRUSH hbrush(CreateSolidBrush(RGB(aColor.GetRed(),
+ aColor.GetGreen(),
+ aColor.GetBlue(;
+FrameRect(hDC, , hbrush.get());
+return true;
+}
+iPart = TABP_PANE;
 return ImplDrawTheme( hTheme, hDC, iPart, iState, rc, aCaption);
 }
 
@@ -804,7 +810,8 @@ static bool ImplDrawNativeControl( HDC hDC, HTHEME hTheme, 
RECT rc,
 iPart = TABP_TABITEMLEFTEDGE;
 else if (rValue.isRightAligned())
 iPart = TABP_TABITEMRIGHTEDGE;
-else iPart = TABP_TABITEM;
+else
+iPart = TABP_TABITEM;
 
 if( !(nState & ControlState::ENABLED) )
 iState = TILES_DISABLED;
@@ -834,25 +841,31 @@ static bool ImplDrawNativeControl( HDC hDC, HTHEME 
hTheme, RECT rc,
 // a "light" theme, so bodge this by drawing with a button instead
 if (UseDarkMode())
 {
-iPart = BP_PUSHBUTTON;
-switch (iState)
-{
-case TILES_DISABLED:
-iState = PBS_DISABLED;
-break;
-case TILES_SELECTED:
-iState = PBS_DEFAULTED;
-break;
-case TILES_HOT:
-iState = PBS_HOT;
-break;
-case TILES_FOCUSED:
-iState = PBS_PRESSED;
-break;
-default:
-iState = PBS_NORMAL;
-break;
-}
+Color aColor;
+if (iState == TILES_SELECTED)
+aColor = 
Application::GetSettings().GetStyleSettings().GetActiveTabColor();
+else
+aColor = 
Application::GetSettings().GetStyleSettings().GetInactiveTabColor();
+ScopedHBRUSH hbrush(CreateSolidBrush(RGB(aColor.GetRed(),
+ aColor.GetGreen(),
+ aColor.GetBlue(;
+FillRect(hDC, , hbrush.get());
+
+aColor = 
Application::GetSettings().GetStyleSettings().GetDisableColor();
+ScopedSelectedHPEN hPen(hDC, CreatePen(PS_SOLID, 1, 
RGB(aColor.GetRed(),
+
aColor.GetGreen(),
+
aColor.GetBlue(;
+POINT apt[4];
+apt[0].x = rc.left;
+apt[0].y = rc.bottom - (iPart == TABP_TABITEMLEFTEDGE ? 1 : 2);
+apt[1].x = rc.left;
+apt[1].y = rc.top;
+apt[2].x = rc.right;
+apt[2].y = rc.top;
+apt[3].x = rc.right;
+apt[3].y = rc.bottom - 1;
+Polyline(hDC, apt, SAL_N_ELEMENTS(apt));
+return true;
 }
 
 return ImplDrawTheme( hTheme, hDC, iPart, iState, rc, aCaption);
@@ -1195,14 +1208,7 @@ bool WinSalGraphics::drawNativeControl( ControlType 
nType,
 break;
 case ControlType::TabPane:
 case ControlType::TabItem:
-if (bUseDarkMode)
-{
-// tabitem in tabcontrols gets drawn in "darkmode" as if it 
was a
-// a "light" theme, so bodge this by drawing with a button 
instead
-hTheme = 

[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - vcl/win

2022-12-13 Thread Caolán McNamara (via logerrit)
 vcl/win/window/salframe.cxx |   10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

New commits:
commit 39f589a11768124a5b415c94cccb0141a798405d
Author: Caolán McNamara 
AuthorDate: Tue Dec 13 12:21:49 2022 +
Commit: Caolán McNamara 
CommitDate: Tue Dec 13 14:40:03 2022 +

Related: tdf#152454 pick something suitable for dark mode Inactive tab color

on Windows

Change-Id: I400ca7d8c0c541977b574ae08f08aa5f28a2e3d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144054
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index 60df85ba814e..7158ca3e1fc1 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -2677,6 +2677,12 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings 
)
 aMenuBarRolloverTextColor = ImplWinColorToSal( color );
 CloseThemeData(hTheme);
 
+aStyleSettings.SetActiveTabColor( aStyleSettings.GetWindowColor() );
+hTheme = OpenThemeData(mhWnd, L"Toolbar");
+GetThemeColor(hTheme, 0, 0, TMT_FILLCOLOR, );
+aStyleSettings.SetInactiveTabColor( ImplWinColorToSal( color ) );
+CloseThemeData(hTheme);
+
 // tdf#148448 pick a warning color more likely to be readable as a
 // background in a dark theme
 aStyleSettings.SetWarningColor(Color(0xf5, 0x79, 0x00));
@@ -2694,6 +2700,8 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
 aStyleSettings.SetMenuTextColor( ImplWinColorToSal( GetSysColor( 
COLOR_MENUTEXT ) ) );
 aMenuBarTextColor = ImplWinColorToSal( GetSysColor( COLOR_MENUTEXT ) );
 aMenuBarRolloverTextColor = aHighlightTextColor;
+aStyleSettings.SetActiveTabColor( aStyleSettings.GetWindowColor() );
+aStyleSettings.SetInactiveTabColor( aStyleSettings.GetFaceColor() );
 }
 
 if ( std::optional aColor = 
aStyleSettings.GetPersonaMenuBarTextColor() )
@@ -2705,7 +2713,6 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
 aStyleSettings.SetMenuBarTextColor( aMenuBarTextColor );
 aStyleSettings.SetMenuBarRolloverTextColor( aMenuBarRolloverTextColor );
 
-aStyleSettings.SetInactiveTabColor( aStyleSettings.GetFaceColor() );
 aStyleSettings.SetLightColor( ImplWinColorToSal( GetSysColor( 
COLOR_3DHILIGHT ) ) );
 aStyleSettings.SetLightBorderColor( ImplWinColorToSal( GetSysColor( 
COLOR_3DLIGHT ) ) );
 aStyleSettings.SetHelpColor( ImplWinColorToSal( GetSysColor( COLOR_INFOBK 
) ) );
@@ -2747,7 +2754,6 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
 
 aStyleSettings.SetGroupTextColor( aStyleSettings.GetRadioCheckTextColor() 
);
 aStyleSettings.SetLabelTextColor( aStyleSettings.GetRadioCheckTextColor() 
);
-aStyleSettings.SetActiveTabColor( aStyleSettings.GetWindowColor() );
 aStyleSettings.SetFieldColor( aStyleSettings.GetWindowColor() );
 aStyleSettings.SetListBoxWindowBackgroundColor( 
aStyleSettings.GetWindowColor() );
 aStyleSettings.SetFieldTextColor( aStyleSettings.GetWindowTextColor() );