From ae3b4b9d187761eb2a8db061f2820c9a02de0ee2 Mon Sep 17 00:00:00 2001 From: Sebastian Dransfeld Date: Fri, 23 Nov 2007 06:57:39 +0000 Subject: [PATCH] Store X- keys SVN revision: 32836 --- legacy/efreet/src/lib/efreet_desktop.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/legacy/efreet/src/lib/efreet_desktop.c b/legacy/efreet/src/lib/efreet_desktop.c index 61776c3f5a..8c191d6f1b 100644 --- a/legacy/efreet/src/lib/efreet_desktop.c +++ b/legacy/efreet/src/lib/efreet_desktop.c @@ -63,6 +63,8 @@ static void efreet_desktop_generic_fields_save(Efreet_Desktop *desktop, Efreet_Ini *ini); static void efreet_desktop_x_fields_parse(Ecore_Hash_Node *node, Efreet_Desktop *desktop); +static void efreet_desktop_x_fields_save(Ecore_Hash_Node *node, + Efreet_Ini *ini); static int efreet_desktop_environment_check(Efreet_Ini *ini); static char *efreet_string_append(char *dest, int *size, int *len, const char *src); @@ -981,6 +983,10 @@ efreet_desktop_generic_fields_save(Efreet_Desktop *desktop, Efreet_Ini *ini) efreet_ini_boolean_set(ini, "NoDisplay", desktop->no_display); efreet_ini_boolean_set(ini, "Hidden", desktop->hidden); + + if (desktop->x) ecore_hash_for_each_node(desktop->x, + ECORE_FOR_EACH(efreet_desktop_x_fields_save), + ini); } /** @@ -988,7 +994,7 @@ efreet_desktop_generic_fields_save(Efreet_Desktop *desktop, Efreet_Ini *ini) * @param node: The node to work with * @param desktop: The desktop file to work with * @return Returns no value - * @brief Parses out an X- deys from @a node and stores in @a desktop + * @brief Parses out an X- key from @a node and stores in @a desktop */ static void efreet_desktop_x_fields_parse(Ecore_Hash_Node *node, Efreet_Desktop *desktop) @@ -1007,6 +1013,19 @@ efreet_desktop_x_fields_parse(Ecore_Hash_Node *node, Efreet_Desktop *desktop) (void *)ecore_string_instance(node->value)); } +/** + * @internal + * @param node: The node to work with + * @param ini: The ini file to work with + * @return Returns no value + * @brief Stores an X- key from @a node and stores in @a ini + */ +static void +efreet_desktop_x_fields_save(Ecore_Hash_Node *node, Efreet_Ini *ini) +{ + efreet_ini_string_set(ini, node->key, node->value); +} + /** * @internal