summaryrefslogtreecommitdiff
path: root/gtk/gtkstyle.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@imendio.com>2006-01-31 15:58:23 +0000
committerKristian Rietveld <kristian@src.gnome.org>2006-01-31 15:58:23 +0000
commit5b8dbf0d5fe1cceb5e08db41c3f2e083527a2c73 (patch)
tree7415afd169a86c06c3ae86952b9457c6ce066e75 /gtk/gtkstyle.c
parentbe0d41dc77873122db85a003278363378812636d (diff)
downloadgtk+-5b8dbf0d5fe1cceb5e08db41c3f2e083527a2c73.tar.gz
Add support for row hinting for the selected state.
2006-01-31 Kristian Rietveld <kris@imendio.com> * gtk/gtkstyle.c (gtk_default_draw_flat_box): Add support for row hinting for the selected state.
Diffstat (limited to 'gtk/gtkstyle.c')
-rw-r--r--gtk/gtkstyle.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c
index 14a74050e8..074e30a069 100644
--- a/gtk/gtkstyle.c
+++ b/gtk/gtkstyle.c
@@ -3473,15 +3473,24 @@ gtk_default_draw_flat_box (GtkStyle *style,
{
if (!strcmp ("text", detail))
gc1 = style->bg_gc[GTK_STATE_SELECTED];
- else if (!strncmp ("cell_even", detail, strlen ("cell_even")) ||
- !strncmp ("cell_odd", detail, strlen ("cell_odd")))
+ else if (!strcmp ("cell_even", detail) ||
+ !strcmp ("cell_odd", detail) ||
+ !strcmp ("cell_even_ruled", detail))
{
/* This has to be really broken; alex made me do it. -jrb */
if (GTK_WIDGET_HAS_FOCUS (widget))
gc1 = style->base_gc[state_type];
- else
- gc1 = style->base_gc[GTK_STATE_ACTIVE];
+ else
+ gc1 = style->base_gc[GTK_STATE_ACTIVE];
}
+ else if (!strcmp ("cell_odd_ruled", detail))
+ {
+ if (GTK_WIDGET_HAS_FOCUS (widget))
+ freeme = get_darkened_gc (window, &style->base[state_type], 1);
+ else
+ freeme = get_darkened_gc (window, &style->base[GTK_STATE_ACTIVE], 1);
+ gc1 = freeme;
+ }
else
{
gc1 = style->bg_gc[state_type];