aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'widgets')
-rw-r--r--widgets/misc/e-unicode.c34
-rw-r--r--widgets/misc/e-unicode.h4
2 files changed, 37 insertions, 1 deletions
diff --git a/widgets/misc/e-unicode.c b/widgets/misc/e-unicode.c
index fe16cb2102..04b5c8f802 100644
--- a/widgets/misc/e-unicode.c
+++ b/widgets/misc/e-unicode.c
@@ -9,6 +9,10 @@
*/
#include <config.h>
+
+#include "e-unicode.h"
+
+#include "gal/util/e-i18n.h"
#include <ctype.h>
#include <string.h>
#include <stdio.h>
@@ -18,8 +22,8 @@
#include <gdk/gdkx.h>
#include <gdk/gdkkeysyms.h>
#include <gtk/gtkmenuitem.h>
-#include "e-unicode.h"
#include "e-font.h"
+#include <gnome-xml/xmlmemory.h>
#define FONT_TESTING
#define MAX_DECOMP 8
@@ -2960,3 +2964,31 @@ e_stripped_char (unicode_char_t ch)
return 0;
}
+
+gchar *
+e_xml_get_translated_utf8_string_prop_by_name (const xmlNode *parent, const xmlChar *prop_name)
+{
+ xmlChar *prop;
+ gchar *ret_val = NULL;
+ gchar *combined_name;
+
+ g_return_val_if_fail (parent != NULL, 0);
+ g_return_val_if_fail (prop_name != NULL, 0);
+
+ prop = xmlGetProp ((xmlNode *) parent, prop_name);
+ if (prop != NULL) {
+ ret_val = e_utf8_from_locale_string (prop);
+ xmlFree (prop);
+ return ret_val;
+ }
+
+ combined_name = g_strdup_printf("_%s", prop_name);
+ prop = xmlGetProp ((xmlNode *) parent, combined_name);
+ if (prop != NULL) {
+ ret_val = e_utf8_from_locale_string (gettext (prop));
+ xmlFree (prop);
+ }
+ g_free(combined_name);
+
+ return ret_val;
+}
diff --git a/widgets/misc/e-unicode.h b/widgets/misc/e-unicode.h
index db12ef72ec..f9eb0a9ae6 100644
--- a/widgets/misc/e-unicode.h
+++ b/widgets/misc/e-unicode.h
@@ -18,6 +18,7 @@
#include <gtk/gtkmenu.h>
#include <gtk/gtkwidget.h>
#include <libgnome/gnome-defs.h>
+#include <gnome-xml/tree.h>
BEGIN_GNOME_DECLS
@@ -81,6 +82,9 @@ gchar * e_utf8_xml1_encode (const gchar *text);
gint e_unichar_to_utf8 (gint c, gchar *outbuf);
guint32 gdk_keyval_to_unicode (guint keysym);
+gchar *e_xml_get_translated_utf8_string_prop_by_name (const xmlNode *parent,
+ const xmlChar *prop_name);
+
END_GNOME_DECLS
#endif