summaryrefslogtreecommitdiff
path: root/gtk/gtkexpander.c
diff options
context:
space:
mode:
authorMark McLoughlin <mark@skynet.ie>2004-03-03 17:08:54 +0000
committerMark McLoughlin <markmc@src.gnome.org>2004-03-03 17:08:54 +0000
commit3c8e60e7f196e757568d0789593bb145e2002b55 (patch)
treeb2dcfce97b39e1720b56981023c6292e72228e73 /gtk/gtkexpander.c
parenta796feb4b477acbc079b37b71bb055c6c751c0b5 (diff)
downloadgtk+-3c8e60e7f196e757568d0789593bb145e2002b55.tar.gz
Set the label widget's state to prelight if we're prelit. Fixes bug
2004-03-03 Mark McLoughlin <mark@skynet.ie> * gtk/gtkexpander.c: (gtk_expander_enter_notify), (gtk_expander_leave_notify), (gtk_expander_set_label_widget): Set the label widget's state to prelight if we're prelit. Fixes bug #136078.
Diffstat (limited to 'gtk/gtkexpander.c')
-rw-r--r--gtk/gtkexpander.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c
index 780f30504f..4dfa1ba86e 100644
--- a/gtk/gtkexpander.c
+++ b/gtk/gtkexpander.c
@@ -930,6 +930,10 @@ gtk_expander_enter_notify (GtkWidget *widget,
event->detail != GDK_NOTIFY_INFERIOR)
{
expander->priv->prelight = TRUE;
+
+ if (expander->priv->label_widget)
+ gtk_widget_set_state (expander->priv->label_widget, GTK_STATE_PRELIGHT);
+
gtk_expander_redraw_expander (expander);
}
@@ -949,6 +953,10 @@ gtk_expander_leave_notify (GtkWidget *widget,
event->detail != GDK_NOTIFY_INFERIOR)
{
expander->priv->prelight = FALSE;
+
+ if (expander->priv->label_widget)
+ gtk_widget_set_state (expander->priv->label_widget, GTK_STATE_NORMAL);
+
gtk_expander_redraw_expander (expander);
}
@@ -1579,14 +1587,21 @@ gtk_expander_set_label_widget (GtkExpander *expander,
return;
if (priv->label_widget)
- gtk_widget_unparent (priv->label_widget);
+ {
+ gtk_widget_set_state (priv->label_widget, GTK_STATE_NORMAL);
+ gtk_widget_unparent (priv->label_widget);
+ }
priv->label_widget = label_widget;
if (label_widget)
{
priv->label_widget = label_widget;
+
gtk_widget_set_parent (label_widget, GTK_WIDGET (expander));
+
+ if (priv->prelight)
+ gtk_widget_set_state (label_widget, GTK_STATE_PRELIGHT);
}
if (GTK_WIDGET_VISIBLE (expander))