forked from enlightenment/enlightenment
parent
6e0c18399f
commit
b170c9ffe0
|
@ -236,6 +236,10 @@ _gc_id_new(void)
|
||||||
static void
|
static void
|
||||||
_gc_id_del(const char *id)
|
_gc_id_del(const char *id)
|
||||||
{
|
{
|
||||||
|
/* yes - don't do this. on shutdown gadgets are deleted and this means config
|
||||||
|
* for them is deleted - that means empty config is saved. keep them around
|
||||||
|
* as if u add a gadget back it can pick up its old config again
|
||||||
|
*
|
||||||
Config_Item *ci;
|
Config_Item *ci;
|
||||||
|
|
||||||
ci = _ibar_config_item_get(id);
|
ci = _ibar_config_item_get(id);
|
||||||
|
@ -244,6 +248,7 @@ _gc_id_del(const char *id)
|
||||||
if (ci->id) eina_stringshare_del(ci->id);
|
if (ci->id) eina_stringshare_del(ci->id);
|
||||||
ibar_config->items = evas_list_remove(ibar_config->items, ci);
|
ibar_config->items = evas_list_remove(ibar_config->items, ci);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
|
@ -459,12 +464,17 @@ _ibar_config_item_get(const char *id)
|
||||||
for (l = ibar_config->items; l; l = l->next)
|
for (l = ibar_config->items; l; l = l->next)
|
||||||
{
|
{
|
||||||
ci = l->data;
|
ci = l->data;
|
||||||
if ((ci->id) && (ci->dir) && (!strcmp(ci->id, id)))
|
if ((ci->id) && (!strcmp(ci->id, id)))
|
||||||
return ci;
|
{
|
||||||
|
if (!ci->dir)
|
||||||
|
ci->dir = eina_stringshare_add("default");
|
||||||
|
return ci;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ci = E_NEW(Config_Item, 1);
|
ci = E_NEW(Config_Item, 1);
|
||||||
ci->id = eina_stringshare_add(id);
|
ci->id = eina_stringshare_add(id);
|
||||||
|
ci->dir = eina_stringshare_add("default");
|
||||||
ci->show_label = 1;
|
ci->show_label = 1;
|
||||||
ci->eap_label = 0;
|
ci->eap_label = 0;
|
||||||
ibar_config->items = evas_list_append(ibar_config->items, ci);
|
ibar_config->items = evas_list_append(ibar_config->items, ci);
|
||||||
|
@ -1227,9 +1237,9 @@ e_modapi_init(E_Module *m)
|
||||||
Config_Item *ci;
|
Config_Item *ci;
|
||||||
|
|
||||||
ibar_config = E_NEW(Config, 1);
|
ibar_config = E_NEW(Config, 1);
|
||||||
|
|
||||||
ci = E_NEW(Config_Item, 1);
|
ci = E_NEW(Config_Item, 1);
|
||||||
ci->id = eina_stringshare_add("0");
|
ci->id = eina_stringshare_add("ibar.1");
|
||||||
ci->dir = eina_stringshare_add("default");
|
ci->dir = eina_stringshare_add("default");
|
||||||
ci->show_label = 1;
|
ci->show_label = 1;
|
||||||
ci->eap_label = 0;
|
ci->eap_label = 0;
|
||||||
|
@ -1237,13 +1247,56 @@ e_modapi_init(E_Module *m)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Config_Item *ci;
|
Evas_List *removes = NULL;
|
||||||
const char *p;
|
Evas_List *l;
|
||||||
|
|
||||||
/* Init uuid */
|
for (l = ibar_config->items; l; l = l->next)
|
||||||
ci = evas_list_last(ibar_config->items)->data;
|
{
|
||||||
p = strrchr(ci->id, '.');
|
Config_Item *ci = l->data;
|
||||||
if (p) uuid = atoi(p + 1);
|
if (!ci->id)
|
||||||
|
removes = evas_list_append(removes, ci);
|
||||||
|
else if (!ci->dir)
|
||||||
|
removes = evas_list_append(removes, ci);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Evas_List *ll;
|
||||||
|
|
||||||
|
for (ll = l->next; ll; ll = ll->next)
|
||||||
|
{
|
||||||
|
Config_Item *ci2 = ll->data;
|
||||||
|
if ((ci2->id) && (!strcmp(ci->id, ci2->id)))
|
||||||
|
{
|
||||||
|
removes = evas_list_append(removes, ci);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (removes)
|
||||||
|
{
|
||||||
|
Config_Item *ci = removes->data;
|
||||||
|
removes = evas_list_remove_list(removes, removes);
|
||||||
|
ibar_config->items = evas_list_remove(ibar_config->items, ci);
|
||||||
|
if (ci->id) eina_stringshare_del(ci->id);
|
||||||
|
if (ci->dir) eina_stringshare_del(ci->dir);
|
||||||
|
free(ci);
|
||||||
|
}
|
||||||
|
for (l = ibar_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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ibar_config->module = m;
|
ibar_config->module = m;
|
||||||
|
@ -1293,6 +1346,8 @@ e_modapi_shutdown(E_Module *m)
|
||||||
EAPI int
|
EAPI int
|
||||||
e_modapi_save(E_Module *m)
|
e_modapi_save(E_Module *m)
|
||||||
{
|
{
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
e_config_domain_save("module.ibar", conf_edd, ibar_config);
|
e_config_domain_save("module.ibar", conf_edd, ibar_config);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -246,6 +246,9 @@ _gc_id_new(void)
|
||||||
static void
|
static void
|
||||||
_gc_id_del(const char *id)
|
_gc_id_del(const char *id)
|
||||||
{
|
{
|
||||||
|
/* yes - don't do this. on shutdown gadgets are deleted and this means config
|
||||||
|
* for them is deleted - that means empty config is saved. keep them around
|
||||||
|
* as if u add a gadget back it can pick up its old config again
|
||||||
Config_Item *ci;
|
Config_Item *ci;
|
||||||
|
|
||||||
ci = _ibox_config_item_get(id);
|
ci = _ibox_config_item_get(id);
|
||||||
|
@ -254,6 +257,7 @@ _gc_id_del(const char *id)
|
||||||
if (ci->id) eina_stringshare_del(ci->id);
|
if (ci->id) eina_stringshare_del(ci->id);
|
||||||
ibox_config->items = evas_list_remove(ibox_config->items, ci);
|
ibox_config->items = evas_list_remove(ibox_config->items, ci);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
|
@ -1353,7 +1357,7 @@ e_modapi_init(E_Module *m)
|
||||||
ibox_config = E_NEW(Config, 1);
|
ibox_config = E_NEW(Config, 1);
|
||||||
|
|
||||||
ci = E_NEW(Config_Item, 1);
|
ci = E_NEW(Config_Item, 1);
|
||||||
ci->id = eina_stringshare_add("0");
|
ci->id = eina_stringshare_add("ibox.1");
|
||||||
ci->show_label = 0;
|
ci->show_label = 0;
|
||||||
ci->show_zone = 1;
|
ci->show_zone = 1;
|
||||||
ci->show_desk = 0;
|
ci->show_desk = 0;
|
||||||
|
@ -1362,17 +1366,57 @@ e_modapi_init(E_Module *m)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Config_Item *ci;
|
Evas_List *removes = NULL;
|
||||||
const char *p;
|
Evas_List *l;
|
||||||
|
|
||||||
/* Init uuid */
|
for (l = ibox_config->items; l; l = l->next)
|
||||||
ci = evas_list_last(ibox_config->items)->data;
|
{
|
||||||
p = strrchr(ci->id, '.');
|
Config_Item *ci = l->data;
|
||||||
if (p) uuid = atoi(p + 1);
|
if (!ci->id)
|
||||||
|
removes = evas_list_append(removes, ci);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Evas_List *ll;
|
||||||
|
|
||||||
|
for (ll = l->next; ll; ll = ll->next)
|
||||||
|
{
|
||||||
|
Config_Item *ci2 = ll->data;
|
||||||
|
if ((ci2->id) && (!strcmp(ci->id, ci2->id)))
|
||||||
|
{
|
||||||
|
removes = evas_list_append(removes, ci);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (removes)
|
||||||
|
{
|
||||||
|
Config_Item *ci = removes->data;
|
||||||
|
removes = evas_list_remove_list(removes, removes);
|
||||||
|
ibox_config->items = evas_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;
|
ibox_config->module = m;
|
||||||
|
|
||||||
ibox_config->handlers = evas_list_append
|
ibox_config->handlers = evas_list_append
|
||||||
(ibox_config->handlers, ecore_event_handler_add
|
(ibox_config->handlers, ecore_event_handler_add
|
||||||
(E_EVENT_BORDER_ADD, _ibox_cb_event_border_add, NULL));
|
(E_EVENT_BORDER_ADD, _ibox_cb_event_border_add, NULL));
|
||||||
|
|
|
@ -191,6 +191,10 @@ _gc_id_new(void)
|
||||||
static void
|
static void
|
||||||
_gc_id_del(const char *id)
|
_gc_id_del(const char *id)
|
||||||
{
|
{
|
||||||
|
/* yes - don't do this. on shutdown gadgets are deleted and this means config
|
||||||
|
* for them is deleted - that means empty config is saved. keep them around
|
||||||
|
* as if u add a gadget back it can pick up its old config again
|
||||||
|
*
|
||||||
Config_Face *inst;
|
Config_Face *inst;
|
||||||
|
|
||||||
inst = evas_hash_find(temperature_config->faces, id);
|
inst = evas_hash_find(temperature_config->faces, id);
|
||||||
|
@ -200,6 +204,7 @@ _gc_id_del(const char *id)
|
||||||
if (inst->sensor_name) eina_stringshare_del(inst->sensor_name);
|
if (inst->sensor_name) eina_stringshare_del(inst->sensor_name);
|
||||||
free(inst);
|
free(inst);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
|
|
Loading…
Reference in New Issue