summaryrefslogtreecommitdiff
path: root/gtk/gtkstyle.c
diff options
context:
space:
mode:
authorJonathan Blandford <jrb@redhat.com>2001-08-29 21:30:20 +0000
committerJonathan Blandford <jrb@src.gnome.org>2001-08-29 21:30:20 +0000
commit97d9916904622a7d04fcc41fba11f6d90613b1f4 (patch)
tree106d539e34d252edea6aaa65cecc78a959fcb4c1 /gtk/gtkstyle.c
parentaa4298ee708146af161ca8ebfb0d9d6eeea1fcb4 (diff)
downloadgtk+-97d9916904622a7d04fcc41fba11f6d90613b1f4.tar.gz
change color when the GtkTreeView loses focus.
Wed Aug 29 17:28:04 2001 Jonathan Blandford <jrb@redhat.com> * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render): change color when the GtkTreeView loses focus. * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): ditto. * gtk/gtkstyle.c (gtk_default_draw_flat_box): ditto
Diffstat (limited to 'gtk/gtkstyle.c')
-rw-r--r--gtk/gtkstyle.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c
index d043663f85..89abbe191f 100644
--- a/gtk/gtkstyle.c
+++ b/gtk/gtkstyle.c
@@ -2946,13 +2946,16 @@ gtk_default_draw_flat_box (GtkStyle *style,
{
if (!strcmp ("text", detail))
gc1 = style->bg_gc[GTK_STATE_SELECTED];
- else if (!strcmp ("cell_even_sorted", detail) ||
- !strcmp ("cell_odd_sorted", detail) ||
- !strcmp ("cell_even_ruled_sorted", detail) ||
- !strcmp ("cell_odd_ruled_sorted", detail))
+ else if (!strncmp ("cell_even", detail, strlen ("cell_even")) ||
+ !strncmp ("cell_odd", detail, strlen ("cell_odd")))
{
- freeme = get_darkened_gc (window, &style->bg[state_type], 1);
- gc1 = freeme;
+ /* This has to be really broken; alex made me do it. -jrb */
+ /* Red rum!!! REd RUM!!! */
+ if (GTK_WIDGET_HAS_FOCUS (widget))
+ gc1 = style->bg_gc[state_type];
+ else
+ gc1 = style->bg_gc[GTK_STATE_ACTIVE];
+
}
else
{
@@ -2978,14 +2981,14 @@ gtk_default_draw_flat_box (GtkStyle *style,
!strcmp ("cell_odd", detail) ||
!strcmp ("cell_even_ruled", detail))
{
- gc1 = style->base_gc[state_type];
+ gc1 = style->base_gc[state_type];
}
else if (!strcmp ("cell_even_sorted", detail) ||
!strcmp ("cell_odd_sorted", detail) ||
!strcmp ("cell_odd_ruled", detail) ||
!strcmp ("cell_even_ruled_sorted", detail))
{
- freeme = get_darkened_gc (window, &style->base[state_type], 1);
+ freeme = get_darkened_gc (window, &style->base[state_type], 1);
gc1 = freeme;
}
else if (!strcmp ("cell_odd_ruled_sorted", detail))