summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun McCance <shaunm@gnome.org>2012-08-14 11:51:06 -0400
committerShaun McCance <shaunm@gnome.org>2012-08-14 11:51:06 -0400
commitf0f870fb6c4aaacdb39093ce4dfcffd91eef897e (patch)
tree7a12c8e3295bd0ec66f8beba1606d85571a61c66
parent8ed73caa94228b3976deb4f39ebb588226cadc9e (diff)
downloadyelp-f0f870fb6c4aaacdb39093ce4dfcffd91eef897e.tar.gz
yelp-settints: Fix conditional params for yelp-xsl 3.4 updates
-rw-r--r--libyelp/yelp-settings.c50
-rw-r--r--libyelp/yelp-settings.h7
2 files changed, 19 insertions, 38 deletions
diff --git a/libyelp/yelp-settings.c b/libyelp/yelp-settings.c
index 9ada4514..61a922c8 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 4fc05918..bf6af532 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);