[gtk+/composite-templates] cellrendererpix: set the IMAGE style class when rendering an icon



commit 0c9ca807500281682935a72f154b8d59bff7d857
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Wed Jul 11 11:22:20 2012 -0400

    cellrendererpix: set the IMAGE style class when rendering an icon
    
    This way, themes can change symbolic icon colors for views, by using a
    
    .view.image {
    
    }
    
    CSS selector.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=680008

 gtk/gtkcellrendererpixbuf.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c
index 5a3d902..2e36915 100644
--- a/gtk/gtkcellrendererpixbuf.c
+++ b/gtk/gtkcellrendererpixbuf.c
@@ -415,12 +415,19 @@ gtk_cell_renderer_pixbuf_get_size (GtkCellRenderer    *cell,
   gint calc_width;
   gint calc_height;
   gint xpad, ypad;
+  GtkStyleContext *context;
+
+  context = gtk_widget_get_style_context (widget);
+  gtk_style_context_save (context);
+  gtk_style_context_add_class (context, GTK_STYLE_CLASS_IMAGE);
 
   if (!_gtk_icon_helper_get_is_empty (priv->icon_helper))
     _gtk_icon_helper_get_size (priv->icon_helper, 
                                gtk_widget_get_style_context (widget),
                                &pixbuf_width, &pixbuf_height);
 
+  gtk_style_context_restore (context);
+
   if (priv->pixbuf_expander_open)
     {
       pixbuf_width  = MAX (pixbuf_width, gdk_pixbuf_get_width (priv->pixbuf_expander_open));
@@ -516,6 +523,7 @@ gtk_cell_renderer_pixbuf_render (GtkCellRenderer      *cell,
     state = gtk_cell_renderer_get_state (cell, widget, flags);
 
   gtk_style_context_set_state (context, state);
+  gtk_style_context_add_class (context, GTK_STYLE_CLASS_IMAGE);
 
   g_object_get (cell, "is-expander", &is_expander, NULL);
   if (is_expander)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]