diff options
author | Michael Terry <michael.terry@canonical.com> | 2012-02-01 10:53:10 -0500 |
---|---|---|
committer | Michael Terry <michael.terry@canonical.com> | 2012-02-01 10:53:10 -0500 |
commit | 5daf209f4434b5a7c4a5183316cd33851b863d32 (patch) | |
tree | b6391e6a559e756b3db89901690e558dd5fd89fa /liblightdm-gobject | |
parent | bc29eb77d16e6ade91f310be22d849410443e0de (diff) | |
download | lightdm-5daf209f4434b5a7c4a5183316cd33851b863d32.tar.gz |
add variants to layout list too
Diffstat (limited to 'liblightdm-gobject')
-rw-r--r-- | liblightdm-gobject/layout.c | 13 |
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); } /** |