int index = 0;
for (index = 0; index < count; index++) {
mp_media_info_h item = NULL;
- item = mp_media_info_list_nth_item(svc_handle, index);
+ char *title = NULL;
mp_list_item_data_t *item_data;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, index[%d]", index);
+ goto END;
+ }
+ mp_media_info_get_file_path(item, &title);
+
#ifdef MP_FEATURE_PERSONAL_PAGE
char *path = NULL;
mp_media_info_get_file_path(item, &path);
continue;
}
}
- append_album_items:
+append_album_items:
#endif
- item_data = calloc(1, sizeof(mp_list_item_data_t));
- MP_CHECK(item_data);
- item_data->handle = item;
- item_data->index = index;
- item_data->group_type = MP_GROUP_NONE;
-
- item_data->it =
- elm_genlist_item_append(list->genlist, list->itc, item_data,
- NULL, ELM_GENLIST_ITEM_NONE,
- _mp_album_detail_genlist_sel_cb, list);
- elm_object_item_data_set(item_data->it, item_data);
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->handle = item;
+ item_data->index = index;
+ item_data->group_type = MP_GROUP_NONE;
+ if (list->edit_mode) {
+ item_data->checked =
+ mp_list_is_in_checked_path_list(list->checked_path_list,
+ title);
}
- endfunc;
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc, item_data,
+ NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_album_detail_genlist_sel_cb, list);
+ elm_object_item_data_set(item_data->it, item_data);
+ }
+ END:
+ endfunc;
}
static char *_mp_album_detail_list_album_text_get(void *data,
list->itc_shuffle = NULL;
}
+ mp_list_free_checked_path_list(list->checked_path_list);
+
IF_FREE(list->type_str);
IF_FREE(list->type_str2);
IF_FREE(list->filter_str);
MP_CHECK(res == 0);
list->track_count = count;
+ mp_list_free_checked_path_list(list->checked_path_list);
+ list->checked_path_list =
+ mp_list_get_checked_path_list((MpList_t *) list);
+
mp_evas_object_del(list->no_content);
mp_evas_object_del(list->genlist);
#include "mp-minicontroller.h"
#include "mp-common.h"
+int selected_tracks_count;
+
static char *_mp_artist_detail_list_album_label_get(void *data,
Evas_Object * obj,
const char *part)
mp_media_list_h svc_handle;
/*clear genlist */
- /*
- Elm_Object_Item *item = elm_genlist_first_item_get(list->genlist);
- if (item)
- {
- elm_genlist_item_bring_in(item, ELM_GENLIST_ITEM_SCROLLTO_IN);
- elm_genlist_clear(list->genlist);
- }
- */
/*get data from DB */
int ret = 0;
int count = 0;
MP_CHECK_VAL(item_data, real_count);
item_data->handle = item;
item_data->index = index;
+ if (list->edit_mode) {
+ item_data->checked =
+ mp_list_is_in_checked_path_list(list->checked_path_list,
+ path);
+ if (item_data->checked) {
+ selected_tracks_count++;
+ }
+ }
item_data->it =
elm_genlist_item_append(list->genlist, list->itc_track,
0, count);
if (ret != 0) {
- DEBUG_TRACE("Fail to get items");
+ ERROR_TRACE("Fail to get items");
goto END;
}
mp_media_info_h item = NULL;
Elm_Object_Item *list_item = NULL;
char *title = NULL;
+ char *full_path = NULL;
+ Elm_Object_Item *item_track;
item = mp_media_info_group_list_nth_item(svc_handle, index);
if (!item) {
goto END;
}
mp_media_info_group_get_main_info(item, &title);
+
mp_list_item_data_t *item_data;
item_data =
mp_list_item_data_create
}
/* append tracks of the album */
+ selected_tracks_count = 0; // Getting the number of tracks selected within an album
int appended_track_num =
_mp_artist_detail_list_append_album_tracks(list, title,
list_item);
if (!appended_track_num) {
elm_object_item_del(list_item);
list->count_album--;
+ } else {
+ if (list->edit_mode && (appended_track_num == selected_tracks_count)) {
+ item_data->checked = true;
+ } else {
+ item_data->checked = false;
+ }
}
}
list->itc_shuffle = NULL;
}
+ mp_list_free_checked_path_list(list->checked_path_list);
+
IF_FREE(list->type_str);
IF_FREE(list->filter_str);
DEBUG_TRACE("count is %d", count_album);
list->count_album = count_album;
- mp_evas_object_del(list->genlist);
+ mp_list_free_checked_path_list(list->checked_path_list);
+ list->checked_path_list =
+ mp_list_get_checked_path_list((MpList_t *) list);
+
mp_evas_object_del(list->no_content);
+ mp_evas_object_del(list->genlist);
+
if (count_album) {
/*create new genlist */
item = mp_list_item_next_get(item);
}
END:
- if (selected) {
+ if (selected || sel_list) {
*selected = sel_list;
}
}
MP_CHECK(list);
/*create new genlist */
- mp_evas_object_del(list->genlist);
-
list->genlist = elm_gengrid_add(list->box);
MP_CHECK(list->genlist);
evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
item = mp_list_item_next_get(item);
}
END:
- if (selected) {
+ if (selected || sel_list) {
*selected = sel_list;
}
}