vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-)
New commits: commit c1ac12f52776c625c7a091ab864b9e99e3bc3d67 Author: Ivan Timofeev <timofeev....@gmail.com> Date: Sat May 5 14:34:47 2012 +0400 gtk: fix drawing of disabled menu-item checkmarks and submenu arrows Change-Id: Ic9929de974b1dd806dee294e574ad9f561468eb4 diff --git a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx index 447ca92..7c06d6a 100644 --- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx @@ -2851,19 +2851,15 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu( gWidgetData[m_nXScreen].gMenuItemCheckMenuWidget : gWidgetData[m_nXScreen].gMenuItemRadioMenuWidget; - GtkStateType nStateType = GTK_STATE_NORMAL; + GtkStateType nStateType; GtkShadowType nShadowType; + NWConvertVCLStateToGTKState( nState, &nStateType, &nShadowType ); - if ( nState & CTRL_STATE_SELECTED ) + if ( (nState & CTRL_STATE_SELECTED) && (nState & CTRL_STATE_ENABLED) ) nStateType = GTK_STATE_PRELIGHT; NWSetWidgetState( pWidget, nState, nStateType ); - if ( nState & CTRL_STATE_PRESSED ) - nShadowType = GTK_SHADOW_IN; - else - nShadowType = GTK_SHADOW_OUT; - if ( nPart == PART_MENU_ITEM_CHECK_MARK ) { gtk_paint_check( pWidget->style, @@ -2899,20 +2895,16 @@ sal_Bool GtkSalGraphics::NWPaintGTKPopupMenu( } else if( nPart == PART_MENU_SUBMENU_ARROW ) { - GtkStateType nStateType = GTK_STATE_NORMAL; + GtkStateType nStateType; GtkShadowType nShadowType; + NWConvertVCLStateToGTKState( nState, &nStateType, &nShadowType ); - if ( nState & CTRL_STATE_SELECTED ) + if ( (nState & CTRL_STATE_SELECTED) && (nState & CTRL_STATE_ENABLED) ) nStateType = GTK_STATE_PRELIGHT; NWSetWidgetState( gWidgetData[m_nXScreen].gMenuItemMenuWidget, nState, nStateType ); - if ( nState & CTRL_STATE_PRESSED ) - nShadowType = GTK_SHADOW_IN; - else - nShadowType = GTK_SHADOW_OUT; - GtkArrowType eArrow; if( Application::GetSettings().GetLayoutRTL() ) eArrow = GTK_ARROW_LEFT; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits