diff options
Diffstat (limited to 'libindicator')
-rw-r--r-- | libindicator/indicator-desktop-shortcuts.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libindicator/indicator-desktop-shortcuts.c b/libindicator/indicator-desktop-shortcuts.c index e86a6ab..a370c0f 100644 --- a/libindicator/indicator-desktop-shortcuts.c +++ b/libindicator/indicator-desktop-shortcuts.c @@ -39,6 +39,7 @@ struct _IndicatorDesktopShortcutsPrivate { GKeyFile * keyfile; gchar * identity; GArray * nicks; + gchar * domain; }; enum { @@ -100,6 +101,7 @@ indicator_desktop_shortcuts_init (IndicatorDesktopShortcuts *self) priv->keyfile = NULL; priv->identity = NULL; + priv->domain = NULL; priv->nicks = g_array_new(TRUE, TRUE, sizeof(gchar *)); return; @@ -131,6 +133,11 @@ indicator_desktop_shortcuts_finalize (GObject *object) priv->identity = NULL; } + if (priv->domain != NULL) { + g_free(priv->domain); + priv->domain = NULL; + } + if (priv->nicks != NULL) { gint i; for (i = 0; i < priv->nicks->len; i++) { @@ -227,6 +234,15 @@ parse_keyfile (IndicatorDesktopShortcuts * ids) return; } + /* Check to see if there is a custom translation domain that + we should take into account. */ + if (g_key_file_has_key(priv->keyfile, G_KEY_FILE_DESKTOP_GROUP, "X-Ubuntu-Gettext-Domain", NULL)) { + if (priv->domain != NULL) { + g_free(priv->domain); + } + priv->domain = g_key_file_get_string(priv->keyfile, G_KEY_FILE_DESKTOP_GROUP, "X-Ubuntu-Gettext-Domain", NULL); + } + /* Okay, we've got everything we need. Let's get it on! */ gint i; gsize num_nicks = 0; |