[gtk+/gtk-3-0] notebook: Don't set notebook style with hidden tabs



commit b04f4c536aeab4281a9f0117e67accae19d691b9
Author: Bastien Nocera <hadess hadess net>
Date:   Thu Mar 17 17:59:46 2011 +0000

    notebook: Don't set notebook style with hidden tabs
    
    When tabs are not shown, and the notebook is used as a container,
    we should not set the notebook style, otherwise the theme has no
    way to know whether tabs are shown or not, and which colour to draw
    the background.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=640692

 gtk/gtknotebook.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index c5a9371..563b1ab 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -7078,6 +7078,7 @@ gtk_notebook_set_show_tabs (GtkNotebook *notebook,
 {
   GtkNotebookPrivate *priv;
   GtkNotebookPage *page;
+  GtkStyleContext *context;
   GList *children;
   gint i;
 
@@ -7092,6 +7093,7 @@ gtk_notebook_set_show_tabs (GtkNotebook *notebook,
 
   priv->show_tabs = show_tabs;
   children = priv->children;
+  context = gtk_widget_get_style_context (GTK_WIDGET (notebook));
 
   if (!show_tabs)
     {
@@ -7109,11 +7111,14 @@ gtk_notebook_set_show_tabs (GtkNotebook *notebook,
           else
             gtk_widget_hide (page->tab_label);
         }
+
+      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_NOTEBOOK);
     }
   else
     {
       gtk_widget_set_can_focus (GTK_WIDGET (notebook), TRUE);
       gtk_notebook_update_labels (notebook);
+      gtk_style_context_add_class (context, GTK_STYLE_CLASS_NOTEBOOK);
     }
 
   for (i = 0; i < N_ACTION_WIDGETS; i++)



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