[gnome-software] Don't show star ratings in the search result or details page



commit 1f9e56fba4318b853f092016b7601afcd50d6025
Author: Richard Hughes <richard hughsie com>
Date:   Sun Jan 24 17:49:35 2016 +0000

    Don't show star ratings in the search result or details page
    
    I know Ubuntu wants to use these so I've left in all the plumbing and added a
    GSetting option than can be changed by distros or end users.

 data/org.gnome.software.gschema.xml           |    4 ++++
 src/plugins/gs-plugin-fedora-tagger-ratings.c |   11 +++++++++++
 src/plugins/gs-plugin-local-ratings.c         |   11 +++++++++++
 3 files changed, 26 insertions(+), 0 deletions(-)
---
diff --git a/data/org.gnome.software.gschema.xml b/data/org.gnome.software.gschema.xml
index b676114..410304a 100644
--- a/data/org.gnome.software.gschema.xml
+++ b/data/org.gnome.software.gschema.xml
@@ -14,6 +14,10 @@
       <default>true</default>
       <summary>Whether it's the very first run of gnome-software</summary>
     </key>
+    <key name="show-ratings" type="b">
+      <default>false</default>
+      <summary>Show star ratings next to applications</summary>
+    </key>
     <key name="prompt-for-nonfree" type="b">
       <default>true</default>
       <summary>Non-free applications show a warning dialog before install</summary>
diff --git a/src/plugins/gs-plugin-fedora-tagger-ratings.c b/src/plugins/gs-plugin-fedora-tagger-ratings.c
index 9471dd6..b0f4a46 100644
--- a/src/plugins/gs-plugin-fedora-tagger-ratings.c
+++ b/src/plugins/gs-plugin-fedora-tagger-ratings.c
@@ -64,6 +64,8 @@ gs_plugin_get_name (void)
 void
 gs_plugin_initialize (GsPlugin *plugin)
 {
+       g_autoptr(GSettings) settings = NULL;
+
        plugin->priv = GS_PLUGIN_GET_PRIVATE (GsPluginPrivate);
        plugin->priv->db_path = g_build_filename (g_get_user_data_dir (),
                                                  "gnome-software",
@@ -78,6 +80,15 @@ gs_plugin_initialize (GsPlugin *plugin)
                g_debug ("disabling '%s' as we're not Fedora", plugin->name);
                return;
        }
+
+       /* this is configurable */
+       settings = g_settings_new ("org.gnome.software");
+       if (!g_settings_get_boolean (settings, "show-ratings")) {
+               gs_plugin_set_enabled (plugin, FALSE);
+               g_debug ("disabling '%s' as 'show-ratings' "
+                        "disabled in GSettings", plugin->name);
+               return;
+       }
 }
 
 /**
diff --git a/src/plugins/gs-plugin-local-ratings.c b/src/plugins/gs-plugin-local-ratings.c
index 91a0cc3..b44d3bf 100644
--- a/src/plugins/gs-plugin-local-ratings.c
+++ b/src/plugins/gs-plugin-local-ratings.c
@@ -57,12 +57,23 @@ gs_plugin_get_name (void)
 void
 gs_plugin_initialize (GsPlugin *plugin)
 {
+       g_autoptr(GSettings) settings = NULL;
+
        /* create private area */
        plugin->priv = GS_PLUGIN_GET_PRIVATE (GsPluginPrivate);
        plugin->priv->db_path = g_build_filename (g_get_user_data_dir (),
                                                  "gnome-software",
                                                  "hardcoded-ratings.db",
                                                  NULL);
+
+       /* this is configurable */
+       settings = g_settings_new ("org.gnome.software");
+       if (!g_settings_get_boolean (settings, "show-ratings")) {
+               gs_plugin_set_enabled (plugin, FALSE);
+               g_debug ("disabling '%s' as 'show-ratings' "
+                        "disabled in GSettings", plugin->name);
+               return;
+       }
 }
 
 /**


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