summaryrefslogtreecommitdiff
path: root/atk/atkobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'atk/atkobject.c')
-rwxr-xr-xatk/atkobject.c37
1 files changed, 36 insertions, 1 deletions
diff --git a/atk/atkobject.c b/atk/atkobject.c
index fe17884..26e6c2f 100755
--- a/atk/atkobject.c
+++ b/atk/atkobject.c
@@ -340,7 +340,8 @@ static void atk_object_real_remove_property_change_handler
guint handler_id);
static void atk_object_notify (GObject *obj,
GParamSpec *pspec);
-
+static const gchar* atk_object_real_get_object_locale
+ (AtkObject *object);
static guint atk_object_signals[LAST_SIGNAL] = { 0, };
@@ -497,6 +498,7 @@ atk_object_class_init (AtkObjectClass *klass)
atk_object_real_connect_property_change_handler;
klass->remove_property_change_handler =
atk_object_real_remove_property_change_handler;
+ klass->get_object_locale = atk_object_real_get_object_locale;
/*
* We do not define default signal handlers here
@@ -1559,6 +1561,39 @@ atk_role_get_localized_name (AtkRole role)
return atk_role_get_name (role);
}
+static const gchar*
+atk_object_real_get_object_locale (AtkObject *object)
+{
+ return setlocale (LC_MESSAGES, NULL);
+}
+
+/**
+ * atk_object_get_object_locale:
+ * @accessible: an #AtkObject
+ *
+ * Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale
+ * of @accessible.
+ *
+ * Since: 2.7.90
+ *
+ * Returns: a UTF-8 string indicating the POSIX-style LC_MESSAGES
+ * locale of @accessible.
+ **/
+const gchar*
+atk_object_get_object_locale (AtkObject *accessible)
+{
+ AtkObjectClass *klass;
+
+ g_return_val_if_fail (ATK_IS_OBJECT (accessible), NULL);
+
+ klass = ATK_OBJECT_GET_CLASS (accessible);
+ if (klass->get_object_locale)
+ return (klass->get_object_locale) (accessible);
+ else
+ return NULL;
+}
+
+
/**
* atk_role_for_name:
* @name: a string which is the (non-localized) name of an ATK role.