summaryrefslogtreecommitdiff
path: root/liblightdm-gobject
diff options
context:
space:
mode:
authorMichael Terry <michael.terry@canonical.com>2012-02-01 10:53:10 -0500
committerMichael Terry <michael.terry@canonical.com>2012-02-01 10:53:10 -0500
commit5daf209f4434b5a7c4a5183316cd33851b863d32 (patch)
treeb6391e6a559e756b3db89901690e558dd5fd89fa /liblightdm-gobject
parentbc29eb77d16e6ade91f310be22d849410443e0de (diff)
downloadlightdm-5daf209f4434b5a7c4a5183316cd33851b863d32.tar.gz
add variants to layout list too
Diffstat (limited to 'liblightdm-gobject')
-rw-r--r--liblightdm-gobject/layout.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/liblightdm-gobject/layout.c b/liblightdm-gobject/layout.c
index 6e5442f7..369ae2f1 100644
--- a/liblightdm-gobject/layout.c
+++ b/liblightdm-gobject/layout.c
@@ -38,6 +38,17 @@ static XklConfigRec *xkl_config = NULL;
static GList *layouts = NULL;
static void
+variant_cb (XklConfigRegistry *config,
+ const XklConfigItem *item,
+ gpointer data)
+{
+ LightDMLayout *layout;
+
+ layout = g_object_new (LIGHTDM_TYPE_LAYOUT, "name", item->name, "short-description", item->short_description, "description", item->description, NULL);
+ layouts = g_list_append (layouts, layout);
+}
+
+static void
layout_cb (XklConfigRegistry *config,
const XklConfigItem *item,
gpointer data)
@@ -46,6 +57,8 @@ layout_cb (XklConfigRegistry *config,
layout = g_object_new (LIGHTDM_TYPE_LAYOUT, "name", item->name, "short-description", item->short_description, "description", item->description, NULL);
layouts = g_list_append (layouts, layout);
+
+ xkl_config_registry_foreach_layout_variant (config, item->name, variant_cb, NULL);
}
/**