vcl/unx/gtk3/salnativewidgets-gtk.cxx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
New commits: commit 764ff158fd18b0895961b8f3c460b345eb579271 Author: Sahil Gautam <sahil.gautam.ext...@allotropia.de> AuthorDate: Wed Dec 25 23:47:35 2024 +0530 Commit: Adolfo Jayme Barrientos <fit...@ubuntu.com> CommitDate: Wed Feb 26 03:35:18 2025 +0100 Fix menubar back and menu highlight reading black color from the system in GTK Themeing code gets menubar background color from StyleSettings, which was reported as rgba[000000ff] by the gtk code. fixed that by adding a background class to the menubar's GtkStyleContext. The Highlight color for menubar items and menu items was also reported rgba[000000ff]. Using Accent color for that for the time being. Change-Id: I605a75775f2786fe5ee7645ca707f5dd2037040d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179407 Reviewed-by: Sahil Gautam <sahil.gautam.ext...@allotropia.de> Tested-by: Jenkins (cherry picked from commit b820a2a5db707daeb7518a96bb7d3854ab71ca39) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182128 Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> diff --git a/vcl/unx/gtk3/salnativewidgets-gtk.cxx b/vcl/unx/gtk3/salnativewidgets-gtk.cxx index e92523b002f7..4562201a320c 100644 --- a/vcl/unx/gtk3/salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/salnativewidgets-gtk.cxx @@ -1394,6 +1394,7 @@ GtkStyleContext* GtkSalGraphics::createStyleContext(GtkControlPart ePart) GtkWidgetPath *path = gtk_widget_path_copy(gtk_style_context_get_path(mpWindowStyle)); gtk_widget_path_append_type(path, GTK_TYPE_MENU_BAR); gtk_widget_path_iter_set_object_name(path, -1, "menubar"); + gtk_widget_path_iter_add_class(path, -1, "background"); return makeContext(path, mpWindowStyle); } case GtkControlPart::MenuBarItem: @@ -2435,6 +2436,7 @@ bool GtkSalGraphics::updateSettings(AllSettings& rSettings) ::Color aHighlightTextColor = getColor( text_color ); aStyleSet.SetAccentColor( aHighlightColor ); // https://debugpointnews.com/gnome-native-accent-colour-announcement/ aStyleSet.SetHighlightColor( aHighlightColor ); + aStyleSet.SetMenuHighlightColor( aHighlightColor ); aStyleSet.SetHighlightTextColor( aHighlightTextColor ); aStyleSet.SetListBoxWindowHighlightColor( aHighlightColor ); aStyleSet.SetListBoxWindowHighlightTextColor( aHighlightTextColor ); @@ -2511,6 +2513,9 @@ bool GtkSalGraphics::updateSettings(AllSettings& rSettings) style_context_set_state(mpMenuBarStyle, GTK_STATE_FLAG_NORMAL); aBackColor = style_context_get_background_color(mpMenuBarStyle); aStyleSet.SetMenuBarColor( aBackColor ); + + style_context_set_state(mpMenuBarStyle, GTK_STATE_FLAG_SELECTED); + aBackColor = style_context_get_background_color(mpMenuBarStyle); aStyleSet.SetMenuBarRolloverColor( aBackColor ); style_context_set_state(mpMenuBarItemStyle, GTK_STATE_FLAG_NORMAL); @@ -2531,9 +2536,6 @@ bool GtkSalGraphics::updateSettings(AllSettings& rSettings) aStyleSet.SetMenuTextColor(aTextColor); style_context_set_state(mpMenuItemLabelStyle, GTK_STATE_FLAG_PRELIGHT); - ::Color aHighlightColor = style_context_get_background_color(mpMenuItemLabelStyle); - aStyleSet.SetMenuHighlightColor( aHighlightColor ); - style_context_get_color(mpMenuItemLabelStyle, &color); ::Color aHighlightTextColor = getColor( color ); aStyleSet.SetMenuHighlightTextColor( aHighlightTextColor );