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:
parent
f5c0b73214
commit
b7ab940c78
1 changed files with 22 additions and 8 deletions
|
@ -898,13 +898,28 @@ gnome_control_center_class_init (GnomeControlCenterClass *klass)
|
||||||
shell_class->set_active_panel_from_id = _shell_set_active_panel_from_id;
|
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
|
static void
|
||||||
gnome_control_center_init (GnomeControlCenter *self)
|
gnome_control_center_init (GnomeControlCenter *self)
|
||||||
{
|
{
|
||||||
GError *err = NULL;
|
GError *err = NULL;
|
||||||
GtkWidget *vbox, *parent;
|
GtkWidget *vbox;
|
||||||
GnomeControlCenterPrivate *priv;
|
GnomeControlCenterPrivate *priv;
|
||||||
GtkStyle *style;
|
|
||||||
|
|
||||||
priv = self->priv = CONTROL_CENTER_PRIVATE (self);
|
priv = self->priv = CONTROL_CENTER_PRIVATE (self);
|
||||||
|
|
||||||
|
@ -937,12 +952,11 @@ gnome_control_center_init (GnomeControlCenter *self)
|
||||||
vbox = W (priv->builder, "main-vbox");
|
vbox = W (priv->builder, "main-vbox");
|
||||||
gtk_widget_set_size_request (vbox, 0, -1);
|
gtk_widget_set_size_request (vbox, 0, -1);
|
||||||
|
|
||||||
parent = gtk_widget_get_parent (vbox);
|
/* make sure the background of the vbox uses base/text colour combinations
|
||||||
style = gtk_widget_get_style (vbox);
|
* and is updated if the style changes */
|
||||||
gtk_widget_modify_bg (parent, GTK_STATE_NORMAL,
|
vbox_style_set_cb (vbox, NULL);
|
||||||
&style->base[GTK_STATE_NORMAL]);
|
g_signal_connect (vbox, "style-set", G_CALLBACK (vbox_style_set_cb),
|
||||||
gtk_widget_modify_fg (parent, GTK_STATE_NORMAL,
|
NULL);
|
||||||
&style->text[GTK_STATE_NORMAL]);
|
|
||||||
|
|
||||||
/* load the available settings panels */
|
/* load the available settings panels */
|
||||||
fill_model (self);
|
fill_model (self);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue