summaryrefslogtreecommitdiff
path: root/vcl/unx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-05-01 17:14:06 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-05-01 17:18:48 +0100
commit01f2d3fed2e4d52490241a926f08e29d2bda41a4 (patch)
treec63b914f936e50790c12888f4a1f2894761d992c /vcl/unx
parent79acfc59aa84018827a9a68edbbb0576e65588a2 (diff)
gtk3: distinguish between first, last and only tabs
Change-Id: Ic69b84a3dd94ee25d5e660da152b1e776fa2b38e
Diffstat (limited to 'vcl/unx')
-rw-r--r--vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx13
1 files changed, 12 insertions, 1 deletions
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<const TabitemValue&>(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)