diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2021-04-17 14:49:43 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-06-22 09:50:46 +0200 |
commit | 3c6a53b9ce64180b2a03e097c1844f7496f26815 (patch) | |
tree | 372ac39d17681164bb856568e65a2b08a567ebb1 /vcl | |
parent | 4af2fa2a8be04f2c0070f5d61ac296d3a6ea9c7a (diff) |
improve the look of the macOS combobox
Change-Id: I4484fabcf6d883deeb3e417e46ce3973f2332f94
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114251
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/osx/salframe.cxx | 5 | ||||
-rw-r--r-- | vcl/source/app/settings.cxx | 68 | ||||
-rw-r--r-- | vcl/source/control/imp_listbox.cxx | 8 |
3 files changed, 77 insertions, 4 deletions
diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx index 984ff8c5f5be..574122a1a91d 100644 --- a/vcl/osx/salframe.cxx +++ b/vcl/osx/salframe.cxx @@ -1283,6 +1283,11 @@ SAL_WNODEPRECATED_DECLARATIONS_POP aStyleSettings.SetMenuBarRolloverTextColor( aMenuTextColor ); aStyleSettings.SetMenuBarHighlightTextColor(aStyleSettings.GetMenuHighlightTextColor()); + aStyleSettings.SetListBoxWindowBackgroundColor( aBackgroundColor ); + aStyleSettings.SetListBoxWindowTextColor( aMenuTextColor ); + aStyleSettings.SetListBoxWindowHighlightColor( aMenuHighlightColor ); + aStyleSettings.SetListBoxWindowHighlightTextColor( aMenuHighlightTextColor ); + // Set text colors for buttons and their different status according to OS settings, typically white for selected buttons, // black otherwise diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx index f17c8286f68f..82093fcf2d65 100644 --- a/vcl/source/app/settings.cxx +++ b/vcl/source/app/settings.cxx @@ -125,6 +125,10 @@ struct ImplStyleData Color maMenuHighlightColor; Color maMenuHighlightTextColor; Color maMenuTextColor; + Color maListBoxWindowBackgroundColor; + Color maListBoxWindowTextColor; + Color maListBoxWindowHighlightColor; + Color maListBoxWindowHighlightTextColor; Color maMenuBarTextColor; Color maMenuBarRolloverTextColor; Color maMenuBarHighlightTextColor; @@ -546,6 +550,10 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) : maMenuHighlightColor( rData.maMenuHighlightColor ), maMenuHighlightTextColor( rData.maMenuHighlightTextColor ), maMenuTextColor( rData.maMenuTextColor ), + maListBoxWindowBackgroundColor( rData.maListBoxWindowBackgroundColor ), + maListBoxWindowTextColor( rData.maListBoxWindowTextColor ), + maListBoxWindowHighlightColor( rData.maListBoxWindowHighlightColor ), + maListBoxWindowHighlightTextColor( rData.maListBoxWindowHighlightTextColor ), maMenuBarTextColor( rData.maMenuBarTextColor ), maMenuBarRolloverTextColor( rData.maMenuBarRolloverTextColor ), maMenuBarHighlightTextColor( rData.maMenuBarHighlightTextColor ), @@ -692,6 +700,10 @@ void ImplStyleData::SetStandardStyles() maMenuBarRolloverColor = COL_BLUE; maMenuBorderColor = COL_LIGHTGRAY; maMenuTextColor = COL_BLACK; + maListBoxWindowBackgroundColor = COL_LIGHTGRAY; + maListBoxWindowTextColor = COL_BLACK; + maListBoxWindowHighlightColor = COL_BLUE; + maListBoxWindowHighlightTextColor = COL_WHITE; maMenuBarTextColor = COL_BLACK; maMenuBarRolloverTextColor = COL_WHITE; maMenuBarHighlightTextColor = COL_WHITE; @@ -1439,6 +1451,58 @@ StyleSettings::GetMenuHighlightTextColor() const } void +StyleSettings::SetListBoxWindowBackgroundColor( const Color& rColor ) +{ + CopyData(); + mxData->maListBoxWindowBackgroundColor = rColor; +} + +const Color& +StyleSettings::GetListBoxWindowBackgroundColor() const +{ + return mxData->maListBoxWindowBackgroundColor; +} + +void +StyleSettings::SetListBoxWindowTextColor( const Color& rColor ) +{ + CopyData(); + mxData->maListBoxWindowTextColor = rColor; +} + +const Color& +StyleSettings::GetListBoxWindowTextColor() const +{ + return mxData->maListBoxWindowTextColor; +} + +void +StyleSettings::SetListBoxWindowHighlightColor( const Color& rColor ) +{ + CopyData(); + mxData->maListBoxWindowHighlightColor = rColor; +} + +const Color& +StyleSettings::GetListBoxWindowHighlightColor() const +{ + return mxData->maListBoxWindowHighlightColor; +} + +void +StyleSettings::SetListBoxWindowHighlightTextColor( const Color& rColor ) +{ + CopyData(); + mxData->maListBoxWindowHighlightTextColor = rColor; +} + +const Color& +StyleSettings::GetListBoxWindowHighlightTextColor() const +{ + return mxData->maListBoxWindowHighlightTextColor; +} + +void StyleSettings::SetTabTextColor( const Color& rColor ) { CopyData(); @@ -2476,6 +2540,10 @@ bool StyleSettings::operator ==( const StyleSettings& rSet ) const (mxData->maMenuBarRolloverColor == rSet.mxData->maMenuBarRolloverColor) && (mxData->maMenuBorderColor == rSet.mxData->maMenuBorderColor) && (mxData->maMenuTextColor == rSet.mxData->maMenuTextColor) && + (mxData->maListBoxWindowBackgroundColor == rSet.mxData->maListBoxWindowBackgroundColor) && + (mxData->maListBoxWindowTextColor == rSet.mxData->maListBoxWindowTextColor) && + (mxData->maListBoxWindowHighlightColor == rSet.mxData->maListBoxWindowHighlightColor) && + (mxData->maListBoxWindowHighlightTextColor == rSet.mxData->maListBoxWindowHighlightTextColor) && (mxData->maMenuBarTextColor == rSet.mxData->maMenuBarTextColor) && (mxData->maMenuBarRolloverTextColor == rSet.mxData->maMenuBarRolloverTextColor) && (mxData->maMenuHighlightColor == rSet.mxData->maMenuHighlightColor) && diff --git a/vcl/source/control/imp_listbox.cxx b/vcl/source/control/imp_listbox.cxx index fa01c647e9b0..e0e731a4b5b7 100644 --- a/vcl/source/control/imp_listbox.cxx +++ b/vcl/source/control/imp_listbox.cxx @@ -498,12 +498,12 @@ void ImplListBoxWindow::ApplySettings(vcl::RenderContext& rRenderContext) const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings(); ApplyControlFont(rRenderContext, rStyleSettings.GetFieldFont()); - ApplyControlForeground(rRenderContext, rStyleSettings.GetFieldTextColor()); + ApplyControlForeground(rRenderContext, rStyleSettings.GetListBoxWindowTextColor()); if (IsControlBackground()) rRenderContext.SetBackground(GetControlBackground()); else - rRenderContext.SetBackground(rStyleSettings.GetFieldColor()); + rRenderContext.SetBackground(rStyleSettings.GetListBoxWindowBackgroundColor()); } void ImplListBoxWindow::ImplCalcMetrics() @@ -1617,8 +1617,8 @@ void ImplListBoxWindow::ImplPaint(vcl::RenderContext& rRenderContext, sal_Int32 bool bSelected = maEntryList.IsEntryPosSelected(nPos); if (bSelected) { - rRenderContext.SetTextColor(!IsEnabled() ? rStyleSettings.GetDisableColor() : rStyleSettings.GetHighlightTextColor()); - rRenderContext.SetFillColor(rStyleSettings.GetHighlightColor()); + rRenderContext.SetTextColor(!IsEnabled() ? rStyleSettings.GetDisableColor() : rStyleSettings.GetListBoxWindowHighlightTextColor()); + rRenderContext.SetFillColor(rStyleSettings.GetListBoxWindowHighlightColor()); rRenderContext.SetLineColor(); rRenderContext.DrawRect(aRect); } |