[yelp] yelp-settints: Fix conditional params for yelp-xsl 3.4 updates



commit f0f870fb6c4aaacdb39093ce4dfcffd91eef897e
Author: Shaun McCance <shaunm gnome org>
Date:   Tue Aug 14 11:51:06 2012 -0400

    yelp-settints: Fix conditional params for yelp-xsl 3.4 updates

 libyelp/yelp-settings.c |   50 +++++++++++++++++-----------------------------
 libyelp/yelp-settings.h |    7 ------
 2 files changed, 19 insertions(+), 38 deletions(-)
---
diff --git a/libyelp/yelp-settings.c b/libyelp/yelp-settings.c
index 9ada451..61a922c 100644
--- a/libyelp/yelp-settings.c
+++ b/libyelp/yelp-settings.c
@@ -53,7 +53,7 @@ struct _YelpSettingsPriv {
 
     gboolean      editor_mode;
 
-    GHashTable   *env;
+    GHashTable   *tokens;
 };
 
 enum {
@@ -91,6 +91,8 @@ static void           yelp_settings_set_property (GObject              *object,
 						  guint                 prop_id,
 						  const GValue         *value,
 						  GParamSpec           *pspec);
+static void           yelp_settings_set_if_token (YelpSettings         *settings,
+                                                  const gchar          *token);
 
 static void           gtk_theme_changed          (GtkSettings          *gtk_settings,
 						  GParamSpec           *pspec,
@@ -236,8 +238,8 @@ yelp_settings_init (YelpSettings *settings)
 	settings->priv->fonts[i] = NULL;
     }
 
-    settings->priv->env = g_hash_table_new_full (g_str_hash, g_str_equal,
-                                                 g_free, NULL);
+    settings->priv->tokens = g_hash_table_new_full (g_str_hash, g_str_equal,
+                                                    g_free, NULL);
 }
 
 static void
@@ -288,13 +290,13 @@ yelp_settings_constructed (GObject *object)
     g_variant_unref (names);
     g_variant_unref (ret);
     if (env_shell)
-        yelp_settings_set_env (settings, "gnome-shell");
+        yelp_settings_set_if_token (settings, "platform:gnome-shell");
     else if (env_xfce)
-        yelp_settings_set_env (settings, "xfce");
+        yelp_settings_set_if_token (settings, "platform:xfce");
     else if (env_unity)
-        yelp_settings_set_env (settings, "unity");
+        yelp_settings_set_if_token (settings, "platform:unity");
     else if (env_panel)
-        yelp_settings_set_env (settings, "gnome-panel");
+        yelp_settings_set_if_token (settings, "platform:gnome-panel");
 }
 
 static void
@@ -312,7 +314,7 @@ yelp_settings_finalize (GObject *object)
 
     g_mutex_free (settings->priv->mutex);
 
-    g_hash_table_destroy (settings->priv->env);
+    g_hash_table_destroy (settings->priv->tokens);
 
     G_OBJECT_CLASS (yelp_settings_parent_class)->finalize (object);
 }
@@ -769,30 +771,16 @@ yelp_settings_set_editor_mode (YelpSettings *settings,
 
 /******************************************************************************/
 
-void
-yelp_settings_set_env (YelpSettings *settings,
-                       const gchar  *env)
+static void
+yelp_settings_set_if_token (YelpSettings *settings,
+                            const gchar  *token)
 {
-    if (g_hash_table_lookup (settings->priv->env, env) == NULL) {
-        gchar *ins = g_strdup (env);
-        g_hash_table_insert (settings->priv->env, ins, ins);
+    if (g_hash_table_lookup (settings->priv->tokens, token) == NULL) {
+        gchar *ins = g_strdup (token);
+        g_hash_table_insert (settings->priv->tokens, ins, ins);
     }
 }
 
-void
-yelp_settings_unset_env (YelpSettings *settings,
-                         const gchar  *env)
-{
-    g_hash_table_remove (settings->priv->env, env);
-}
-
-gboolean
-yelp_settings_check_env (YelpSettings *settings,
-                         const gchar  *env)
-{
-    return (g_hash_table_lookup (settings->priv->env, env) != NULL);
-}
-
 /******************************************************************************/
 
 gchar **
@@ -833,15 +821,15 @@ yelp_settings_get_all_params (YelpSettings *settings,
     else
         params[ix++] = g_strdup ("false()");
 
-    envstr = g_string_new ("'html");
-    envs = g_hash_table_get_keys (settings->priv->env);
+    envstr = g_string_new ("'");
+    envs = g_hash_table_get_keys (settings->priv->tokens);
     for (envi = envs; envi != NULL; envi = envi->next) {
         g_string_append_c (envstr, ' ');
         g_string_append (envstr, (gchar *) envi->data);
     }
     g_string_append_c (envstr, '\'');
     g_list_free (envs);
-    params[ix++] = g_strdup ("mal.if.env");
+    params[ix++] = g_strdup ("mal.if.custom");
     params[ix++] = g_string_free (envstr, FALSE);
 
     params[ix] = NULL;
diff --git a/libyelp/yelp-settings.h b/libyelp/yelp-settings.h
index 4fc0591..bf6af53 100644
--- a/libyelp/yelp-settings.h
+++ b/libyelp/yelp-settings.h
@@ -126,13 +126,6 @@ gboolean            yelp_settings_get_editor_mode      (YelpSettings       *sett
 void                yelp_settings_set_editor_mode      (YelpSettings       *settings,
                                                         gboolean            editor_mode);
 
-void                yelp_settings_set_env              (YelpSettings       *settings,
-                                                        const gchar        *env);
-void                yelp_settings_unset_env            (YelpSettings       *settings,
-                                                        const gchar        *env);
-gboolean            yelp_settings_check_env            (YelpSettings       *settings,
-                                                        const gchar        *env);
-
 gint                yelp_settings_cmp_icons            (const gchar        *icon1,
                                                         const gchar        *icon2);
 



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