efl: update Efl.Model to properly propagate EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED.

This commit is contained in:
Cedric BAIL 2018-04-12 14:41:54 -07:00
parent af9b5f2f85
commit 8e107c991c
6 changed files with 11 additions and 10 deletions

View File

@ -212,7 +212,7 @@ _efl_model_container_child_property_add(Eo *obj,
}
if (in_count > children_count)
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, &in_count);
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, NULL);
return EINA_TRUE;

View File

@ -171,7 +171,7 @@ _efl_model_item_efl_model_child_add(Eo *obj, Efl_Model_Item_Data *sd)
sd->childrens = eina_list_append(sd->childrens, child);
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILD_ADDED, &cevt);
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, &cevt.index);
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, NULL);
return child;
}
@ -197,8 +197,7 @@ _efl_model_item_efl_model_child_del(Eo *obj, Efl_Model_Item_Data *sd, Eo *child)
efl_parent_set(child, NULL);
i = eina_list_count(sd->childrens);
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, &i);
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, NULL);
break;
}

View File

@ -126,6 +126,7 @@ _efl_model_evt_added_ecore_cb(void *data, int type, void *event)
// Notify of the new child being added
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILD_ADDED, &cevt);
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, NULL);
end:
eina_stringshare_del(spath);
@ -170,6 +171,7 @@ _efl_model_evt_deleted_ecore_cb(void *data, int type, void *event)
cevt.child = mi->object;
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILD_REMOVED, &cevt);
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, NULL);
// Remove the entry from the files list
pd->files = eina_list_remove_list(pd->files, l);
@ -714,6 +716,8 @@ _eio_model_children_list(void *data, Eina_Array *entries)
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILD_ADDED, &cevt);
}
efl_event_callback_call(obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, NULL);
}
static Eina_Value

View File

@ -105,7 +105,6 @@ _eldbus_model_connection_names_list_cb(void *data,
const char *error_name, *error_text;
Eldbus_Message_Iter *array = NULL;
const char *bus;
unsigned int count;
pd->pending = NULL;
@ -139,8 +138,7 @@ _eldbus_model_connection_names_list_cb(void *data,
pd->is_listed = EINA_TRUE;
count = eina_list_count(pd->childrens);
efl_event_callback_call(pd->obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, &count);
efl_event_callback_call(pd->obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, NULL);
EINA_LIST_FREE(pd->requests, slice)
{

View File

@ -242,7 +242,6 @@ _eldbus_model_object_introspect_cb(void *data,
const char *error_text;
const char *xml = NULL;
const char *current_path;
unsigned int count;
pd->pendings = eina_list_remove(pd->pendings, pending);
object = eldbus_pending_data_get(pending, "object");
@ -276,8 +275,7 @@ _eldbus_model_object_introspect_cb(void *data,
if (eina_list_count(pd->pendings) != 0) return ;
count = eina_list_count(pd->childrens);
efl_event_callback_call(pd->obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, &count);
efl_event_callback_call(pd->obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, NULL);
pd->is_listed = EINA_TRUE;

View File

@ -375,6 +375,8 @@ _eldbus_model_proxy_listed(Eldbus_Model_Proxy_Data *pd)
{
_eldbus_model_proxy_create_methods_children(pd);
_eldbus_model_proxy_create_signals_children(pd);
efl_event_callback_call(pd->obj, EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED, NULL);
pd->is_listed = EINA_TRUE;
}
}