From eb92e0784ad81ffc4a3c94440b1dfcc9735c4dd3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 29 Apr 2005 18:17:10 +0000 Subject: [PATCH] Set background upon state changes. (#301651, Billy Biggs) 2005-04-29 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_state_changed): Set background upon state changes. (#301651, Billy Biggs) --- ChangeLog | 3 +++ ChangeLog.pre-2-10 | 3 +++ ChangeLog.pre-2-8 | 3 +++ gtk/gtktreeview.c | 18 ++++++++++++++++++ 4 files changed, 27 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3db85f626c..80c49dfeb3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2005-04-29 Matthias Clasen + * gtk/gtktreeview.c (gtk_tree_view_state_changed): Set + background upon state changes. (#301651, Billy Biggs) + * configure.in: Check for nm. * gtk/Makefile.am: Use $(NM), not nm directly. (#301299, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 3db85f626c..80c49dfeb3 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,8 @@ 2005-04-29 Matthias Clasen + * gtk/gtktreeview.c (gtk_tree_view_state_changed): Set + background upon state changes. (#301651, Billy Biggs) + * configure.in: Check for nm. * gtk/Makefile.am: Use $(NM), not nm directly. (#301299, diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 3db85f626c..80c49dfeb3 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,5 +1,8 @@ 2005-04-29 Matthias Clasen + * gtk/gtktreeview.c (gtk_tree_view_state_changed): Set + background upon state changes. (#301651, Billy Biggs) + * configure.in: Check for nm. * gtk/Makefile.am: Use $(NM), not nm directly. (#301299, diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 865cf48433..2e60e1395e 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -193,6 +193,8 @@ static void gtk_tree_view_style_set (GtkWidget *widget, GtkStyle *previous_style); static void gtk_tree_view_grab_notify (GtkWidget *widget, gboolean was_grabbed); +static void gtk_tree_view_state_changed (GtkWidget *widget, + GtkStateType previous_state); /* container signals */ static void gtk_tree_view_remove (GtkContainer *container, @@ -535,6 +537,7 @@ gtk_tree_view_class_init (GtkTreeViewClass *class) widget_class->grab_focus = gtk_tree_view_grab_focus; widget_class->style_set = gtk_tree_view_style_set; widget_class->grab_notify = gtk_tree_view_grab_notify; + widget_class->state_changed = gtk_tree_view_state_changed; /* GtkContainer signals */ container_class->remove = gtk_tree_view_remove; @@ -13060,5 +13063,20 @@ gtk_tree_view_grab_notify (GtkWidget *widget, tree_view->priv->pressed_button = -1; } +static void +gtk_tree_view_state_changed (GtkWidget *widget, + GtkStateType previous_state) +{ + GtkTreeView *tree_view = GTK_TREE_VIEW (widget); + + if (GTK_WIDGET_REALIZED (widget)) + { + gdk_window_set_background (widget->window, &widget->style->base[widget->state]); + gdk_window_set_background (tree_view->priv->bin_window, &widget->style->base[widget->state]); + } + + gtk_widget_queue_draw (widget); +} + #define __GTK_TREE_VIEW_C__ #include "gtkaliasdef.c"