}
_elm_fileselector_replace_model(fs, sd, NULL, NULL);
efl_replace(&sd->prev_model, NULL);
- free(ecore_idler_del(sd->populate_idler));
ecore_idler_del(sd->path_entry_idler);
efl_canvas_group_del(efl_super(sd->obj, MY_CLASS));
elm_genlist_item_expanded_set(it, EINA_FALSE);
}
-static Eina_Bool
-_populate_do(void *data)
-{
- struct sel_data *sdata = data;
- ELM_FILESELECTOR_DATA_GET(sdata->fs, sd);
-
- _populate(sdata->fs, sdata->model, NULL, sdata->selected);
- efl_replace(&sdata->model, NULL);
- efl_replace(&sdata->selected, NULL);
-
- sd->populate_idler = NULL;
-
- free(sdata);
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void
-_schedule_populate(Evas_Object *fs,
- Elm_Fileselector_Data *sd,
- Efl_Model *model,
- Efl_Model *selected)
-{
- struct sel_data *sdata;
-
- sdata = calloc(1, sizeof(*sdata));
- if (!sdata) return;
-
- sdata->fs = fs;
- efl_replace(&sdata->model, model);
- efl_replace(&sdata->selected, selected);
-
- if (sd->populate_idler)
- {
- struct sel_data *old_sdata;
- old_sdata = ecore_idler_del(sd->populate_idler);
- efl_replace(&old_sdata->model, NULL);
- efl_replace(&old_sdata->selected, NULL);
- free(old_sdata);
- }
- sd->populate_idler = ecore_idler_add(_populate_do, sdata);
-}
-
static void
_on_item_activated(void *data, const Efl_Event *event)
{
if (!sd->double_tap_navigation) return;
efl_parent_set(it_data->model, data);
- _schedule_populate(data, sd, it_data->model, NULL);
+ _populate(data, it_data->model, NULL, NULL);
}
static void
if (sd->double_tap_navigation) return;
- _schedule_populate(data, sd, it_data->model, NULL);
+ _populate(data, it_data->model, NULL, NULL);
}
static void
sd->only_folder = !!only;
if (sd->model)
{
- _schedule_populate(obj, sd, sd->model, NULL);
+ _populate(obj, sd->model, NULL, NULL);
}
}
if (sd->model)
{
- _schedule_populate(obj, sd, sd->model, NULL);
+ _populate(obj, sd->model, NULL, NULL);
}
}
}
EOLIAN static void
-_elm_fileselector_efl_ui_view_model_set(Eo *obj, Elm_Fileselector_Data *sd, Efl_Model *model)
+_elm_fileselector_efl_ui_view_model_set(Eo *obj, Elm_Fileselector_Data *sd EINA_UNUSED, Efl_Model *model)
{
- _schedule_populate(obj, sd, model, NULL);
+ _populate(obj, model, NULL, NULL);
}
EAPI const char *
efl_ui_widget_theme_apply(obj);
if (sd->model)
{
- _schedule_populate(obj, sd, sd->model, NULL);
+ _populate(obj, sd->model, NULL, NULL);
}
}
}
efl_model_children_count_get(parent);
- _schedule_populate(obj, pd, parent, ev->object);
+ _populate(obj, parent, NULL, ev->object);
efl_unref(parent);
free(dir);
}
else
{
efl_model_children_count_get(ev->object);
- _schedule_populate(obj, pd, ev->object, NULL);
+ _populate(obj, ev->object, NULL, NULL);
}
return ;
}
}
efl_model_children_count_get(parent);
- _schedule_populate(obj, pd, parent, pd->target);
+ _populate(obj, parent, NULL, pd->target);
efl_unref(parent);
free(d);
}
else
{
efl_model_children_count_get(pd->target);
- _schedule_populate(obj, pd, pd->target, NULL);
+ _populate(obj, pd->target, NULL, NULL);
}
return EINA_TRUE;
if (sd->model)
{
- _schedule_populate(obj, sd, sd->model, NULL);
+ _populate(obj, sd->model, NULL, NULL);
}
return EINA_TRUE;
if (sd->model)
{
- _schedule_populate(obj, sd, sd->model, NULL);
+ _populate(obj, sd->model, NULL, NULL);
}
return EINA_TRUE;
if (sd->model)
{
- _schedule_populate(obj, sd, sd->model, NULL);
+ _populate(obj, sd->model, NULL, NULL);
}
}
if (sd->model)
{
- _schedule_populate(obj, sd, sd->model, NULL);
+ _populate(obj, sd->model, NULL, NULL);
}
}
if (sd->model)
{
- _schedule_populate(obj, sd, sd->model, NULL);
+ _populate(obj, sd->model, NULL, NULL);
}
}
if (sd->model)
{
- _schedule_populate(obj, sd, sd->model, NULL);
+ _populate(obj, sd->model, NULL, NULL);
}
}