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
This commit is contained in:
Bastien Nocera 2011-03-17 17:59:46 +00:00
parent 31af690844
commit b04f4c536a

View File

@ -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++)