summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2021-04-17 14:49:43 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-06-22 09:50:46 +0200
commit3c6a53b9ce64180b2a03e097c1844f7496f26815 (patch)
tree372ac39d17681164bb856568e65a2b08a567ebb1 /vcl
parent4af2fa2a8be04f2c0070f5d61ac296d3a6ea9c7a (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.cxx5
-rw-r--r--vcl/source/app/settings.cxx68
-rw-r--r--vcl/source/control/imp_listbox.cxx8
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);
}