From 01f2d3fed2e4d52490241a926f08e29d2bda41a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Fri, 1 May 2015 17:14:06 +0100 Subject: [PATCH] gtk3: distinguish between first, last and only tabs Change-Id: Ic69b84a3dd94ee25d5e660da152b1e776fa2b38e --- vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx index 9ee90c47e508..f8fcb1d7ec01 100644 --- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx @@ -956,7 +956,18 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co gtk_style_context_set_state(context, flags); if (nType == CTRL_TAB_ITEM) { - gtk_style_context_add_region(mpNoteBookStyle, GTK_STYLE_REGION_TAB, GTK_REGION_EVEN); + + const TabitemValue& rTabitemValue = static_cast(aValue); + + GtkRegionFlags eFlags(GTK_REGION_EVEN); + if (rTabitemValue.isFirst() && rTabitemValue.isLast()) + eFlags = GTK_REGION_ONLY; + else if (rTabitemValue.isFirst()) + eFlags = GTK_REGION_FIRST; + else if (rTabitemValue.isLast()) + eFlags = GTK_REGION_LAST; + + gtk_style_context_add_region(mpNoteBookStyle, GTK_STYLE_REGION_TAB, eFlags); gtk_style_context_add_class(context, GTK_STYLE_CLASS_TOP); } if (styleClass)