vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit 4ba8147f61fadb4e8ae7abc0ad5c9e928edf4baa
Author: Ruslan Kabatsayev <b7.10110...@gmail.com>
Date:   Thu May 31 16:59:16 2012 +0400

    Gtk theming: pass tab prelight state to theme
    
    Change-Id: I9b924d83d4da638d17af14a66a618ce7128968e7

diff --git a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx 
b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
index b86e91f..e9101bf 100644
--- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
@@ -46,6 +46,7 @@
 #include "vcl/vclenum.hxx"
 #include "vcl/fontmanager.hxx"
 typedef struct _cairo_font_options cairo_font_options_t;
+const char* const tabPrelitDataName="libreoffice-tab-is-prelit";
 
 // initialize statics
 sal_Bool GtkSalGraphics::bThemeChanged = sal_True;
@@ -2461,10 +2462,15 @@ sal_Bool GtkSalGraphics::NWPaintGTKTabItem( ControlType 
nType, ControlPart,
         case CTRL_TAB_ITEM:
             stateType = ( nState & CTRL_STATE_SELECTED ) ? GTK_STATE_NORMAL : 
GTK_STATE_ACTIVE;
 
+            if( nState & CTRL_STATE_ROLLOVER )
+                
g_object_set_data(G_OBJECT(pixmap),tabPrelitDataName,(gpointer)TRUE);
+
             gtk_paint_extension( 
gWidgetData[m_nXScreen].gNotebookWidget->style, pixmap, stateType, 
GTK_SHADOW_OUT, NULL, gWidgetData[m_nXScreen].gNotebookWidget,
                 (char *)"tab", (tabRect.Left() - pixmapRect.Left()), 
(tabRect.Top() - pixmapRect.Top()),
                 tabRect.GetWidth(), tabRect.GetHeight(), GTK_POS_BOTTOM );
 
+            g_object_steal_data(G_OBJECT(pixmap),tabPrelitDataName);
+
             if ( nState & CTRL_STATE_SELECTED )
             {
                 gtk_paint_flat_box( m_pWindow->style, pixmap, stateType, 
GTK_SHADOW_NONE, NULL, m_pWindow,
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to