[gtk+] Allow active tab children to be styled



commit a2ed88b3eebfb99ebe8bd41ffa1ed7fa7d597f71
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Mon Aug 5 11:17:08 2013 +0200

    Allow active tab children to be styled
    
    This allows one to style the children of an active
    tab label from CSS.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=691163

 gtk/gtknotebook.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index d1f629c..27880c4 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -4934,6 +4934,9 @@ gtk_notebook_real_remove (GtkNotebook *notebook,
 
   if (priv->cur_page == list->data)
     {
+      if (priv->cur_page->tab_label)
+       gtk_style_context_remove_class (gtk_widget_get_style_context (priv->cur_page->tab_label),
+                                       "active-page");
       priv->cur_page = NULL;
       if (next_list && !destroying)
         gtk_notebook_switch_page (notebook, GTK_NOTEBOOK_PAGE (next_list));
@@ -6543,9 +6546,17 @@ gtk_notebook_real_switch_page (GtkNotebook     *notebook,
   child_has_focus = priv->child_has_focus;
 
   if (priv->cur_page)
-    gtk_widget_set_child_visible (priv->cur_page->child, FALSE);
+    {
+      gtk_widget_set_child_visible (priv->cur_page->child, FALSE);
+      if (priv->cur_page->tab_label)
+       gtk_style_context_remove_class (gtk_widget_get_style_context (priv->cur_page->tab_label),
+                                       "active-page");
+    }
 
   priv->cur_page = page;
+  if (page->tab_label)
+    gtk_style_context_add_class (gtk_widget_get_style_context (page->tab_label),
+                                "active-page");
 
   if (!priv->focus_tab ||
       priv->focus_tab->data != (gpointer) priv->cur_page)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]