#include "category-layout.h"
-struct SCategorySongsItemsInfo;
class CCategorySongsLayout : public CExtBaseLayout, public CListenerMgr,
public IKeyDownListener, public IMouseMoveListener, public IMouseClickedListener,
SELECT_TYPE_REMOVE
};
+ struct SCategorySongsItemsInfo {
+ CSongInfo *sinfo;
+ Elm_Object_Item *item;
+ bool check_status;
+ };
+
private:
struct SCategorySongsLayout *m;
virtual void Destroy(void);
void SetParameter(EDepth depth, ESelectType selType, CCategoryInfo *catInfo, CAlbumInfo *albumInfo);
+ Eina_List *CategorySongItemInfoList(void);
public:
virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev);
_CREATE_BEGIN{
CCategoryInfo *catinfo = NULL;
- char *tmpStr = NULL;
+ char *name = NULL;
int categoryId = 0;
int songCount = 0;
_CHECK(catinfo = new CCategoryInfo)
_CHECK(catinfo->Create())
- _CHECK(media_playlist_get_name(ph, &tmpStr) == MEDIA_CONTENT_ERROR_NONE)
+ _CHECK(media_playlist_get_name(ph, &name) == MEDIA_CONTENT_ERROR_NONE)
_CHECK(media_playlist_get_playlist_id(ph, &categoryId) == MEDIA_CONTENT_ERROR_NONE)
- _CHECK(media_playlist_get_media_count_from_db(catinfo->CategoryId(), NULL, &songCount) == MEDIA_CONTENT_ERROR_NONE)
- _CHECK(media_playlist_foreach_media_from_db(catinfo->CategoryId(), NULL, sm_CbPlaylistMember, (void *)catinfo) == MEDIA_CONTENT_ERROR_NONE)
+ _CHECK(media_playlist_get_media_count_from_db(categoryId, NULL, &songCount) == MEDIA_CONTENT_ERROR_NONE)
+ _CHECK(media_playlist_foreach_media_from_db(categoryId, NULL, sm_CbPlaylistMember, (void *)catinfo) == MEDIA_CONTENT_ERROR_NONE)
_WHEN_SUCCESS{
- catinfo->SetName(tmpStr);
+ catinfo->SetName(name);
catinfo->SetCategoryId(categoryId);
catinfo->SetSongCount(songCount);
elList = eina_list_append(elList, catinfo);
ASSERT(name);
ASSERT(elIdList);
+ media_playlist_h ph = NULL;
bool ret = false;
- media_playlist_h ph;
- if (media_playlist_insert_to_db(name, &ph) == MEDIA_CONTENT_ERROR_NONE) {
+ int r;
+
+ r = media_playlist_insert_to_db(name, &ph);
+ if (r == MEDIA_CONTENT_ERROR_NONE) {
Eina_List *l;
void *obj;
EINA_LIST_FOREACH(elIdList, l, obj) {
char *id = (char *)obj;
- media_playlist_add_media(ph, id);
+ r = media_playlist_add_media(ph, id);
+ if (r != MEDIA_CONTENT_ERROR_NONE)
+ return false;
}
- if (media_playlist_update_to_db(ph) == MEDIA_CONTENT_ERROR_NONE) {
+ r = media_playlist_update_to_db(ph);
+ if (r == MEDIA_CONTENT_ERROR_NONE)
ret = true;
- }
- else {
- _ERR("CPlaylist::Insert failed./media_plyalist_update_to_db");
- }
- }
- else {
- _ERR("CPlaylist::Insert failed./media_playlist_insert_to_db");
+ else
+ _ERR("CPlaylist::Insert failed. (media_playlist_update_to_db)");
}
+ else
+ _ERR("CPlaylist::Insert failed. (media_playlist_insert_to_db)");
return ret;
}
if (!name)
return;
- idlist = m_GetSelectedList(m->it_infolist, (int)ID_TYPE_MEDIA);
+ idlist = m_GetSelectedList(m->layoutCatSongs->CategorySongItemInfoList(), (int)ID_TYPE_MEDIA);
str = strdup(name);
t.epopup->Destroy();
return;
}
+ free(str);
t.depth = E_DEPTH_CATEGORY;
t_UpdateLayoutWithFocus();
+
+ SParcel parcel;
+ parcel.ctxtInfo = NULL;
+ parcel.updateType = E_DEPTH_UPDATE;
+ parcel.layoutId = MUSIC_CATEGORY_PLAYLISTS_SONGS_LAYOUT;
+ parcel.keyEvent = NULL;
+ m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
}
Eina_List *CCategoryLayout::m_GetSelectedList(Eina_List *infolist, int type)
{
Eina_List *idlist = NULL, *l = NULL;
- SCatItemInfo *itinfo = NULL;
+ CCategorySongsLayout::SCategorySongsItemsInfo *itinfo = NULL;
void *obj = NULL;
char *id = NULL;
EIdType eType = (EIdType)type;
idlist = NULL;
EINA_LIST_FOREACH(infolist, l, obj) {
- itinfo = (SCatItemInfo *)obj;
+ itinfo = (CCategorySongsLayout::SCategorySongsItemsInfo *)obj;
if (!itinfo->check_status)
continue;
ID_TYPE_MEMBER
};
-struct SCategorySongsItemsInfo {
- CSongInfo *sinfo;
- Elm_Object_Item *item;
- bool check_status;
-};
struct SCategorySongsLayout {
Evas_Object *win;
}
-SCategorySongsItemsInfo *CCategorySongsLayout::m_FindItemInfoFromItem(Eina_List *list, Elm_Object_Item *item)
+CCategorySongsLayout::SCategorySongsItemsInfo *CCategorySongsLayout::m_FindItemInfoFromItem(Eina_List *list, Elm_Object_Item *item)
{
Eina_List *l = NULL;
SCategorySongsItemsInfo *itinfo = NULL;
}
+Eina_List *CCategorySongsLayout::CategorySongItemInfoList(void)
+{
+ ASSERT(m);
+
+ return m->it_infolist;
+}
+
+
void CCategorySongsLayout::t_OnShow(void)
{
ASSERT(m);