[gnome-software] Use the system symbolic star icons
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] Use the system symbolic star icons
- Date: Fri, 29 Nov 2013 17:10:20 +0000 (UTC)
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]