aboutsummaryrefslogtreecommitdiff
path: root/libindicator/indicator-desktop-shortcuts.c
diff options
context:
space:
mode:
Diffstat (limited to 'libindicator/indicator-desktop-shortcuts.c')
-rw-r--r--libindicator/indicator-desktop-shortcuts.c16
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;