[gtk+] Make -gtk-icontheme() use -gtk-icon-palette



commit 1009c88186c9473aed3ff4dbbb6f851254b5bf74
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Jan 13 16:17:44 2016 -0500

    Make -gtk-icontheme() use -gtk-icon-palette
    
    This makes it possible to recolor themed icons with -gtk-icon-palette,
    regardless whether they are loaded by the theme or the application.

 gtk/gtkcssimageicontheme.c        |    7 +++++--
 gtk/gtkcssimageiconthemeprivate.h |    3 +++
 2 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkcssimageicontheme.c b/gtk/gtkcssimageicontheme.c
index 73c8a62..4451e19 100644
--- a/gtk/gtkcssimageicontheme.c
+++ b/gtk/gtkcssimageicontheme.c
@@ -27,6 +27,7 @@
 #include "gtkcssrgbavalueprivate.h"
 #include "gtksettingsprivate.h"
 #include "gtkstyleproviderprivate.h"
+#include "gtkiconthemeprivate.h"
 
 G_DEFINE_TYPE (GtkCssImageIconTheme, _gtk_css_image_icon_theme, GTK_TYPE_CSS_IMAGE)
 
@@ -66,7 +67,9 @@ gtk_css_image_icon_theme_draw (GtkCssImage        *image,
 
   pixbuf = gtk_icon_info_load_symbolic (icon_info,
                                         &icon_theme->color,
-                                        NULL, NULL, NULL,
+                                        &icon_theme->success,
+                                        &icon_theme->warning,
+                                        &icon_theme->error,
                                         NULL,
                                         &error);
   if (pixbuf == NULL)
@@ -139,7 +142,7 @@ gtk_css_image_icon_theme_compute (GtkCssImage             *image,
   copy->name = g_strdup (icon_theme->name);
   copy->icon_theme = gtk_css_icon_theme_value_get_icon_theme (gtk_css_style_get_value (style, 
GTK_CSS_PROPERTY_ICON_THEME));
   copy->scale = _gtk_style_provider_private_get_scale (provider);
-  copy->color = *_gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR));
+  gtk_icon_theme_lookup_symbolic_colors (style, &copy->color, &copy->success, &copy->warning, &copy->error);
 
   return GTK_CSS_IMAGE (copy);
 }
diff --git a/gtk/gtkcssimageiconthemeprivate.h b/gtk/gtkcssimageiconthemeprivate.h
index 5922146..07d1f8e 100644
--- a/gtk/gtkcssimageiconthemeprivate.h
+++ b/gtk/gtkcssimageiconthemeprivate.h
@@ -41,6 +41,9 @@ struct _GtkCssImageIconTheme
 
   GtkIconTheme *icon_theme;
   GdkRGBA color;
+  GdkRGBA success;
+  GdkRGBA warning;
+  GdkRGBA error;
   gint scale;
   char *name;
 };


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