From 68d222c7573221cd40d912c5a35f616eb3eb4818 Mon Sep 17 00:00:00 2001 From: Dom Lachowicz Date: Sat, 1 Apr 2006 16:28:00 +0000 Subject: Emulate WinXP's drawing of menu separators --- modules/engines/ms-windows/Theme/gtk-2.0/gtkrc | 5 +++-- modules/engines/ms-windows/msw_style.c | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/engines/ms-windows/Theme/gtk-2.0/gtkrc b/modules/engines/ms-windows/Theme/gtk-2.0/gtkrc index f16082e42f..39f2a7b14c 100755 --- a/modules/engines/ms-windows/Theme/gtk-2.0/gtkrc +++ b/modules/engines/ms-windows/Theme/gtk-2.0/gtkrc @@ -34,9 +34,10 @@ style "msw-default" GtkScrolledWindow::scrollbar_spacing = 1 + GtkSeparatorMenuItem::horizontal-padding = 2 + engine "wimp" { } } -class "*" style "msw-default" - +class "*" style "msw-default" \ No newline at end of file diff --git a/modules/engines/ms-windows/msw_style.c b/modules/engines/ms-windows/msw_style.c index 7482626971..fdcf99ae32 100755 --- a/modules/engines/ms-windows/msw_style.c +++ b/modules/engines/ms-windows/msw_style.c @@ -2373,8 +2373,22 @@ draw_hline (GtkStyle * style, GtkWidget * widget, const gchar * detail, gint x1, gint x2, gint y) { + if (xp_theme_is_active () && detail && !strcmp(detail, "menuitem")) { + if(xp_theme_draw (window, XP_THEME_ELEMENT_MENU_SEPARATOR, style, x1, y, x2, 1, state_type, area)) + return; + else { + if (area) + gdk_gc_set_clip_rectangle (style->dark_gc[state_type], area); + + gdk_draw_line (window, style->dark_gc[state_type], x1, y, x2, y); + + if (area) + gdk_gc_set_clip_rectangle (style->dark_gc[state_type], NULL); + } + } else { parent_class->draw_hline (style, window, state_type, area, widget, detail, x1, x2, y); + } } static void -- cgit v1.2.1