mirror of https://github.com/GNOME/gimp.git
libgimpwidgets: support GtkCellRendererToggle's "inconsistent" state
and strike out GimpCellRendererToggle's icon in the inconsistent case.
This commit is contained in:
parent
0e1d07d129
commit
bc4fa9a8c4
|
@ -368,7 +368,8 @@ gimp_cell_renderer_toggle_render (GtkCellRenderer *cell,
|
|||
|
||||
if (gdk_rectangle_intersect (&draw_rect, &toggle_rect, &draw_rect))
|
||||
{
|
||||
cairo_t *cr = gdk_cairo_create (window);
|
||||
cairo_t *cr = gdk_cairo_create (window);
|
||||
gboolean inconsistent;
|
||||
|
||||
gdk_cairo_rectangle (cr, &draw_rect);
|
||||
cairo_clip (cr);
|
||||
|
@ -377,6 +378,23 @@ gimp_cell_renderer_toggle_render (GtkCellRenderer *cell,
|
|||
toggle_rect.x, toggle_rect.y);
|
||||
cairo_paint (cr);
|
||||
|
||||
g_object_get (toggle,
|
||||
"inconsistent", &inconsistent,
|
||||
NULL);
|
||||
|
||||
if (inconsistent)
|
||||
{
|
||||
gdk_cairo_set_source_color (cr, &style->fg[state]);
|
||||
cairo_set_line_width (cr, 2.0);
|
||||
cairo_move_to (cr,
|
||||
toggle_rect.x + toggle_rect.width,
|
||||
toggle_rect.y);
|
||||
cairo_line_to (cr,
|
||||
toggle_rect.x,
|
||||
toggle_rect.y + toggle_rect.height);
|
||||
cairo_stroke (cr);
|
||||
}
|
||||
|
||||
cairo_destroy (cr);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue