From ae4ec7a75b0048af2fba12953a84fe5b26d89b9a Mon Sep 17 00:00:00 2001 From: Simon Long Date: Wed, 8 Jul 2015 13:51:10 +0100 Subject: tdf#92243 Read menu highlight text colour correctly from GTK theme MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Iade050c8504a1cc65b5ac345141da32898e7ebff Reviewed-on: https://gerrit.libreoffice.org/16887 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- vcl/source/window/menu.cxx | 9 ++++----- vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx | 8 +++----- 2 files changed, 7 insertions(+), 10 deletions(-) (limited to 'vcl') diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx index afe44c603a63..cb836371d077 100644 --- a/vcl/source/window/menu.cxx +++ b/vcl/source/window/menu.cxx @@ -1853,12 +1853,11 @@ void Menu::ImplPaint(vcl::RenderContext& rRenderContext, rRenderContext.SetTextColor(rSettings.GetMenuBarRolloverTextColor()); else if (bHighlighted) rRenderContext.SetTextColor(rSettings.GetMenuBarHighlightTextColor()); + else + rRenderContext.SetTextColor(rSettings.GetMenuBarTextColor()); } - else - { - if (bHighlighted) - rRenderContext.SetTextColor(rSettings.GetMenuHighlightTextColor()); - } + else if (bHighlighted) + rRenderContext.SetTextColor(rSettings.GetMenuHighlightTextColor()); } Point aPos(aTopLeft); diff --git a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx index 713cbe511afd..89c0f62c9d11 100644 --- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx @@ -4017,8 +4017,8 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) aTextColor = aStyleSet.GetPersonaMenuBarTextColor().get_value_or( getColor( pMenubarStyle->fg[GTK_STATE_NORMAL] ) ); aStyleSet.SetMenuBarTextColor( aTextColor ); - aStyleSet.SetMenuBarRolloverTextColor( aTextColor ); - aStyleSet.SetMenuBarHighlightTextColor(aStyleSet.GetMenuHighlightTextColor()); + aStyleSet.SetMenuBarRolloverTextColor(getColor(pMenubarStyle->fg[GTK_STATE_PRELIGHT])); + aStyleSet.SetMenuBarHighlightTextColor(getColor(pMenubarStyle->fg[GTK_STATE_SELECTED])); #if OSL_DEBUG_LEVEL > 1 std::fprintf( stderr, "==\n" ); @@ -4049,9 +4049,7 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) } aHighlightColor = getColor( pMenuItemStyle->bg[ GTK_STATE_SELECTED ] ); - aHighlightTextColor = getColor( pMenuTextStyle->fg[ GTK_STATE_PRELIGHT ] ); - if( aHighlightColor == aHighlightTextColor ) - aHighlightTextColor = (aHighlightColor.GetLuminance() < 128) ? Color( COL_WHITE ) : Color( COL_BLACK ); + aHighlightTextColor = getColor( pMenuItemStyle->fg[ GTK_STATE_SELECTED ] ); aStyleSet.SetMenuHighlightColor( aHighlightColor ); aStyleSet.SetMenuHighlightTextColor( aHighlightTextColor ); -- cgit