[gnome-software] Use the system symbolic star icons



commit 9c13e85fa4cef922346a04068fdef203c8176abe
Author: Richard Hughes <richard hughsie com>
Date:   Fri Nov 29 16:53:51 2013 +0000

    Use the system symbolic star icons

 src/Makefile.am                  |    2 -
 src/gnome-software.gresource.xml |    2 -
 src/gs-star-dim.png              |  Bin 491 -> 0 bytes
 src/gs-star-widget.c             |   48 ++++++++++++++++++++++++++-----------
 src/gs-star.png                  |  Bin 421 -> 0 bytes
 src/gtk-style.css                |    4 +++
 6 files changed, 38 insertions(+), 18 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 3c77517..fa4014f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -228,8 +228,6 @@ EXTRA_DIST =                                                \
        shell-search-provider-dbus-interfaces.xml       \
        gnome-software.gresource.xml                    \
        gnome-software.xml                              \
-       gs-star-dim.png                                 \
-       gs-star.png                                     \
        gtk-style.css                                   \
        gtk-style-hc.css                                \
        shadow.png                                      \
diff --git a/src/gnome-software.gresource.xml b/src/gnome-software.gresource.xml
index 56028b2..278ba0e 100644
--- a/src/gnome-software.gresource.xml
+++ b/src/gnome-software.gresource.xml
@@ -15,7 +15,5 @@
   <file>gtk-style-hc.css</file>
   <file preprocess="to-pixdata">shadow.png</file>
   <file preprocess="to-pixdata">shadow-active.png</file>
-  <file preprocess="to-pixdata">gs-star.png</file>
-  <file preprocess="to-pixdata">gs-star-dim.png</file>
  </gresource>
 </gresources>
diff --git a/src/gs-star-widget.c b/src/gs-star-widget.c
index abea50a..a99fa8f 100644
--- a/src/gs-star-widget.c
+++ b/src/gs-star-widget.c
@@ -65,28 +65,48 @@ gs_star_widget_get_rating (GsStarWidget *star)
 }
 
 /**
+ * gs_star_widget_set_image_rating:
+ **/
+static void
+gs_star_widget_set_image_rating (GtkImage *image,
+                                gint value, gint lower, gint higher)
+{
+       GtkStyleContext *context;
+       const gchar *icon_name = "semi-starred-symbolic";
+       if (value <= lower)
+               icon_name = "non-starred-symbolic";
+       if (value >= higher)
+               icon_name = "starred-symbolic";
+
+       context = gtk_widget_get_style_context (GTK_WIDGET (image));
+       gtk_style_context_add_class (context, "star");
+       gtk_image_set_from_icon_name (image, icon_name, GTK_ICON_SIZE_MENU);
+}
+
+/**
  * gs_star_widget_refresh:
  **/
 static void
 gs_star_widget_refresh (GsStarWidget *star)
 {
        GsStarWidgetPrivate *priv;
-       const gchar *img = "/org/gnome/software/gs-star.png";
-       const gchar *img_dim = "/org/gnome/software/gs-star-dim.png";
-
        priv = gs_star_widget_get_instance_private (star);
 
-       /* set the dim states correctly */
-       gtk_image_set_from_resource (GTK_IMAGE (priv->image1),
-                                    priv->rating >= rate_to_star[0] ? img : img_dim);
-       gtk_image_set_from_resource (GTK_IMAGE (priv->image2),
-                                    priv->rating >= rate_to_star[1] ? img : img_dim);
-       gtk_image_set_from_resource (GTK_IMAGE (priv->image3),
-                                    priv->rating >= rate_to_star[2] ? img : img_dim);
-       gtk_image_set_from_resource (GTK_IMAGE (priv->image4),
-                                    priv->rating >= rate_to_star[3] ? img : img_dim);
-       gtk_image_set_from_resource (GTK_IMAGE (priv->image5),
-                                    priv->rating >= rate_to_star[4] ? img : img_dim);
+       gs_star_widget_set_image_rating (GTK_IMAGE (priv->image1),
+                                        priv->rating,
+                                        0, rate_to_star[0]);
+       gs_star_widget_set_image_rating (GTK_IMAGE (priv->image2),
+                                        priv->rating,
+                                        rate_to_star[0], rate_to_star[1]);
+       gs_star_widget_set_image_rating (GTK_IMAGE (priv->image3),
+                                        priv->rating,
+                                        rate_to_star[1], rate_to_star[2]);
+       gs_star_widget_set_image_rating (GTK_IMAGE (priv->image4),
+                                        priv->rating,
+                                        rate_to_star[2], rate_to_star[3]);
+       gs_star_widget_set_image_rating (GTK_IMAGE (priv->image5),
+                                        priv->rating,
+                                        rate_to_star[3], rate_to_star[4]);
 }
 
 /**
diff --git a/src/gtk-style.css b/src/gtk-style.css
index 35865c8..eb980b3 100644
--- a/src/gtk-style.css
+++ b/src/gtk-style.css
@@ -90,6 +90,10 @@ GtkNotebook.main-notebook-software > GtkScrolledWindow {
        padding: 0;
 }
 
+.star {
+       color: #888a85;
+}
+
 .counter-label {
     color: @theme_selected_fg_color;
     background-color: mix(@theme_selected_bg_color, @theme_selected_fg_color, 0.3);


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