[gnome-desktop] gnome-xkb-info: Add public API to get an XKB option group description



commit 1d11b25165887008854951ff5c49aecc0beb023c
Author: Rui Matos <tiagomatos gmail com>
Date:   Tue Sep 25 20:01:26 2012 +0200

    gnome-xkb-info: Add public API to get an XKB option group description
    
    https://bugzilla.gnome.org/show_bug.cgi?id=684803

 libgnome-desktop/gnome-xkb-info.c |   30 ++++++++++++++++++++++++++++++
 libgnome-desktop/gnome-xkb-info.h |    2 ++
 2 files changed, 32 insertions(+), 0 deletions(-)
---
diff --git a/libgnome-desktop/gnome-xkb-info.c b/libgnome-desktop/gnome-xkb-info.c
index b86b616..80729bb 100644
--- a/libgnome-desktop/gnome-xkb-info.c
+++ b/libgnome-desktop/gnome-xkb-info.c
@@ -690,6 +690,36 @@ gnome_xkb_info_get_all_option_groups (GnomeXkbInfo *self)
 }
 
 /**
+ * gnome_xkb_info_description_for_group:
+ * @self: a #GnomeXkbInfo
+ * @group_id: identifier for group
+ *
+ * Return value: the translated description for the group @group_id.
+ *
+ * Since: 3.8
+ */
+const gchar *
+gnome_xkb_info_description_for_group (GnomeXkbInfo *self,
+                                      const gchar  *group_id)
+{
+  GnomeXkbInfoPrivate *priv;
+  const XkbOptionGroup *group;
+
+  g_return_val_if_fail (GNOME_IS_XKB_INFO (self), NULL);
+
+  priv = self->priv;
+
+  if (!ensure_rules_are_parsed (self))
+    return NULL;
+
+  group = g_hash_table_lookup (priv->option_groups_table, group_id);
+  if (!group)
+    return NULL;
+
+  return XKEYBOARD_CONFIG_(group->description);
+}
+
+/**
  * gnome_xkb_info_get_options_for_group:
  * @self: a #GnomeXkbInfo
  * @group_id: group's identifier about which to retrieve the options
diff --git a/libgnome-desktop/gnome-xkb-info.h b/libgnome-desktop/gnome-xkb-info.h
index d667a65..44dd2d7 100644
--- a/libgnome-desktop/gnome-xkb-info.h
+++ b/libgnome-desktop/gnome-xkb-info.h
@@ -75,6 +75,8 @@ gboolean        gnome_xkb_info_get_layout_info_for_language     (GnomeXkbInfo *s
                                                                  const gchar **xkb_layout,
                                                                  const gchar **xkb_variant);
 GList          *gnome_xkb_info_get_all_option_groups            (GnomeXkbInfo *self);
+const gchar    *gnome_xkb_info_description_for_group            (GnomeXkbInfo *self,
+                                                                 const gchar  *group_id);
 GList          *gnome_xkb_info_get_options_for_group            (GnomeXkbInfo *self,
                                                                  const gchar  *group_id);
 const gchar    *gnome_xkb_info_description_for_option           (GnomeXkbInfo *self,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]