diff options
author | Eduardo Lima (Etrunko) <eduardo.lima@intel.com> | 2013-09-25 17:33:15 -0300 |
---|---|---|
committer | Eduardo Lima (Etrunko) <eduardo.lima@intel.com> | 2013-09-26 17:33:24 -0300 |
commit | 8cace5af04363d1b51d89f3c92f723b9a941a31b (patch) | |
tree | d711dc07284642323c84f0805d1dddacf26acc61 | |
parent | 4aae1cbc1c27c65943e354a6eba41e09cc4c8baa (diff) | |
download | weekeyboard-8cace5af04363d1b51d89f3c92f723b9a941a31b.tar.gz weekeyboard-8cace5af04363d1b51d89f3c92f723b9a941a31b.tar.bz2 weekeyboard-8cace5af04363d1b51d89f3c92f723b9a941a31b.zip |
Fix implementation of wkb_ibus_config_eet_get_values()
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
-rw-r--r-- | src/wkb-ibus-config-eet.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/wkb-ibus-config-eet.c b/src/wkb-ibus-config-eet.c index f72712c..55f0f25 100644 --- a/src/wkb-ibus-config-eet.c +++ b/src/wkb-ibus-config-eet.c @@ -813,6 +813,8 @@ wkb_ibus_config_eet_get_values(struct wkb_ibus_config_eet *config_eet, const cha Eina_Bool ret = EINA_FALSE; struct _config_section *sec; struct wkb_config_key *key; + Eina_List *node; + Eldbus_Message_Iter *dict, *entry; if (!(sec = _config_section_find(config_eet->ibus_config, section))) { @@ -820,6 +822,20 @@ wkb_ibus_config_eet_get_values(struct wkb_ibus_config_eet *config_eet, const cha goto end; } + dict = eldbus_message_iter_container_new(reply, 'a', "{sv}"); + + EINA_LIST_FOREACH(sec->keys, node, key) + { + entry = eldbus_message_iter_container_new(dict, 'e', NULL); + eldbus_message_iter_basic_append(entry, 's', wkb_config_key_id(key)); + ret = wkb_config_key_get(key, entry); + eldbus_message_iter_container_close(dict, entry); + if (!ret) + break; + } + + eldbus_message_iter_container_close(reply, dict); + end: return ret; } |