#define GET_LIST_DATA(obj) evas_object_data_get(obj, "list_data")
+static void _gl_sel_cb(void *data, Evas_Object *obj, void *event_info);
static Evas_Object *
_mc_create_genlist(Evas_Object *parent)
list_item_data_t *it_data = data;
MP_CHECK(it_data);
+ track_list_data_t *ld = evas_object_data_get(obj, "track_list_data");
+ MP_CHECK(ld);
+
it_data->checked = !it_data->checked;
it_data->checkbox_cb = EINA_TRUE;
+ _gl_sel_cb(ld, obj, it_data->it);
}
static Evas_Object *_gl_select_all_content_get(void *data, Evas_Object *obj, const char *part)
elm_layout_theme_set(content, "layout", "list/C/type.2", "default");
elm_layout_content_set(content, "elm.swallow.content", check);
} else if ((!strcmp(part, "elm.swallow.end") && (it_data->ad->select_type == MC_SELECT_MULTI))) {
+ track_list_data_t *ld = evas_object_data_get(obj, "track_list_data");
+ MP_CHECK_NULL(ld);
+
content = elm_check_add(obj);
elm_check_state_pointer_set(content, &it_data->checked);
elm_object_style_set(content, "default/genlist");
+
+ evas_object_data_set(content, "track_list_data", ld);
+
evas_object_smart_callback_add(content, "changed", _check_changed_cb, it_data);
- evas_object_repeat_events_set(content, EINA_TRUE);
+ evas_object_repeat_events_set(content, EINA_FALSE);
evas_object_propagate_events_set(content, EINA_FALSE);
}
if (count) {
ld->genlist = content = _mc_create_genlist(list);
+ evas_object_data_set(content, "track_list_data", ld);
mp_media_info_list_create(&ld->track_list, ld->t_type, ld->type_str, NULL, NULL, ld->playlist_id, 0, count);
if (ld->ad->select_type == MC_SELECT_MULTI) {
elm_genlist_item_append(content, &ld->itc_select_all, ld, NULL, ELM_GENLIST_ITEM_NONE, _mc_track_list_select_cb, ld);