diff --git a/src/modules/clock/e_mod_main.c b/src/modules/clock/e_mod_main.c index 3d63c6a88..9fa513f86 100644 --- a/src/modules/clock/e_mod_main.c +++ b/src/modules/clock/e_mod_main.c @@ -53,7 +53,6 @@ static E_Config_DD *conf_edd = NULL; static E_Config_DD *conf_item_edd = NULL; static Eina_List *clock_instances = NULL; static E_Action *act = NULL; -static int uuid = 0; static Ecore_Timer *update_today = NULL; static void @@ -679,21 +678,10 @@ _gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__) static Config_Item * _conf_item_get(const char *id) { - Eina_List *l = NULL; - Config_Item *ci = NULL; - char buf[128]; + Config_Item *ci; + + GADCON_CLIENT_CONFIG_GET(Config_Item, clock_config->items, _gadcon_class, id); - if (!id) - { - snprintf(buf, sizeof(buf), "%s.%d", _gadcon_class.name, ++uuid); - id = buf; - } - else - { - uuid++; - EINA_LIST_FOREACH(clock_config->items, l, ci) - if ((ci->id) && (!strcmp(ci->id, id))) return ci; - } ci = E_NEW(Config_Item, 1); ci->id = eina_stringshare_add(id); ci->weekend.start = 6; diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c index e93ccf29f..1d3aa72a9 100644 --- a/src/modules/ibar/e_mod_main.c +++ b/src/modules/ibar/e_mod_main.c @@ -115,8 +115,6 @@ static Eina_Bool _ibar_cb_config_icons(void *data, int ev_type, void *ev); static E_Config_DD *conf_edd = NULL; static E_Config_DD *conf_item_edd = NULL; -static int uuid = 0; - Config *ibar_config = NULL; static E_Gadcon_Client * @@ -436,27 +434,9 @@ static Config_Item * _ibar_config_item_get(const char *id) { Config_Item *ci; - char buf[128]; - if (!id) - { - snprintf(buf, sizeof(buf), "%s.%d", _gadcon_class.name, ++uuid); - id = buf; - } - else - { - const Eina_List *l; + GADCON_CLIENT_CONFIG_GET(Config_Item, ibar_config->items, _gadcon_class, id); - /* Find old config, or reuse supplied id */ - EINA_LIST_FOREACH(ibar_config->items, l, ci) - { - if ((ci->id) && (!strcmp(ci->id, id))) - { - if (!ci->dir) ci->dir = eina_stringshare_add("default"); - return ci; - } - } - } ci = E_NEW(Config_Item, 1); ci->id = eina_stringshare_add(id); ci->dir = eina_stringshare_add("default"); @@ -1205,57 +1185,6 @@ e_modapi_init(E_Module *m) ci->eap_label = 0; ibar_config->items = eina_list_append(ibar_config->items, ci); } - else - { - Eina_List *removes = NULL; - const Eina_List *l; - Config_Item *ci; - - EINA_LIST_FOREACH(ibar_config->items, l, ci) - { - if (!ci->id) - removes = eina_list_append(removes, ci); - else if (!ci->dir) - removes = eina_list_append(removes, ci); - else - { - const Eina_List *ll; - Config_Item *ci2; - - EINA_LIST_FOREACH(l->next, ll, ci2) - { - if ((ci2->id) && (!strcmp(ci->id, ci2->id))) - { - removes = eina_list_append(removes, ci); - break; - } - } - } - } - EINA_LIST_FREE(removes, ci) - { - ibar_config->items = eina_list_remove(ibar_config->items, ci); - if (ci->id) eina_stringshare_del(ci->id); - if (ci->dir) eina_stringshare_del(ci->dir); - E_FREE(ci); - } - EINA_LIST_FOREACH(ibar_config->items, l, ci) - { - if (ci->id) - { - const char *p; - - p = strrchr(ci->id, '.'); - if (p) - { - int id; - - id = atoi(p + 1); - if (id > uuid) uuid = id; - } - } - } - } ibar_config->module = m; diff --git a/src/modules/ibox/e_mod_main.c b/src/modules/ibox/e_mod_main.c index b44ac507f..b0d6b86c8 100644 --- a/src/modules/ibox/e_mod_main.c +++ b/src/modules/ibox/e_mod_main.c @@ -117,8 +117,6 @@ static Config_Item *_ibox_config_item_get(const char *id); static E_Config_DD *conf_edd = NULL; static E_Config_DD *conf_item_edd = NULL; -static int uuid = 0; - Config *ibox_config = NULL; static E_Gadcon_Client * @@ -1229,25 +1227,10 @@ _ibox_cb_event_desk_show(void *data __UNUSED__, int type __UNUSED__, void *event static Config_Item * _ibox_config_item_get(const char *id) { - Eina_List *l; Config_Item *ci; - char buf[128]; - if (!id) - { - snprintf(buf, sizeof(buf), "%s.%d", _gadcon_class.name, ++uuid); - id = buf; - } - else - { - /* Find old config */ - for (l = ibox_config->items; l; l = l->next) - { - ci = l->data; - if ((ci->id) && (!strcmp(ci->id, id))) - return ci; - } - } + GADCON_CLIENT_CONFIG_GET(Config_Item, ibox_config->items, _gadcon_class, id); + ci = E_NEW(Config_Item, 1); ci->id = eina_stringshare_add(id); ci->show_label = 0; @@ -1343,56 +1326,6 @@ e_modapi_init(E_Module *m) ci->icon_label = 0; ibox_config->items = eina_list_append(ibox_config->items, ci); } - else - { - Eina_List *removes = NULL; - Eina_List *l; - - for (l = ibox_config->items; l; l = l->next) - { - Config_Item *ci = l->data; - if (!ci->id) - removes = eina_list_append(removes, ci); - else - { - Eina_List *ll; - - for (ll = l->next; ll; ll = ll->next) - { - Config_Item *ci2 = ll->data; - if ((ci2->id) && (!strcmp(ci->id, ci2->id))) - { - removes = eina_list_append(removes, ci); - break; - } - } - } - } - while (removes) - { - Config_Item *ci = removes->data; - removes = eina_list_remove_list(removes, removes); - ibox_config->items = eina_list_remove(ibox_config->items, ci); - if (ci->id) eina_stringshare_del(ci->id); - free(ci); - } - for (l = ibox_config->items; l; l = l->next) - { - Config_Item *ci = l->data; - if (ci->id) - { - const char *p; - p = strrchr(ci->id, '.'); - if (p) - { - int id; - - id = atoi(p + 1); - if (id > uuid) uuid = id; - } - } - } - } ibox_config->module = m;