shell: make sure the background colours are updated if the style changes

Make sure the background of the main vbox uses base/text colour
combinations and is updated if the style changes
This commit is contained in:
Thomas Wood 2010-07-22 17:29:47 +01:00
parent f5c0b73214
commit b7ab940c78

View file

@ -898,13 +898,28 @@ gnome_control_center_class_init (GnomeControlCenterClass *klass)
shell_class->set_active_panel_from_id = _shell_set_active_panel_from_id;
}
static void
vbox_style_set_cb (GtkWidget *widget,
GtkStyle *old_style)
{
GtkWidget *parent;
GtkStyle *style;
parent = gtk_widget_get_parent (widget);
style = gtk_widget_get_style (widget);
gtk_widget_modify_bg (parent, GTK_STATE_NORMAL,
&style->base[GTK_STATE_NORMAL]);
gtk_widget_modify_fg (parent, GTK_STATE_NORMAL,
&style->text[GTK_STATE_NORMAL]);
}
static void
gnome_control_center_init (GnomeControlCenter *self)
{
GError *err = NULL;
GtkWidget *vbox, *parent;
GtkWidget *vbox;
GnomeControlCenterPrivate *priv;
GtkStyle *style;
priv = self->priv = CONTROL_CENTER_PRIVATE (self);
@ -937,12 +952,11 @@ gnome_control_center_init (GnomeControlCenter *self)
vbox = W (priv->builder, "main-vbox");
gtk_widget_set_size_request (vbox, 0, -1);
parent = gtk_widget_get_parent (vbox);
style = gtk_widget_get_style (vbox);
gtk_widget_modify_bg (parent, GTK_STATE_NORMAL,
&style->base[GTK_STATE_NORMAL]);
gtk_widget_modify_fg (parent, GTK_STATE_NORMAL,
&style->text[GTK_STATE_NORMAL]);
/* make sure the background of the vbox uses base/text colour combinations
* and is updated if the style changes */
vbox_style_set_cb (vbox, NULL);
g_signal_connect (vbox, "style-set", G_CALLBACK (vbox_style_set_cb),
NULL);
/* load the available settings panels */
fill_model (self);