diff options
-rw-r--r-- | vcl/headless/CustomWidgetDraw.cxx | 8 | ||||
-rw-r--r-- | vcl/source/window/menufloatingwindow.cxx | 17 |
2 files changed, 20 insertions, 5 deletions
diff --git a/vcl/headless/CustomWidgetDraw.cxx b/vcl/headless/CustomWidgetDraw.cxx index bdae8cea8ade..c428213c6000 100644 --- a/vcl/headless/CustomWidgetDraw.cxx +++ b/vcl/headless/CustomWidgetDraw.cxx @@ -343,15 +343,15 @@ bool CustomWidgetDraw::updateSettings(AllSettings& rSettings) aStyleSet.SetDeactiveColor(Color(COL_GRAY)); aStyleSet.SetDeactiveTextColor(Color(COL_LIGHTGRAY)); aStyleSet.SetDeactiveBorderColor(Color(COL_LIGHTGRAY)); - aStyleSet.SetMenuColor(Color(COL_LIGHTGRAY)); - aStyleSet.SetMenuBarColor(Color(COL_LIGHTGRAY)); - aStyleSet.SetMenuBarRolloverColor(Color(COL_BLUE)); + aStyleSet.SetMenuColor(Color(COL_WHITE)); + aStyleSet.SetMenuBarColor(Color(COL_WHITE)); + aStyleSet.SetMenuBarRolloverColor(aStyle.maHighlightColor); aStyleSet.SetMenuBorderColor(Color(COL_LIGHTGRAY)); aStyleSet.SetMenuTextColor(Color(COL_BLACK)); aStyleSet.SetMenuBarTextColor(Color(COL_BLACK)); aStyleSet.SetMenuBarRolloverTextColor(Color(COL_WHITE)); aStyleSet.SetMenuBarHighlightTextColor(Color(COL_WHITE)); - aStyleSet.SetMenuHighlightColor(Color(COL_BLUE)); + aStyleSet.SetMenuHighlightColor(aStyle.maHighlightColor); aStyleSet.SetMenuHighlightTextColor(Color(COL_WHITE)); aStyleSet.SetHighlightColor(aStyle.maHighlightColor); aStyleSet.SetHighlightTextColor(aStyle.maHighlightTextColor); diff --git a/vcl/source/window/menufloatingwindow.cxx b/vcl/source/window/menufloatingwindow.cxx index 38bb20301bef..aa9bd5a8bc1c 100644 --- a/vcl/source/window/menufloatingwindow.cxx +++ b/vcl/source/window/menufloatingwindow.cxx @@ -23,6 +23,7 @@ #include <sal/log.hxx> #include <salmenu.hxx> +#include <salframe.hxx> #include <svdata.hxx> #include <vcl/decoview.hxx> #include <vcl/settings.hxx> @@ -136,8 +137,22 @@ void MenuFloatingWindow::ApplySettings(vcl::RenderContext& rRenderContext) { FloatingWindow::ApplySettings(rRenderContext); - const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings(); + if (IsNativeControlSupported(ControlType::MenuPopup, ControlPart::MenuItem) && + IsNativeControlSupported(ControlType::MenuPopup, ControlPart::Entire)) + { + AllSettings aSettings(GetSettings()); + ImplGetFrame()->UpdateSettings(aSettings); // Update theme colors. + StyleSettings aStyle(aSettings.GetStyleSettings()); + Color aHighlightTextColor = ImplGetSVData()->maNWFData.maMenuBarHighlightTextColor; + if (aHighlightTextColor != Color(COL_TRANSPARENT)) + { + aStyle.SetMenuHighlightTextColor(aHighlightTextColor); + } + aSettings.SetStyleSettings(aStyle); + OutputDevice::SetSettings(aSettings); + } + const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings(); SetPointFont(rRenderContext, rStyleSettings.GetMenuFont()); if (rRenderContext.IsNativeControlSupported(ControlType::MenuPopup, ControlPart::Entire)) |