deleting multiple gadgets in advanced gadget config will now actually delete multiple gadgets
SVN revision: 76525
This commit is contained in:
parent
0a66fa4671
commit
2747cba221
|
@ -159,7 +159,7 @@ _cb_list_selected(void *data)
|
||||||
{
|
{
|
||||||
E_Config_Dialog_Data *cfdata;
|
E_Config_Dialog_Data *cfdata;
|
||||||
const E_Ilist_Item *it;
|
const E_Ilist_Item *it;
|
||||||
Eina_List *l;
|
const Eina_List *l;
|
||||||
unsigned int loaded = 0;
|
unsigned int loaded = 0;
|
||||||
|
|
||||||
if (!(cfdata = data)) return;
|
if (!(cfdata = data)) return;
|
||||||
|
@ -179,7 +179,7 @@ static void
|
||||||
_list_item_del_advanced(E_Config_Dialog_Data *cfdata, E_Gadcon_Client *gcc)
|
_list_item_del_advanced(E_Config_Dialog_Data *cfdata, E_Gadcon_Client *gcc)
|
||||||
{
|
{
|
||||||
E_Ilist_Item *ili;
|
E_Ilist_Item *ili;
|
||||||
Eina_List *l;
|
const Eina_List *l;
|
||||||
int x = 0;
|
int x = 0;
|
||||||
|
|
||||||
if (!gcc->cf)
|
if (!gcc->cf)
|
||||||
|
@ -206,7 +206,7 @@ static void
|
||||||
_list_item_del(E_Config_Dialog_Data *cfdata __UNUSED__, Evas_Object *list, const E_Gadcon_Client_Class *cc)
|
_list_item_del(E_Config_Dialog_Data *cfdata __UNUSED__, Evas_Object *list, const E_Gadcon_Client_Class *cc)
|
||||||
{
|
{
|
||||||
E_Ilist_Item *ili;
|
E_Ilist_Item *ili;
|
||||||
Eina_List *l;
|
const Eina_List *l;
|
||||||
int x = 0;
|
int x = 0;
|
||||||
|
|
||||||
EINA_LIST_FOREACH(e_widget_ilist_items_get(list), l, ili)
|
EINA_LIST_FOREACH(e_widget_ilist_items_get(list), l, ili)
|
||||||
|
@ -239,7 +239,7 @@ _list_item_add_advanced(E_Config_Dialog_Data *cfdata, E_Gadcon_Client *gcc, E_Co
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
const Eina_List *l;
|
||||||
E_Ilist_Item *ili;
|
E_Ilist_Item *ili;
|
||||||
|
|
||||||
EINA_LIST_FOREACH(e_widget_ilist_items_get(cfdata->advanced.o_list), l, ili)
|
EINA_LIST_FOREACH(e_widget_ilist_items_get(cfdata->advanced.o_list), l, ili)
|
||||||
|
@ -441,7 +441,7 @@ _cb_add(void *data, void *data2 __UNUSED__)
|
||||||
{
|
{
|
||||||
E_Config_Dialog_Data *cfdata;
|
E_Config_Dialog_Data *cfdata;
|
||||||
const E_Ilist_Item *it;
|
const E_Ilist_Item *it;
|
||||||
Eina_List *l;
|
const Eina_List *l;
|
||||||
int update = 0;
|
int update = 0;
|
||||||
|
|
||||||
if (!(cfdata = data)) return;
|
if (!(cfdata = data)) return;
|
||||||
|
@ -486,43 +486,51 @@ _cb_del_advanced(void *data, void *data2 __UNUSED__)
|
||||||
{
|
{
|
||||||
E_Config_Dialog_Data *cfdata = data;
|
E_Config_Dialog_Data *cfdata = data;
|
||||||
E_Config_Gadcon_Client *cf_gcc;
|
E_Config_Gadcon_Client *cf_gcc;
|
||||||
Eina_List *l;
|
const Eina_List *l, *sel, *ll, *lll, *llll;
|
||||||
|
E_Ilist_Item *ili;
|
||||||
int x = 0;
|
int x = 0;
|
||||||
|
|
||||||
EINA_LIST_FOREACH(cfdata->gc->cf->clients, l, cf_gcc)
|
|
||||||
{
|
|
||||||
if (cf_gcc->id == cfdata->sel)
|
|
||||||
{
|
|
||||||
CFGadget *gad;
|
|
||||||
E_Gadcon_Client *gcc;
|
|
||||||
|
|
||||||
if ((gad = eina_hash_find(cfdata->gadget_hash, cf_gcc->id)))
|
sel = e_widget_ilist_items_get(cfdata->advanced.o_list);
|
||||||
|
EINA_LIST_FOREACH_SAFE(sel, ll, lll, ili)
|
||||||
|
{
|
||||||
|
if (!ili) continue;
|
||||||
|
if (!ili->selected) continue;
|
||||||
|
x = 0;
|
||||||
|
EINA_LIST_FOREACH_SAFE(cfdata->gc->cf->clients, l, llll, cf_gcc)
|
||||||
|
{
|
||||||
|
if (cf_gcc->id == e_widget_ilist_item_value_get(ili))
|
||||||
{
|
{
|
||||||
eina_hash_del(cfdata->gadget_hash, gad->id, gad);
|
CFGadget *gad;
|
||||||
if (gad->name) eina_stringshare_del(gad->name);
|
E_Gadcon_Client *gcc;
|
||||||
if (gad->id) eina_stringshare_del(gad->id);
|
|
||||||
E_FREE(gad);
|
if ((gad = eina_hash_find(cfdata->gadget_hash, cf_gcc->id)))
|
||||||
}
|
{
|
||||||
EINA_LIST_FOREACH(cfdata->gc->clients, l, gcc)
|
eina_hash_del(cfdata->gadget_hash, gad->id, gad);
|
||||||
{
|
if (gad->name) eina_stringshare_del(gad->name);
|
||||||
if (gcc->cf != cf_gcc) continue;
|
if (gad->id) eina_stringshare_del(gad->id);
|
||||||
gcc->cf = NULL;
|
E_FREE(gad);
|
||||||
e_object_del(E_OBJECT(gcc));
|
}
|
||||||
|
EINA_LIST_FOREACH(cfdata->gc->clients, l, gcc)
|
||||||
|
{
|
||||||
|
if (gcc->cf != cf_gcc) continue;
|
||||||
|
gcc->cf = NULL;
|
||||||
|
e_object_del(E_OBJECT(gcc));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
e_gadcon_client_config_del(cfdata->gc->cf, cf_gcc);
|
||||||
|
if (!cfdata->gc->custom)
|
||||||
|
{
|
||||||
|
e_gadcon_unpopulate(cfdata->gc);
|
||||||
|
e_gadcon_populate(cfdata->gc);
|
||||||
|
}
|
||||||
|
e_config_save_queue();
|
||||||
|
e_widget_ilist_remove_num(cfdata->advanced.o_list, x);
|
||||||
|
x++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
e_gadcon_client_config_del(cfdata->gc->cf, cf_gcc);
|
|
||||||
if (!cfdata->gc->custom)
|
|
||||||
{
|
|
||||||
e_gadcon_unpopulate(cfdata->gc);
|
|
||||||
e_gadcon_populate(cfdata->gc);
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
e_widget_ilist_remove_num(cfdata->advanced.o_list, x);
|
|
||||||
e_widget_ilist_selected_set(cfdata->advanced.o_list, 0);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
x++;
|
|
||||||
}
|
}
|
||||||
|
e_widget_ilist_selected_set(cfdata->advanced.o_list, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -530,7 +538,7 @@ _cb_del(void *data, void *data2 __UNUSED__)
|
||||||
{
|
{
|
||||||
E_Config_Dialog_Data *cfdata;
|
E_Config_Dialog_Data *cfdata;
|
||||||
const E_Ilist_Item *it;
|
const E_Ilist_Item *it;
|
||||||
Eina_List *l;
|
const Eina_List *l;
|
||||||
int update = 0;
|
int update = 0;
|
||||||
|
|
||||||
if (!(cfdata = data)) return;
|
if (!(cfdata = data)) return;
|
||||||
|
|
Loading…
Reference in New Issue