From 1327fd6105688b729f68b41dd7fd5d0ac098889f Mon Sep 17 00:00:00 2001 From: "bhutani.92" Date: Tue, 29 Nov 2016 14:23:13 +0530 Subject: [PATCH] Removed Folder View from Music Player Change-Id: I6d2374fe9b8287183f840ede2073af9b94f6cf60 Signed-off-by: bhutani.92 --- CMakeLists.txt | 3 - project_def.prop | 2 +- src/view/include/mp-add-track-view.h | 11 - src/view/include/mp-all-view.h | 1 - src/view/include/mp-artist-detail-view.h | 1 - src/view/include/mp-folder-detail-view.h | 44 -- src/view/include/mp-folder-view.h | 42 -- src/view/include/mp-main-view.h | 1 - src/view/mp-add-track-view.c | 21 +- src/view/mp-all-view.c | 7 - src/view/mp-edit-view.c | 6 - src/view/mp-folder-detail-view.c | 400 ------------ src/view/mp-folder-view.c | 286 --------- src/widget/include/mp-folder-list.h | 46 -- src/widget/mp-folder-list.c | 776 ----------------------- 15 files changed, 2 insertions(+), 1645 deletions(-) delete mode 100644 src/view/include/mp-folder-detail-view.h delete mode 100644 src/view/include/mp-folder-view.h delete mode 100755 src/view/mp-folder-detail-view.c delete mode 100755 src/view/mp-folder-view.c delete mode 100644 src/widget/include/mp-folder-list.h delete mode 100755 src/widget/mp-folder-list.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 58e450c..27dc110 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,8 +97,6 @@ SET(COMMON_SRCS src/view/mp-album-detail-view.c src/view/mp-artist-detail-view.c src/view/mp-playlist-detail-view.c - src/view/mp-folder-view.c - src/view/mp-folder-detail-view.c src/view/mp-player-view.c src/view/mp-search-view.c src/view/mp-set-as-view.c @@ -117,7 +115,6 @@ SET(COMMON_SRCS src/widget/mp-album-detail-list.c src/widget/mp-artist-list.c src/widget/mp-artist-detail-list.c - src/widget/mp-folder-list.c src/widget/mp-now-playing-list.c diff --git a/project_def.prop b/project_def.prop index 3bcbe23..0e61b01 100644 --- a/project_def.prop +++ b/project_def.prop @@ -9,7 +9,7 @@ type = app profile = mobile-3.0 # C Sources -USER_SRCS = src/widget/mp-now-playing.c src/widget/mp-index.c src/widget/mp-shortcut.c src/core/mp-http-mgr.c src/view/mp-edit-view.c src/view/mp-genre-detail-view.c src/widget/mp-all-list.c src/widget/mp-artist-detail-list.c src/setting/src/ms-playlist.c src/widget/mp-track-list.c src/view/mp-folder-view.c src/core/mp-streaming-mgr.c src/view/mp-folder-detail-view.c src/core/mp-file-tag-info.c src/widget/mp-player-volume-widget.c src/widget/mp-notification.c src/core/mp-floating-widget-mgr.c src/widget/mp-folder-list.c src/view/mp-add-track-view.c src/core/mp-lyric-mgr.c src/common/mp-media-info.c src/widget/mp-genre-list.c src/common/mp-ta.c src/view/mp-create-playlist-view.c src/view/mp-all-view.c src/common/mp-util.c src/common/mp-edit-callback.c src/view/mp-player-view.c src/common/mp-file-util.c src/widget/mp-album-detail-list.c src/widget/mp-ctxpopup.c src/common/mp-menu.c src/core/mp-view-mgr.c src/core/mp-player-mgr.c src/common/mp-app.c src/widget/mp-album-list.c src/widget/mp-artist-list.c src/view/mp-search-view.c src/mp-main.c src/core/mp-player-drm.c src/view/mp-album-detail-view.c src/widget/mp-lyric.c src/view/mp-list-view.c src/setting/src/ms-util.c src/view/mp-now-playing-list-view.c src/common/mp-widget.c src/view/mp-artist-detail-view.c src/widget/mp-scroll-page.c src/widget/mp-lockscreenmini.c src/view/mp-playlist-detail-view.c src/view/mp-select-track-view.c src/widget/mp-smart-event-box.c src/common/mp-ug-launch.c src/common/mp-common.c src/widget/mp-search.c src/view/mp-set-as-view.c src/setting/src/ms-key-ctrl.c src/view/mp-setting-view.c src/widget/mp-popup.c src/core/mp-setting-ctrl.c src/core/mp-playlist-mgr.c src/view/mp-detail-view.c src/widget/mp-now-playing-list.c src/core/mp-volume.c src/setting/src/ms-auto-off.c src/setting/src/ms-play-speed.c src/view/mp-view.c src/widget/mp-edit-playlist.c src/widget/mp-list.c src/core/mp-language-mgr.c src/core/mp-player-control.c src/common/mp-item.c src/widget/mp-playlist-list.c src/widget/mp-minicontroller.c src/common/mp-play.c src/widget/mp-search-list.c +USER_SRCS = src/widget/mp-now-playing.c src/widget/mp-index.c src/widget/mp-shortcut.c src/core/mp-http-mgr.c src/view/mp-edit-view.c src/view/mp-genre-detail-view.c src/widget/mp-all-list.c src/widget/mp-artist-detail-list.c src/setting/src/ms-playlist.c src/widget/mp-track-list.c src/core/mp-streaming-mgr.c src/core/mp-file-tag-info.c src/widget/mp-player-volume-widget.c src/widget/mp-notification.c src/core/mp-floating-widget-mgr.c src/view/mp-add-track-view.c src/core/mp-lyric-mgr.c src/common/mp-media-info.c src/widget/mp-genre-list.c src/common/mp-ta.c src/view/mp-create-playlist-view.c src/view/mp-all-view.c src/common/mp-util.c src/common/mp-edit-callback.c src/view/mp-player-view.c src/common/mp-file-util.c src/widget/mp-album-detail-list.c src/widget/mp-ctxpopup.c src/common/mp-menu.c src/core/mp-view-mgr.c src/core/mp-player-mgr.c src/common/mp-app.c src/widget/mp-album-list.c src/widget/mp-artist-list.c src/view/mp-search-view.c src/mp-main.c src/core/mp-player-drm.c src/view/mp-album-detail-view.c src/widget/mp-lyric.c src/view/mp-list-view.c src/setting/src/ms-util.c src/view/mp-now-playing-list-view.c src/common/mp-widget.c src/view/mp-artist-detail-view.c src/widget/mp-scroll-page.c src/widget/mp-lockscreenmini.c src/view/mp-playlist-detail-view.c src/view/mp-select-track-view.c src/widget/mp-smart-event-box.c src/common/mp-ug-launch.c src/common/mp-common.c src/widget/mp-search.c src/view/mp-set-as-view.c src/setting/src/ms-key-ctrl.c src/view/mp-setting-view.c src/widget/mp-popup.c src/core/mp-setting-ctrl.c src/core/mp-playlist-mgr.c src/view/mp-detail-view.c src/widget/mp-now-playing-list.c src/core/mp-volume.c src/setting/src/ms-auto-off.c src/setting/src/ms-play-speed.c src/view/mp-view.c src/widget/mp-edit-playlist.c src/widget/mp-list.c src/core/mp-language-mgr.c src/core/mp-player-control.c src/common/mp-item.c src/widget/mp-playlist-list.c src/widget/mp-minicontroller.c src/common/mp-play.c src/widget/mp-search-list.c # EDC Sources USER_EDCS = diff --git a/src/view/include/mp-add-track-view.h b/src/view/include/mp-add-track-view.h index b153099..9185cfa 100644 --- a/src/view/include/mp-add-track-view.h +++ b/src/view/include/mp-add-track-view.h @@ -23,7 +23,6 @@ #include "mp-playlist-list.h" #include "mp-album-list.h" #include "mp-artist-list.h" -#include "mp-folder-view.h" #include "mp-edit-callback.h" #include "music.h" @@ -35,15 +34,6 @@ typedef enum MP_ADD_TRACK_VIEW_TAB_SONGS, MP_ADD_TRACK_VIEW_TAB_ALBUMS, MP_ADD_TRACK_VIEW_TAB_ARTIST, - MP_ADD_TRACK_VIEW_TAB_FOLDERS, - /* - MP_ADD_TRACK_VIEW_TAB_GENRE, - MP_ADD_TRACK_VIEW_TAB_YEAR, - MP_ADD_TRACK_VIEW_TAB_COMPOSER, - MP_ADD_TRACK_VIEW_TAB_FOLDER, - MP_ADD_TRACK_VIEW_TAB_SQUARE, - MP_ADD_TRACK_VIEW_TAB_ALLSHARE, - */ }MpAddTrackViewTab_e; typedef struct @@ -61,7 +51,6 @@ typedef struct #endif Elm_Object_Item *ctltab_album; Elm_Object_Item *ctltab_artist; - Elm_Object_Item *ctltab_folders; /* useful flags */ MpAddTrackViewTab_e content_tab; diff --git a/src/view/include/mp-all-view.h b/src/view/include/mp-all-view.h index 04cb7d8..bb8a4bf 100644 --- a/src/view/include/mp-all-view.h +++ b/src/view/include/mp-all-view.h @@ -24,7 +24,6 @@ #include "mp-album-list.h" #include "mp-artist-list.h" #include "mp-genre-list.h" -#include "mp-folder-view.h" #include "mp-search-view.h" #include "mp-edit-callback.h" diff --git a/src/view/include/mp-artist-detail-view.h b/src/view/include/mp-artist-detail-view.h index 8af2d2f..a46dded 100644 --- a/src/view/include/mp-artist-detail-view.h +++ b/src/view/include/mp-artist-detail-view.h @@ -21,7 +21,6 @@ #include "mp-list-view.h" #include "mp-track-list.h" #include "mp-edit-callback.h" -#include "mp-folder-view.h" #include "music.h" typedef struct diff --git a/src/view/include/mp-folder-detail-view.h b/src/view/include/mp-folder-detail-view.h deleted file mode 100644 index 3ec2f59..0000000 --- a/src/view/include/mp-folder-detail-view.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -#ifndef __MP_FOLDER_DETAILVIEW_H__ -#define __MP_FOLDER_DETAILVIEW_H__ - -#include "mp-list-view.h" -#include "mp-track-list.h" -#include "mp-edit-callback.h" - -#include "music.h" - -typedef struct -{ - INHERIT_MP_LIST_VIEW; - - Evas_Object *folder_detail_view_layout; - Evas_Object *title_layout; - - /* external objects*/ - - /* album name */ - char *name; - /* extention functions */ - void (*content_set)(void *view); -}MpFolderDetailView_t; - -MpFolderDetailView_t *mp_folder_detail_view_create(Evas_Object *parent, char *name); -int mp_folder_detail_view_destory(MpFolderDetailView_t *view); -#endif diff --git a/src/view/include/mp-folder-view.h b/src/view/include/mp-folder-view.h deleted file mode 100644 index 0e9779e..0000000 --- a/src/view/include/mp-folder-view.h +++ /dev/null @@ -1,42 +0,0 @@ -/* -* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -#ifndef __MP_FOLDER_VIEW__ -#define __MP_FOLDER_VIEW__ - -#include "mp-list-view.h" -#include "mp-folder-list.h" -#include "mp-edit-callback.h" - -#include "music.h" - -typedef struct -{ - INHERIT_MP_LIST_VIEW; - /* extention variables */ - Evas_Object *folder_view_layout; - - /* external objects*/ - - /* extention functions */ - void (*content_set)(void *view); -}MpFolderView_t; - -MpFolderView_t *mp_folder_view_create(Evas_Object *parent); -int mp_folder_view_destory(MpFolderView_t *view); - -#endif diff --git a/src/view/include/mp-main-view.h b/src/view/include/mp-main-view.h index e62938d..2c53995 100644 --- a/src/view/include/mp-main-view.h +++ b/src/view/include/mp-main-view.h @@ -24,7 +24,6 @@ #include "mp-playlist-list.h" #include "mp-album-list.h" #include "mp-artist-list.h" -#include "mp-folder-view.h" #include "mp-search-view.h" #include "mp-edit-callback.h" #include "mp-scroll-page.h" diff --git a/src/view/mp-add-track-view.c b/src/view/mp-add-track-view.c index 0c3bcdb..f39e80c 100755 --- a/src/view/mp-add-track-view.c +++ b/src/view/mp-add-track-view.c @@ -45,8 +45,6 @@ static void _mp_add_track_view_change_cb(void *data, Evas_Object *obj, void *eve #endif else if (it == view->ctltab_songs) { tab = MP_ADD_TRACK_VIEW_TAB_SONGS; - } else if (it == view->ctltab_folders) { - tab = MP_ADD_TRACK_VIEW_TAB_FOLDERS; } else { DEBUG_TRACE("selected item out of control"); return; @@ -74,7 +72,6 @@ _mp_add_track_view_destory_cb(void *thiz) #endif mp_language_mgr_unregister_object_item(view->ctltab_album); mp_language_mgr_unregister_object_item(view->ctltab_artist); - mp_language_mgr_unregister_object_item(view->ctltab_folders); mp_list_view_fini((MpListView_t *)view); @@ -177,23 +174,16 @@ _mp_add_track_view_content_load(void *view) add_track_view->ctltab_songs = mp_util_toolbar_item_append(obj, NULL, (STR_MP_TRACKS), _mp_add_track_view_change_cb, add_track_view); - /*mp_language_mgr_register_object_item(add_track_view->ctltab_songs, STR_MP_TRACKS);*/ #ifdef MP_FEATURE_ADD_TO_INCLUDE_PLAYLIST_TAB add_track_view->ctltab_plist = mp_util_toolbar_item_append(obj, NULL, (STR_MP_PLAYLISTS), _mp_add_track_view_change_cb, add_track_view); #endif - /*mp_language_mgr_register_object_item(add_track_view->ctltab_plist,STR_MP_PLAYLISTS);*/ add_track_view->ctltab_album = mp_util_toolbar_item_append(obj, NULL, (STR_MP_ALBUMS), _mp_add_track_view_change_cb, add_track_view); - /*mp_language_mgr_register_object_item(add_track_view->ctltab_album, STR_MP_ALBUMS);*/ add_track_view->ctltab_artist = mp_util_toolbar_item_append(obj, NULL, (STR_MP_ARTISTS), _mp_add_track_view_change_cb, add_track_view); - /*mp_language_mgr_register_object_item(add_track_view->ctltab_artist, STR_MP_ARTISTS);*/ - - /*add_track_view->ctltab_folders = - mp_util_toolbar_item_append(obj, NULL, (STR_MP_FOLDERS), _mp_add_track_view_change_cb, add_track_view);*/ elm_toolbar_item_selected_set(add_track_view->ctltab_songs, EINA_TRUE); @@ -316,16 +306,7 @@ int mp_add_track_view_select_tab(MpAddTrackView_t *view, MpAddTrackViewTab_e tab evas_object_del(content); mp_evas_object_del(view->selection_info); - if (tab == MP_ADD_TRACK_VIEW_TAB_FOLDERS) { - view->content_to_show = (MpList_t *)mp_folder_list_create(view->layout); - MP_CHECK_VAL(view->content_to_show, -1); - mp_folder_list_set_data((MpFolderList_t *)view->content_to_show, MP_FOLDER_LIST_FUNC, MP_LIST_FUNC_ADD_TRACK, -1); - mp_list_update(view->content_to_show); - content = mp_list_get_layout(view->content_to_show); - mp_list_view_set_select_all((MpListView_t *)view, FALSE); - save_btn = elm_object_item_part_content_get(view->navi_it, "title_right_btn"); - elm_object_disabled_set(save_btn, EINA_TRUE); - } else if (tab == MP_ADD_TRACK_VIEW_TAB_ALBUMS) { + if (tab == MP_ADD_TRACK_VIEW_TAB_ALBUMS) { view->content_to_show = (MpList_t *)mp_album_list_create(view->add_track_view_layout); MP_CHECK_VAL(view->content_to_show, -1); mp_album_list_set_data((MpAlbumList_t *)view->content_to_show, MP_ALBUM_LIST_FUNC, MP_LIST_FUNC_ADD_TRACK, -1); diff --git a/src/view/mp-all-view.c b/src/view/mp-all-view.c index 033306b..68318d2 100755 --- a/src/view/mp-all-view.c +++ b/src/view/mp-all-view.c @@ -405,13 +405,6 @@ static void _all_view_tab_change_cb(void *data, Evas_Object * obj, void *event_i mp_list_show_fast_scroll(list); } break; - /*case MP_TAB_FOLDERS: - list = (void *)mp_folder_list_create(view->all_view_layout); - mp_folder_list_set_data((MpFolderList_t *)list, MP_FOLDER_LIST_TYPE, MP_GROUP_BY_FOLDER, -1); - mp_list_update(list); - if (view->display_mode[view->tab_status] == MP_LIST_DISPLAY_MODE_NORMAL) - mp_list_show_fast_scroll(list); - break;*/ case MP_TAB_SONGS: default: PROFILE_IN("mp_track_list_create"); diff --git a/src/view/mp-edit-view.c b/src/view/mp-edit-view.c index a947ea4..8b66ece 100755 --- a/src/view/mp-edit-view.c +++ b/src/view/mp-edit-view.c @@ -30,7 +30,6 @@ #include "mp-playlist-list.h" #include "mp-lockscreenmini.h" #include "mp-minicontroller.h" -#include "mp-folder-list.h" #include "mp-create-playlist-view.h" #include "mp-common.h" #include "mp-setting-ctrl.h" @@ -384,11 +383,6 @@ _create_group_list(MpEditView_t *view) mp_artist_list_copy_data((MpArtistList_t *)view->ref_list, list); mp_artist_list_set_data(list, MP_ARTIST_LIST_TYPE, MP_GROUP_BY_ARTIST, -1); break; - case MP_GROUP_BY_FOLDER: - list = mp_folder_list_create(view->layout); - MP_CHECK_NULL(list); - mp_folder_list_copy_data((MpFolderList_t *)view->ref_list, list); - break; case MP_GROUP_BY_PLAYLIST: list = mp_playlist_list_create(view->layout); MP_CHECK_NULL(list); diff --git a/src/view/mp-folder-detail-view.c b/src/view/mp-folder-detail-view.c deleted file mode 100755 index f30118a..0000000 --- a/src/view/mp-folder-detail-view.c +++ /dev/null @@ -1,400 +0,0 @@ -/* -* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -#include "mp-folder-detail-view.h" -#include "mp-widget.h" -#include "mp-common.h" -#include "mp-util.h" - -#define MP_MAX_TEXT_PRE_FORMAT_LEN 256 -#define MP_MAX_ARTIST_NAME_WIDTH 320 -#define MP_LABEL_SLIDE_DURATION 5 - -static void _mp_folder_detail_view_tracklist_edit_cb(void *data, Evas_Object *obj, void *event_info); -static void _mp_folder_detail_view_add_to_playlist_cb(void *data, Evas_Object *obj, void *event_info); - -static void -_mp_folder_detail_view_destory_cb(void *thiz) -{ - eventfunc; - MpFolderDetailView_t *view = thiz; - MP_CHECK(view); - mp_list_view_fini((MpListView_t *)view); - - /* TODO: release resource.. */ - - free(view); -} - -int _mp_folder_detail_view_update(void *thiz) -{ - startfunc; - MpFolderDetailView_t *view = thiz; - - MP_CHECK_VAL(view, -1); - int edit_flag = view->content_to_show->edit_mode; - view->content_set(view); - - int count = mp_list_get_editable_count(view->content_to_show, MP_LIST_EDIT_TYPE_NORMAL); - - if (!count) { - mp_view_mgr_pop_a_view(GET_VIEW_MGR, thiz); - } - - if (edit_flag) { - mp_list_set_edit((MpList_t *)view->content_to_show, true); - mp_view_update_options_edit((MpView_t *)view); - mp_list_view_set_select_all((MpListView_t *)view, true); - } else { - mp_view_update_options((MpView_t *)view); - mp_list_view_set_select_all((MpListView_t *)view, false); - } - return 0; -} - -static void _mp_folder_detail_view_normal_more_btn_cb(void *data, Evas_Object *obj, void *event_info) -{ - DEBUG_TRACE(""); - MpFolderDetailView_t *view = (MpFolderDetailView_t *)data; - MP_CHECK(view); - - mp_evas_object_del(view->more_btn_ctxpopup); - - view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view); - MP_CHECK(view->more_btn_ctxpopup); - - if (mp_list_get_editable_count(view->content_to_show, MP_LIST_EDIT_TYPE_NORMAL)) { - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_ADD_TO_PLAYLIST, MP_PLAYER_MORE_BTN_ADD_TO_PLAYLSIT_IMAGE, _mp_folder_detail_view_add_to_playlist_cb, view); - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_DELETE, MP_PLAYER_MORE_BTN_DELETE_IMAGE, _mp_folder_detail_view_tracklist_edit_cb, view); - } -#ifdef MP_FEATURE_PERSONAL_PAGE - if (mp_util_is_personal_page_on()) { - all_in_personal_e status = mp_common_personal_status(view->content_to_show); - /*add*/ - if (status != MP_COMMON_ALL_IN && status != MP_COMMON_ALL_ERROR) - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_ADD_TO_PERSONAL_PAGE, MP_PLAYER_MORE_BTN_ADD_TO_PERSONAL_PAGE, mp_common_add_to_personal_page_cb, view); - - /*remove*/ - if (status != MP_COMMON_ALL_OUT && status != MP_COMMON_ALL_ERROR) - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_REMOVE_FROM_PERSONAL_PAGE, MP_PLAYER_MORE_BTN_REMOVE_FROM_PERSONAL_PAGE, mp_common_remove_from_personal_page_cb, view); - } -#endif - - /*search*/ - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_SEARCH, NULL, mp_common_create_search_view_cb, view); - - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_SETTINGS, MP_PLAYER_MORE_BTN_SETTING, mp_common_ctxpopup_setting_cb, view); -#ifndef MP_FEATURE_NO_END - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_END, MP_PLAYER_MORE_BTN_VIEW_END, mp_common_ctxpopup_end_cb, view); -#endif - mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj); - - evas_object_show(view->more_btn_ctxpopup); -} - -static void _mp_folder_detail_view_edit_more_btn_cb(void *data, Evas_Object *obj, void *event_info) -{ - DEBUG_TRACE(""); - MpFolderDetailView_t *view = (MpFolderDetailView_t *)data; - MP_CHECK(view); - - mp_evas_object_del(view->more_btn_ctxpopup); - - view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view); - MP_CHECK(view->more_btn_ctxpopup); - - /* Todo: supports multi-language */ - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_ADD_TO_PLAYLIST, MP_PLAYER_MORE_BTN_PLAYLIST, mp_common_ctxpopup_add_to_playlist_cb, view); - - if (mp_view_get_nowplaying_show_flag((MpView_t *)view)) { - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_SHARE, MP_PLAYER_MORE_BTN_SHARE, mp_common_button_share_list_cb, view); - - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - "IDS_COM_SK_DELETE", NULL, mp_common_button_delete_list_cb, view->content_to_show); - } - - mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj); - - evas_object_show(view->more_btn_ctxpopup); -} - -/*************** functions for track list update *******************/ -static void _mp_folder_detail_view_add_to_playlist_cb(void *data, Evas_Object *obj, void *event_info) -{ - eventfunc; - MpFolderDetailView_t *view = (MpFolderDetailView_t *) data; - MP_CHECK(view); - - mp_evas_object_del(view->more_btn_ctxpopup); - mp_common_add_to_playlsit_view((MpListView_t *)view); - -} - -static void _mp_folder_detail_view_tracklist_edit_cb(void *data, Evas_Object * obj, void *event_info) -{ - eventfunc; - MpFolderDetailView_t *view = (MpFolderDetailView_t *) data; - MP_CHECK(view); - - mp_evas_object_del(view->more_btn_ctxpopup); - mp_common_show_edit_view((MpListView_t *)view, MP_DONE_DELETE_TYPE); -} - -static Eina_Bool _mp_folder_detail_view_back_cb(void *data, Elm_Object_Item *it) -{ - eventfunc; - MpFolderDetailView_t *view = (MpFolderDetailView_t *) data; - MP_CHECK_VAL(view, EINA_TRUE); - - MpTrackList_t *track_list = (MpTrackList_t *)view->content_to_show; - MP_CHECK_VAL(track_list, EINA_TRUE); - if (track_list->edit_mode == 1) { - mp_list_set_edit((MpList_t *)track_list, FALSE); - mp_list_view_set_select_all((MpListView_t *)view, FALSE); - mp_view_update_options((MpView_t *)view); - mp_evas_object_del(view->selection_info); - return EINA_FALSE; - } else { - DEBUG_TRACE(""); - MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager(); - mp_view_mgr_pop_view(view_mgr, false); - - } - return EINA_TRUE; -} - -static int _mp_folder_detail_view_update_options(void *thiz) -{ - startfunc; - MpFolderDetailView_t *view = (MpFolderDetailView_t *)thiz; - MP_CHECK_VAL(view, -1); - - mp_view_clear_options((MpView_t *)view); - - Evas_Object *btn = NULL; - - btn = mp_widget_create_toolbar_btn(view->folder_detail_view_layout, MP_TOOLBAR_BTN_MORE, NULL, _mp_folder_detail_view_normal_more_btn_cb, view); - elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn", btn); - /*view->toolbar_options[MP_OPTION_MORE] = btn;*/ - - elm_naviframe_item_pop_cb_set(view->navi_it, _mp_folder_detail_view_back_cb, view); - - /* update the first controlba item */ - /*mp_view_manager_update_first_controlbar_item(layout_data);*/ - endfunc; - return 0; -} - -static int _mp_folder_detail_view_update_options_edit(void *thiz) -{ - startfunc; - MpFolderDetailView_t *view = (MpFolderDetailView_t *)thiz; - MP_CHECK_VAL(view, -1); - - Evas_Object *toolbar = mp_widget_create_naviframe_toolbar(view->navi_it); - Elm_Object_Item *toolbar_item = NULL; - - mp_view_clear_options((MpView_t *)view); - - Evas_Object *btn = mp_widget_create_toolbar_btn(view->folder_detail_view_layout, MP_TOOLBAR_BTN_MORE, NULL, _mp_folder_detail_view_edit_more_btn_cb, view); - elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn", btn); - /*view->toolbar_options[MP_OPTION_MORE] = btn;*/ - - toolbar_item = mp_widget_create_toolbar_item_btn(toolbar, - MP_TOOLBAR_BTN_LEFT, STR_MP_SHARE, mp_common_button_share_list_cb, view->navi_it); - view->toolbar_options[MP_OPTION_LEFT] = toolbar_item; - - toolbar_item = mp_widget_create_toolbar_item_btn(toolbar, - MP_TOOLBAR_BTN_RIGHT, "IDS_COM_SK_DELETE", mp_common_button_delete_list_cb, view->navi_it); - view->toolbar_options[MP_OPTION_RIGHT] = toolbar_item; - - if (mp_list_get_checked_count(view->content_to_show) == 0) { - elm_object_item_disabled_set(view->toolbar_options[MP_OPTION_LEFT], EINA_TRUE); - elm_object_item_disabled_set(view->toolbar_options[MP_OPTION_RIGHT], EINA_TRUE); - /* elm_object_disabled_set(view->toolbar_options[MP_OPTION_MORE], EINA_TRUE); */ - } - - elm_naviframe_item_pop_cb_set(view->navi_it, _mp_folder_detail_view_back_cb, view); - - /* update the first controlba item */ - /*mp_view_manager_update_first_controlbar_item(layout_data);*/ - endfunc; - return 0; -} -static void _mp_folder_detail_view_content_load(void *thiz) -{ - startfunc; - MpFolderDetailView_t *view = (MpFolderDetailView_t *)thiz; - MP_CHECK(view); - /* title item genlist */ - /* elm_object_part_content_set(view->layout, "list_content", view->folder_detail_view_layout); */ - - view->content_to_show = (MpList_t *)mp_track_list_create(view->layout); - if (view->content_to_show == NULL) { - DEBUG_TRACE("Uable to create content_to_show layout"); - return; - } - mp_track_list_set_data((MpTrackList_t *)view->content_to_show, MP_TRACK_LIST_TYPE, MP_TRACK_BY_FOLDER, MP_TRACK_LIST_TYPE_STR, view->name, -1); - view->content_to_show->update(view->content_to_show); - /*show fast scroll*/ - mp_list_show_fast_scroll(view->content_to_show); - elm_object_part_content_set(view->folder_detail_view_layout, "list_content", view->content_to_show->layout); -} - -/*static void _mp_folder_detail_view_show_path(void *thiz) -{ - MpFolderDetailView_t *view = (MpFolderDetailView_t *)thiz; - MP_CHECK(view); - - char *path = NULL; - mp_media_info_get_folder_path_by_folder_id(view->name, &path); - MP_CHECK(path); - mp_debug("path = %s", path); - - char *current = path + strlen(path); - int count = 0; - while (current != path) { - if (current[0] == '/') - count++; - - if (count < 3) - current--; - else - break; - } - - char *display_path = NULL; - if (current != path) - display_path = g_strdup_printf("...%s", current); - else - display_path = g_strdup(path); - - elm_object_part_text_set(view->layout, "elm.text.info", display_path); - elm_object_signal_emit(view->layout, "SHOW_INFO_TEXT_BAR", ""); - - SAFE_FREE(path); - SAFE_FREE(display_path); -}*/ - -static void -_mp_folder_detail_view_on_event(void *thiz, MpViewEvent_e event) -{ - DEBUG_TRACE("event; %d", event); - MpFolderDetailView_t *view = thiz; - switch (event) { - case MP_DELETE_DONE: - mp_list_update(view->content_to_show); - if (!mp_list_get_editable_count(view->content_to_show, mp_list_get_edit_type(view->content_to_show))) { - mp_view_mgr_pop_to_view(GET_VIEW_MGR, MP_VIEW_ALL); - } - break; - case MP_POPUP_DELETE_DONE: - mp_track_list_popup_delete_genlist_item(view->content_to_show); - mp_track_list_update_genlist(view->content_to_show); - break; -#ifndef MP_SOUND_PLAYER - case MP_UPDATE_PLAYING_LIST: - mp_list_realized_item_part_update(view->content_to_show, "elm.text.main.left.top", ELM_GENLIST_ITEM_FIELD_TEXT); - mp_list_realized_item_part_update(view->content_to_show, "elm.text.sub.left.bottom", ELM_GENLIST_ITEM_FIELD_TEXT); - break; -#endif - case MP_VIEW_EVENT_ALBUMART_CHANGED: - mp_list_realized_item_part_update(view->content_to_show, "elm.icon", ELM_GENLIST_ITEM_FIELD_CONTENT); - break; - - case MP_UPDATE_FAVORITE_LIST: { - mp_list_update(view->content_to_show); - break; - } - case MP_START_PLAYBACK: - case MP_RESUME_PLAYBACK: - case MP_PAUSE_PLAYBACK: - case MP_PLAYING_TRACK_CHANGED: - case MP_STOP_PLAYBACK: - mp_list_realized_item_part_update(view->content_to_show, "elm.icon.left", ELM_GENLIST_ITEM_FIELD_CONTENT); - break; - default: - break; - } -} - -static int -_mp_folder_detail_view_init(Evas_Object *parent, MpFolderDetailView_t *view) -{ - startfunc; - int ret = 0; - ret = mp_list_view_init(parent, (MpListView_t *)view, MP_VIEW_FOLDER_DETAIL); - MP_CHECK_VAL(ret == 0, -1); - - view->update = _mp_folder_detail_view_update; - view->update_options = _mp_folder_detail_view_update_options; - view->update_options_edit = _mp_folder_detail_view_update_options_edit; - view->view_destroy_cb = _mp_folder_detail_view_destory_cb; - view->content_set = _mp_folder_detail_view_content_load; - view->on_event = _mp_folder_detail_view_on_event; - - view->folder_detail_view_layout = view->layout; - - MP_CHECK_VAL(view->folder_detail_view_layout, -1); - return ret; -} - -MpFolderDetailView_t *mp_folder_detail_view_create(Evas_Object *parent, char *name) -{ - eventfunc; - int ret; - MP_CHECK_NULL(parent); - - MpFolderDetailView_t *view = calloc(1, sizeof(MpFolderDetailView_t)); - MP_CHECK_NULL(view); - - ret = _mp_folder_detail_view_init(parent, view); - if (ret) { - goto Error; - } - - view->name = g_strdup(name); - _mp_folder_detail_view_content_load(view); - - /*_mp_folder_detail_view_show_path(view);*/ - - return view; - -Error: - ERROR_TRACE("Error: mp_folder_detail_view_create()"); - IF_FREE(view); - return NULL; -} - -int mp_folder_detail_view_destory(MpFolderDetailView_t *view) -{ - startfunc; - MP_CHECK_VAL(view, -1); - - return 0; -} - - diff --git a/src/view/mp-folder-view.c b/src/view/mp-folder-view.c deleted file mode 100755 index 074274d..0000000 --- a/src/view/mp-folder-view.c +++ /dev/null @@ -1,286 +0,0 @@ -/* -* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -#include "mp-folder-view.h" -#include "mp-folder-list.h" -#include "mp-widget.h" -#include "mp-create-playlist-view.h" -#include "mp-common.h" -#include "mp-util.h" - -static void _mp_folder_view_add_to_playlist_cb(void *data, Evas_Object *obj, void *event_info); -static void _mp_folder_view_edit_cb(void *data, Evas_Object *obj, void *event_info); - -static void -_mp_folder_view_destory_cb(void *thiz) -{ - eventfunc; - MpFolderView_t *view = thiz; - MP_CHECK(view); - mp_list_view_fini((MpListView_t *)view); - - /* TODO: release resource.. */ - - free(view); -} - -int _mp_folder_view_update(void *thiz) -{ - startfunc; - MpFolderView_t *view = thiz; - - MP_CHECK_VAL(view, -1); - int edit_flag = view->content_to_show->edit_mode; - view->content_set(view); - if (edit_flag) { - mp_list_set_edit(view->content_to_show, true); - mp_view_update_options_edit((MpView_t *)view); - mp_list_view_set_select_all((MpListView_t *)view, true); - } else { - mp_view_update_options((MpView_t *)view); - mp_list_view_set_select_all((MpListView_t *)view, false); - } - return 0; -} - -static void _mp_folder_view_normal_more_btn_cb(void *data, Evas_Object *obj, void *event_info) -{ - DEBUG_TRACE(""); - MpFolderView_t *view = (MpFolderView_t *)data; - MP_CHECK(view); - - mp_evas_object_del(view->more_btn_ctxpopup); - - - view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view); - MP_CHECK(view->more_btn_ctxpopup); - - if (mp_list_get_editable_count(view->content_to_show, MP_LIST_EDIT_TYPE_NORMAL) > 0) { - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_ADD_TO_PLAYLIST, MP_PLAYER_MORE_BTN_ADD_TO_PLAYLSIT_IMAGE, _mp_folder_view_add_to_playlist_cb, view); - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_DELETE, - MP_PLAYER_MORE_BTN_DELETE_IMAGE, - _mp_folder_view_edit_cb, - view); - } -#ifdef MP_FEATURE_PERSONAL_PAGE - if (mp_util_is_personal_page_on()) { - all_in_personal_e status = mp_common_is_all_in_personal_page(((MpList_t *)view->content_to_show)->genlist); - /*add*/ - if (status != MP_COMMON_ALL_IN && status != MP_COMMON_ALL_ERROR) - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_ADD_TO_PERSONAL_PAGE, MP_PLAYER_MORE_BTN_ADD_TO_PERSONAL_PAGE, mp_common_add_to_personal_page_cb, view); - /*remove*/ - if (status != MP_COMMON_ALL_OUT && status != MP_COMMON_ALL_ERROR) - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_REMOVE_FROM_PERSONAL_PAGE, MP_PLAYER_MORE_BTN_REMOVE_FROM_PERSONAL_PAGE, mp_common_remove_from_personal_page_cb, view); - } -#endif - - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_GO_TO_LIBRARY, MP_PLAYER_MORE_BTN_GO_TO_LIB, mp_common_go_to_library_cb, view); - - /*search*/ - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_SEARCH, NULL, mp_common_create_search_view_cb, view); - - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_SETTINGS, MP_PLAYER_MORE_BTN_SETTING, mp_common_ctxpopup_setting_cb, view); -#ifndef MP_FEATURE_NO_END - mp_util_ctxpopup_item_append(view->more_btn_ctxpopup, - STR_MP_END, MP_PLAYER_MORE_BTN_VIEW_END, mp_common_ctxpopup_end_cb, view); -#endif - mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj); - - evas_object_show(view->more_btn_ctxpopup); -} - -/*************** functions for album list update *******************/ -static void _mp_folder_view_add_to_playlist_cb(void *data, Evas_Object *obj, void *event_info) -{ - eventfunc; - MpFolderView_t *view = (MpFolderView_t *) data; - MP_CHECK(view); - - mp_evas_object_del(view->more_btn_ctxpopup); - mp_common_add_to_playlsit_view((MpListView_t *)view); - -} - -static void _mp_folder_view_edit_cb(void *data, Evas_Object *obj, void *event_info) -{ - eventfunc; - MpFolderView_t *view = (MpFolderView_t *) data; - MP_CHECK(view); - - mp_evas_object_del(view->more_btn_ctxpopup); - mp_common_show_edit_view((MpListView_t *)view, MP_DONE_DELETE_TYPE); - -} - - -static Eina_Bool _mp_folder_view_back_cb(void *data, Elm_Object_Item *it) -{ - eventfunc; - MpFolderView_t *view = (MpFolderView_t *) data; - MP_CHECK_VAL(view, EINA_TRUE); - - MpFolderList_t *folder_list = (MpFolderList_t *)view->content_to_show; - MP_CHECK_VAL(folder_list, EINA_TRUE); - if (folder_list->edit_mode == 1) { - mp_list_set_edit((MpList_t *)folder_list, FALSE); - mp_list_view_set_select_all((MpListView_t *)view, FALSE); - mp_view_update_options((MpView_t *)view); - mp_evas_object_del(view->selection_info); - return EINA_FALSE; - } else { - DEBUG_TRACE(""); - MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager(); - mp_view_mgr_pop_view(view_mgr, false); - - /* MpView_t *prev_view = mp_view_mgr_get_top_view(view_mgr); - mp_view_update(prev_view); */ - } - return EINA_TRUE; -} - -static int _mp_folder_view_update_options(void *thiz) -{ - startfunc; - MpFolderView_t *view = (MpFolderView_t *)thiz; - MP_CHECK_VAL(view, -1); - mp_view_clear_options((MpView_t *)view); - - Evas_Object *btn = NULL; - btn = mp_widget_create_toolbar_btn(view->folder_view_layout, MP_TOOLBAR_BTN_MORE, NULL, _mp_folder_view_normal_more_btn_cb, view); - elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn", btn); - - elm_naviframe_item_pop_cb_set(view->navi_it, _mp_folder_view_back_cb, view); - - /* update the first controlba item */ - /* mp_view_manager_update_first_controlbar_item(layout_data); */ - endfunc; - return 0; -} - -static int _mp_folder_view_update_options_edit(void *thiz) -{ - startfunc; - MpFolderView_t *view = (MpFolderView_t *)thiz; - MP_CHECK_VAL(view, -1); - - mp_view_clear_options((MpView_t *)view); - - Evas_Object *toolbar = mp_widget_create_naviframe_toolbar(view->navi_it); - - mp_widget_create_toolbar_item_btn(toolbar, - MP_TOOLBAR_BTN_LEFT, STR_MP_ADD_TO, mp_common_button_add_to_playlist_cb, view->navi_it); - - mp_widget_create_toolbar_item_btn(toolbar, - MP_TOOLBAR_BTN_RIGHT, STR_MP_DELETE, mp_common_button_delete_list_cb, view->navi_it); - - elm_naviframe_item_pop_cb_set(view->navi_it, _mp_folder_view_back_cb, view); - - /* update the first controlba item */ - /* mp_view_manager_update_first_controlbar_item(layout_data); */ - endfunc; - return 0; -} - -static void -_mp_folder_view_content_load(void *thiz) -{ - DEBUG_TRACE_FUNC(); - MP_CHECK(thiz); - MpFolderView_t *view = (MpFolderView_t *)thiz; - MP_CHECK(view); - - view->content_to_show = (MpList_t *)mp_folder_list_create(view->layout); - MP_CHECK(view->content_to_show); - mp_folder_list_set_data((MpFolderList_t *)view->content_to_show, MP_FOLDER_LIST_TYPE, MP_GROUP_BY_FOLDER, -1); - mp_list_update(view->content_to_show); - MP_CHECK(view->folder_view_layout); - elm_object_part_content_set(view->folder_view_layout, "list_content", mp_list_get_layout(view->content_to_show)); - endfunc; -} - -static void -_mp_folder_view_on_event(void *thiz, MpViewEvent_e event) -{ - DEBUG_TRACE("event; %d", event); - MpFolderView_t *view = thiz; - switch (event) { - case MP_DELETE_DONE: - mp_list_update(view->content_to_show); - break; - default: - break; - } -} - -static int -_mp_folder_view_init(Evas_Object *parent, MpFolderView_t *view) -{ - startfunc; - int ret = 0; - ret = mp_list_view_init(parent, (MpListView_t *)view, MP_VIEW_FOLDER); - MP_CHECK_VAL(ret == 0, -1); - - view->update = _mp_folder_view_update; - view->update_options = _mp_folder_view_update_options; - view->update_options_edit = _mp_folder_view_update_options_edit; - view->view_destroy_cb = _mp_folder_view_destory_cb; - view->content_set = _mp_folder_view_content_load; - view->on_event = _mp_folder_view_on_event; - - view->folder_view_layout = view->layout; - MP_CHECK_VAL(view->folder_view_layout, -1); - - return ret; -} - -MpFolderView_t *mp_folder_view_create(Evas_Object *parent) -{ - startfunc; - int ret; - MP_CHECK_NULL(parent); - - MpFolderView_t *view = calloc(1, sizeof(MpFolderView_t)); - MP_CHECK_NULL(view); - - ret = _mp_folder_view_init(parent, view); - if (ret) { - goto Error; - } - - view->content_set(view); - return view; - -Error: - ERROR_TRACE("Error: mp_folder_view_create()"); - IF_FREE(view); - return NULL; -} - -int mp_folder_view_destory(MpFolderView_t *view) -{ - startfunc; - MP_CHECK_VAL(view, -1); - - return 0; -} diff --git a/src/widget/include/mp-folder-list.h b/src/widget/include/mp-folder-list.h deleted file mode 100644 index ae71659..0000000 --- a/src/widget/include/mp-folder-list.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -#ifndef __MP_FOLDER_LIST_H__ -#define __MP_FOLDER_LIST_H__ - -#include "mp-list.h" -#include "mp-media-info.h" - -enum -{ - MP_FOLDER_LIST_TYPE, //mp_track_type_e - MP_FOLDER_LIST_TYPE_STR, //type_str for db query - MP_FOLDER_LIST_FUNC, - MP_FOLDER_LIST_FILTER_STR, -}; - -typedef struct __MpFolderList{ - INHERIT_MP_LIST - - Elm_Genlist_Item_Class *itc; - mp_media_list_h folder_list; - //int edit_mode; - -}MpFolderList_t; - -void mp_folder_list_set_data(MpFolderList_t *list, ...); -void mp_folder_list_copy_data(MpFolderList_t*src, MpFolderList_t *dest); -MpFolderList_t * mp_folder_list_create(Evas_Object *parent); - -#endif - diff --git a/src/widget/mp-folder-list.c b/src/widget/mp-folder-list.c deleted file mode 100755 index 29c690f..0000000 --- a/src/widget/mp-folder-list.c +++ /dev/null @@ -1,776 +0,0 @@ -/* -* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -#include "mp-folder-list.h" -#include "mp-folder-detail-view.h" -#include "mp-player-view.h" -#include "mp-select-track-view.h" -#include "mp-create-playlist-view.h" -#include "mp-ctxpopup.h" -#include "mp-popup.h" -#include "mp-util.h" -#include "mp-menu.h" -#include "mp-common.h" -#include "mp-widget.h" -#include "mp-play.h" - -static const char *_get_label(void *thiz, void *event_info) -{ - MpFolderList_t *list = thiz; - MP_CHECK_NULL(list); - char *title = NULL; - - mp_list_item_data_t *folder = elm_object_item_data_get(event_info); - MP_CHECK_NULL(folder); - - mp_media_info_group_get_main_info(folder->handle, &title); - //DEBUG_TRACE("Title is %s", title); - return title; -} - -static void -_mp_folder_list_playall_button_cb(void *data, Evas_Object * obj, void *event_info) -{ - eventfunc; - - struct appdata *ad = mp_util_get_appdata(); - MP_CHECK(ad); - - mp_media_info_h handle = data; - MP_CHECK(handle); - - int count = 0; - char *type_str = NULL; - int ret = 0; - - mp_popup_destroy(ad); - - ret = mp_media_info_group_get_folder_id(handle, &type_str); - - MP_CHECK(type_str); - - /* get playlist data by name */ - mp_media_list_h svc_handle = NULL; - - mp_media_info_list_count(MP_TRACK_BY_FOLDER, type_str, NULL, NULL, 0, &count); - mp_media_info_list_create(&svc_handle, - MP_TRACK_BY_FOLDER, type_str, NULL, NULL, 0, 0, count); - - if (!ad->playlist_mgr) { - mp_common_create_playlist_mgr(); - } - - mp_playlist_mgr_clear(ad->playlist_mgr); - mp_util_append_media_list_item_to_playlist(ad->playlist_mgr, svc_handle, count, 0, NULL); - - ad->paused_by_user = FALSE; - ret = mp_play_new_file(ad, TRUE); - if (ret) { - ERROR_TRACE("Error: mp_play_new_file.."); - IF_FREE(type_str); - return; - } - - if (svc_handle) { - mp_media_info_list_destroy(svc_handle); - } - - IF_FREE(type_str); - endfunc; -} - -static char * -_mp_folder_list_label_get(void *data, Evas_Object * obj, const char *part) -{ - char *name = NULL; - int ret = 0; - - mp_list_item_data_t *item = (mp_list_item_data_t *) data; - MP_CHECK_NULL(item); - mp_media_info_h svc_item = (item->handle); - - mp_retv_if(svc_item == NULL, NULL); - - if (!strcmp(part, "elm.text.main.left.top") || !strcmp(part, "elm.slide.text.1")) { - ret = mp_media_info_group_get_main_info(svc_item, &name); - mp_retvm_if((ret != 0), NULL, "Fail to get value"); - if (!name || !strlen(name)) { - name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN"); - } - - if (!strcmp(part, "elm.text.1")) { - return elm_entry_utf8_to_markup(name); - } else { - return g_strdup(name); - } - - } else if (!strcmp(part, "elm.text.sub.left.bottom")) { - ret = mp_media_info_group_get_sub_info(svc_item, &name); - mp_retvm_if((ret != 0), NULL, "Fail to get value"); - if (!name || !strlen(name)) { - name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN"); - } - return g_strdup(name); - } else if (!strcmp(part, "elm.text.3")) { - int count = 0; - mp_media_info_group_get_track_count(svc_item, &count); - return g_strdup_printf("(%d)", count); - } - return NULL; -} - - - -Evas_Object * -_mp_folder_list_icon_get(void *data, Evas_Object * obj, const char *part) -{ - Evas_Object *icon = NULL; - Evas_Object *storage_icon = NULL; - - mp_list_item_data_t *item = (mp_list_item_data_t *) data; - MP_CHECK_NULL(item); - mp_media_info_h svc_item = (item->handle); - - Evas_Object *content = NULL; - content = elm_layout_add(obj); - - MpFolderList_t *list = evas_object_data_get(obj, "list_data"); - MP_CHECK_NULL(list); - - const char *slide_part_play_all = ""; - if (item->group_type == MP_GROUP_BY_FOLDER) { - slide_part_play_all = "elm.slide.swallow.2"; - } - - if (!strcmp(part, "elm.icon.1")) { - char *thumb_name = NULL; - mp_media_info_group_get_thumbnail_path(svc_item, &thumb_name); -#ifdef MP_FEATURE_PERSONAL_PAGE - char *folderpath = NULL; - mp_media_info_group_get_sub_info(svc_item, &folderpath); - if (folderpath != NULL && g_str_has_prefix(folderpath, MP_PERSONAL_PAGE_DIR)) { - icon = mp_widget_lock_icon_create(obj, (const char *)thumb_name); - } else { - icon = mp_util_create_lazy_update_thumb_icon(obj, thumb_name, MP_LIST_ICON_SIZE, MP_LIST_ICON_SIZE); - } -#else - icon = mp_util_create_lazy_update_thumb_icon(obj, thumb_name, MP_LIST_ICON_SIZE, MP_LIST_ICON_SIZE); -#endif - elm_layout_theme_set(content, "layout", "list/B/music.type.1", "default"); - elm_layout_content_set(content, "elm.swallow.content", icon); - - char *folder = NULL; - storage_icon = NULL; - int ret = mp_media_info_group_get_sub_info(svc_item, &folder); - mp_retvm_if((ret != 0), NULL, "Fail to get value"); - if (folder) { - const char *icon_path = NULL; - int phone_len = 0; - int mmc_len = 0; - char *phone_path = MP_PHONE_ROOT_PATH; - char *mmc_path = MP_MMC_ROOT_PATH; - if (phone_path) { - phone_len = strlen(phone_path); - } - if (mmc_path) { - mmc_len = strlen(mmc_path); - } - if (g_strstr_len(folder, phone_len, phone_path)) { - icon_path = MP_ICON_STORAGE_PHONE; - } else if (g_strstr_len(folder, mmc_len, mmc_path)) { - icon_path = MP_ICON_STORAGE_MEMORY; - } else { - icon_path = MP_ICON_STORAGE_EXTERNAL; - } - - IF_FREE(phone_path); - IF_FREE(mmc_path); - storage_icon = elm_icon_add(obj); - MP_CHECK_NULL(storage_icon); - elm_image_file_set(storage_icon, IMAGE_EDJ_NAME, icon_path); - elm_layout_content_set(content, "elm.swallow.storage", storage_icon); - } - } - - Evas_Object *button = NULL; - if (!strcmp(part, "elm.slide.swallow.1")) { - button = elm_button_add(obj); - elm_object_style_set(button, "sweep"); - //elm_object_text_set(button, GET_STR(STR_MP_ADD_TO)); - //mp_language_mgr_register_object(button, OBJ_TYPE_ELM_OBJECT, NULL, STR_MP_ADD_TO); - mp_util_domain_translatable_text_set(button, STR_MP_ADD_TO); - evas_object_smart_callback_add(button, "clicked", mp_common_button_add_to_playlist_cb, evas_object_data_get(obj, "list_data")); - return button; - } else if (!strcmp(part, slide_part_play_all)) { - button = elm_button_add(obj); - elm_object_style_set(button, "sweep"); - //elm_object_text_set(button, GET_STR(STR_MP_PLAY_ALL)); - //mp_language_mgr_register_object(button, OBJ_TYPE_ELM_OBJECT, NULL, STR_MP_PLAY_ALL); - mp_util_domain_translatable_text_set(button, STR_MP_PLAY_ALL); - evas_object_smart_callback_add(button, "clicked", _mp_folder_list_playall_button_cb, item->handle); - return button; - } else if (!g_strcmp0(part, "elm.icon.storage")) { - char *folder = NULL; - icon = NULL; - int ret = mp_media_info_group_get_sub_info(svc_item, &folder); - mp_retvm_if((ret != 0), NULL, "Fail to get value"); - if (folder) { - const char *icon_path = NULL; - int phone_len = 0; - int mmc_len = 0; - char *phone_path = MP_PHONE_ROOT_PATH; - char *mmc_path = MP_MMC_ROOT_PATH; - if (phone_path) { - phone_len = strlen(phone_path); - } - if (mmc_path) { - mmc_len = strlen(mmc_path); - } - if (g_strstr_len(folder, phone_len, phone_path)) { - icon_path = MP_ICON_STORAGE_PHONE; - } else if (g_strstr_len(folder, mmc_len, mmc_path)) { - icon_path = MP_ICON_STORAGE_MEMORY; - } else { - icon_path = MP_ICON_STORAGE_EXTERNAL; - } - - IF_FREE(phone_path); - IF_FREE(mmc_path); - icon = elm_icon_add(obj); - MP_CHECK_NULL(icon); - elm_image_file_set(icon, IMAGE_EDJ_NAME, icon_path); - evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - elm_layout_theme_set(content, "layout", "list/B/music.type.2", "default"); - elm_layout_content_set(content, "elm.icon.center", icon); - - return content; - } - } - - Evas_Object *check = NULL; - - if (list->edit_mode) { // if edit mode - if (!strcmp(part, "elm.icon.2")) { // swallow checkbox or radio button - check = elm_check_add(obj); - elm_object_style_set(check, "genlist"); - evas_object_propagate_events_set(check, EINA_FALSE); - evas_object_smart_callback_add(check, "changed", mp_common_view_check_changed_cb, NULL); - elm_check_state_pointer_set(check, &item->checked); - elm_layout_theme_set(content, "layout", "list/C/type.2", "default"); - elm_layout_content_set(content, "elm.swallow.content", check); - - return content; - } - } - return content; -} - -static void -_mp_folder_list_item_del_cb(void *data, Evas_Object * obj) -{ - mp_list_item_data_t *item_data = data; - SAFE_FREE(item_data); -} - -static void -_mp_folder_select_cb(void *data, Evas_Object * obj, void *event_info) -{ - MpFolderList_t *list = (MpFolderList_t *)data; - MP_CHECK(list); - eventfunc; - int ret = 0; - int index = 0;//(int)data; - char *name = NULL; - char *folder = NULL; - char *title = NULL; - - MP_LIST_ITEM_IGNORE_SELECT(obj); - - Elm_Object_Item *gli = (Elm_Object_Item *) event_info; - MP_CHECK(gli); - elm_genlist_item_selected_set(gli, FALSE); - - DEBUG_TRACE(""); - mp_list_item_data_t *gli_data = elm_object_item_data_get(gli); - MP_CHECK(gli_data); - - index = gli_data->index; - if (list->edit_mode) { - mp_list_edit_mode_sel((MpList_t *)list, gli_data); - - MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager(); - MpView_t *view = mp_view_mgr_get_top_view(view_mgr); - ERROR_TRACE("update options of edit view"); - mp_view_update_options_edit(view); - ERROR_TRACE("set selected count"); - IF_FREE(folder); - return; - } - - DEBUG_TRACE("index is %d", index); - if (index >= 0) { - DEBUG_TRACE(""); - ret = mp_media_info_group_get_main_info(gli_data->handle, &name); - DEBUG_TRACE(""); - - mp_retm_if(ret != 0, "Fail to get value"); - mp_retm_if(name == NULL, "Fail to get value"); - - title = name; - - mp_media_info_group_get_folder_id(gli_data->handle, &folder); - mp_retm_if(ret != 0, "Fail to get value"); - mp_retm_if(folder == NULL, "Fail to get value"); - } - - - if (list->function_type == MP_LIST_FUNC_ADD_TRACK) { - MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager(); - if (view_manager == NULL) { - IF_FREE(folder); - return; - } - MpSelectTrackView_t *view_select_track = mp_select_track_view_create(view_manager->navi); - if (view_select_track == NULL) { - IF_FREE(folder); - return; - } - mp_view_mgr_push_view(view_manager, (MpView_t *)view_select_track, NULL); - - mp_view_set_title((MpView_t *)view_select_track, STR_MP_TILTE_SELECT_ITEM); - mp_track_list_set_data((MpTrackList_t *)view_select_track->content_to_show, MP_TRACK_LIST_TYPE, MP_TRACK_BY_FOLDER, MP_TRACK_LIST_TYPE_STR, folder, -1); - mp_list_update(view_select_track->content_to_show); - mp_view_update_options((MpView_t *)view_select_track); - mp_list_set_edit(view_select_track->content_to_show, TRUE); - mp_list_view_set_cancel_btn((MpListView_t*)view_select_track, true); - mp_list_view_set_done_btn((MpListView_t*)view_select_track, true, MP_DONE_SELECT_ADD_TRACK_TYPE); - mp_list_view_set_select_all((MpListView_t *)view_select_track, TRUE); - IF_FREE(folder); - return; - } - - /* create the view of folder detail */ - - MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager(); - if (view_manager == NULL) { - IF_FREE(folder); - return; - } - MpFolderDetailView_t *view_folder_detail = mp_folder_detail_view_create(view_manager->navi, folder); - if (view_folder_detail == NULL) { - IF_FREE(folder); - return; - } - mp_view_mgr_push_view(view_manager, (MpView_t *)view_folder_detail, NULL); - - mp_view_update_options((MpView_t *)view_folder_detail); - mp_view_set_title((MpView_t *)view_folder_detail, title); - IF_FREE(folder); - //mp_util_reset_genlist_mode_item(layout_data->genlist); - - //_mp_group_view_push_item_content(view_data, view_layout, title); - -} - - -static void _mp_folder_list_load_list(void *thiz, int count) -{ - MpFolderList_t *list = thiz; - MP_CHECK(list); - - /*media-svc related*/ - 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); - } - - gint index = 0; - int ret = 0; - - DEBUG_TRACE("count: %d", count); - - if (count < 0) { - goto END; - } - - if (list->folder_list) { - mp_media_info_group_list_destroy(list->folder_list); - } - - ret = mp_media_info_group_list_create(&list->folder_list, MP_GROUP_BY_FOLDER, list->type_str, list->filter_str, 0, count); - - if (ret != 0) { - DEBUG_TRACE("Fail to get items"); - goto END; - } - - - svc_handle = list->folder_list ; - - for (index = 0; index < count; index++) { - mp_media_info_h item = NULL; - char *title = NULL; - mp_list_item_data_t *item_data = NULL; - - item = mp_media_info_group_list_nth_item(svc_handle, index); - if (!item) { - DEBUG_TRACE("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]", ret, index); - goto END; - } - mp_media_info_group_get_main_info(item, &title); -#ifdef MP_FEATURE_PERSONAL_PAGE - char *path = NULL; - mp_media_info_group_get_sub_info(item, &path); - if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_NONE) { - goto append_folder_items; - } - - if (mp_util_is_in_personal_page((const char *)path)) { - if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_ADD) { - continue; - } - } else { - if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_REMOVE) { - continue; - } - } -append_folder_items: -#endif - item_data = calloc(1, sizeof(mp_list_item_data_t)); - MP_CHECK(item_data); - item_data->handle = item; - item_data->group_type = list->group_type; - item_data->index = index; - item_data->checked = mp_list_is_in_checked_path_list(list->checked_path_list, title); - - Elm_Object_Item *parent_group = NULL; - item_data->it = elm_genlist_item_append(list->genlist, list->itc, item_data, parent_group, - ELM_GENLIST_ITEM_NONE, _mp_folder_select_cb, (void *)list); - elm_object_item_data_set(item_data->it, item_data); - } - - /* - if (count > load_count && layout_data->view_mode != MP_VIEW_MODE_SEARCH) - { - if (!layout_data->load_item_idler) - layout_data->load_item_idler = ecore_idler_add(_mp_view_layout_load_item_idler_cb, layout_data); - } - - if (layout_data->edit_mode - || (layout_data->ad->b_add_tracks && layout_data->view_data->view_type == MP_VIEW_TYPE_SONGS)) - { - if (!layout_data->select_all_layout) - { - _mp_view_layout_create_select_all(layout_data); - } - else - { - if (layout_data->select_all_checkbox) - elm_check_state_set(layout_data->select_all_checkbox, false); - } - - elm_genlist_select_mode_set(layout_data->genlist, ELM_OBJECT_SELECT_MODE_ALWAYS); - } - else - { - if (layout_data->select_all_layout) - { - evas_object_del(layout_data->select_all_layout); - layout_data->select_all_layout = NULL; - } - elm_genlist_select_mode_set(layout_data->genlist, ELM_OBJECT_SELECT_MODE_DEFAULT); - } - - if (layout_data->reorder && layout_data->playlist_id > 0) // reordering of favorite list is not allowed.. - elm_genlist_reorder_mode_set(layout_data->genlist, EINA_TRUE); - else - elm_genlist_reorder_mode_set(layout_data->genlist, EINA_FALSE); - */ -END: - endfunc; -} - -void _mp_folder_list_destory_cb(void *thiz) -{ - eventfunc; - MpFolderList_t *list = thiz; - MP_CHECK(list); - - if (list->folder_list) { - mp_media_info_group_list_destroy(list->folder_list); - } - - if (list->itc) { - elm_genlist_item_class_free(list->itc); - list->itc = NULL; - } - - IF_FREE(list->type_str); - IF_FREE(list->filter_str); - mp_list_free_checked_path_list(list->checked_path_list); - - IF_FREE(list); -} - -static mp_group_type_e _mp_folder_list_get_group_type(void *thiz) -{ - MpFolderList_t *list = thiz; - MP_CHECK_VAL(list, MP_GROUP_NONE); - return MP_GROUP_BY_FOLDER; -} - -/*static void -_mp_floder_list_item_longpressed_cb(void *data, Evas_Object *obj, void *event_info) -{ - startfunc; - - MpFolderList_t *list = (MpFolderList_t*)data; - MP_CHECK(list); - - struct appdata *ad = mp_util_get_appdata(); - MP_CHECK(ad); - - Elm_Object_Item *item = event_info; - MP_CHECK(item); - - char *title = NULL; - char *path = NULL; - int pop_item_count = 3; - Elm_Object_Item *temp = NULL; - Evas_Object *popup = NULL; - mp_list_item_data_t *item_data = NULL; - - if (list->scroll_drag_status || list->edit_mode == 1) - return; - - temp = elm_genlist_first_item_get(list->genlist); - while (temp) { - item_data = elm_object_item_data_get(temp); - item_data->checked = false; - temp = elm_genlist_item_next_get(temp); - } - - item_data = elm_object_item_data_get(item); - MP_CHECK(item_data); - - item_data->checked = true; - - mp_media_info_group_get_main_info(item_data->handle, &title); - mp_media_info_group_get_sub_info(item_data->handle, &path); - - popup = mp_genlist_popup_create(obj, MP_POPUP_LIST_LONGPRESSED, &pop_item_count, ad); - MP_CHECK(popup); - - char *up_title = g_strdup(title); - - elm_object_part_text_set(popup, "title,text", up_title); - IF_FREE(up_title); - - mp_genlist_popup_item_append(popup, STR_MP_PLAY_ALL, NULL, NULL, NULL, - _mp_folder_list_playall_button_cb, item_data->handle); - mp_genlist_popup_item_append(popup, STR_MP_ADD_TO_PLAYLIST, NULL, NULL, NULL, - mp_common_list_add_to_playlist_cb, list); - mp_genlist_popup_item_append(popup, STR_MP_DELETE, NULL, NULL, NULL, - mp_common_list_delete_cb, list); - -#ifdef MP_FEATURE_PERSONAL_PAGE - if (mp_util_is_personal_page_on()) - { - if (mp_util_is_in_personal_page((const char *)path)) - { - DEBUG_TRACE("remove from personal page"); - list->personal_page_storage = MP_LIST_PERSONAL_PAGE_PRIVATE; - mp_genlist_popup_item_append(popup, STR_MP_REMOVE_FROM_PERSONAL_PAGE, NULL, NULL, NULL, - mp_common_longpress_private_move_cb, list); - } - else - { - DEBUG_TRACE("add to personal page"); - list->personal_page_storage = MP_LIST_PERSONAL_PAGE_NORMAL; - mp_genlist_popup_item_append(popup, STR_MP_ADD_TO_PERSONAL_PAGE, NULL, NULL, NULL, - mp_common_longpress_private_move_cb, list); - } - } -#endif - - MP_GENLIST_ITEM_LONG_PRESSED(obj, popup, event_info); -}*/ - - - -void _mp_folder_list_update(void *thiz) -{ - startfunc; - int count = 0, res = 0; - MpFolderList_t *list = thiz; - MP_CHECK(list); - - res = mp_media_info_group_list_count(MP_GROUP_BY_FOLDER, NULL, list->filter_str, &count); - MP_CHECK(res == 0); - - 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->genlist); - mp_evas_object_del(list->no_content); - - if (count) { - /*create new genlist*/ - list->genlist = mp_widget_genlist_create(list->box); - elm_scroller_policy_set(list->genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); - evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(list->genlist); - /*packet genlist to box*/ - elm_box_pack_end(list->box, list->genlist); - - evas_object_data_set(list->genlist, "list_data", list); - - if (!list->itc) { - list->itc = elm_genlist_item_class_new(); - if (list->itc) { - list->itc->item_style = "type1"; - list->itc->func.text_get = _mp_folder_list_label_get; - list->itc->func.content_get = _mp_folder_list_icon_get; - list->itc->func.del = _mp_folder_list_item_del_cb; - } - } - - evas_object_smart_callback_add(list->genlist, "drag,start,left", list->flick_left_cb, NULL); - evas_object_smart_callback_add(list->genlist, "drag,start,right", list->flick_right_cb, NULL); - evas_object_smart_callback_add(list->genlist, "drag,stop", list->flick_stop_cb, NULL); - - evas_object_smart_callback_add(list->genlist, "drag,start,right", list->mode_right_cb, NULL); - evas_object_smart_callback_add(list->genlist, "drag,start,left", list->mode_left_cb, NULL); - evas_object_smart_callback_add(list->genlist, "drag,start,up", list->mode_cancel_cb, NULL); - evas_object_smart_callback_add(list->genlist, "drag,start,down", list->mode_cancel_cb, NULL); - //evas_object_smart_callback_add(list->genlist, "longpressed", _mp_floder_list_item_longpressed_cb, list); - evas_object_smart_callback_add(list->genlist, "scroll,drag,start", list->drag_start_cb, list); - evas_object_smart_callback_add(list->genlist, "scroll,drag,stop", list->drag_stop_cb, list); - /* load list */ - _mp_folder_list_load_list(thiz, count); - list->show_fastscroll(list); - - //mp_list_bottom_counter_item_append((MpList_t *)list); - } else { - DEBUG_TRACE("count is 0"); - list->no_content = mp_widget_no_contents_default_add(list->box, STR_MP_NO_FOLDERS, STR_MP_AFTER_YOU_DOWNLOAD_TRACKS_FOLDER_WILL_BE_SHOWN); - list->hide_fastscroll(list); - elm_box_pack_end(list->box, list->no_content); - } - -} - -static char *_mp_folder_list_bottom_counter_text_cb(void *thiz) -{ - MpFolderList_t *list = thiz; - MP_CHECK_NULL(list); - - unsigned int count = mp_list_get_editable_count((MpList_t *)list, mp_list_get_edit_type((MpList_t *)list)); - - char *text = NULL; - if (count == 1) { - text = g_strdup(GET_STR(STR_MP_1_FOLDER)); - } else { - text = g_strdup_printf(GET_STR(STR_MP_PD_FOLDERS), count); - } - - return text; -} - -MpFolderList_t * mp_folder_list_create(Evas_Object *parent) -{ - eventfunc; - MP_CHECK_NULL(parent); - - MpFolderList_t *list = calloc(1, sizeof(MpFolderList_t)); - MP_CHECK_NULL(list); - - mp_list_init((MpList_t *)list, parent, MP_LIST_TYPE_GROUP); - - list->update = _mp_folder_list_update; - list->destory_cb = _mp_folder_list_destory_cb; - list->get_group_type = _mp_folder_list_get_group_type; - list->get_label = _get_label; - list->bottom_counter_text_get_cb = _mp_folder_list_bottom_counter_text_cb; - return list; -} - -void mp_folder_list_set_data(MpFolderList_t *list, ...) -{ - startfunc; - MP_CHECK(list); - - va_list var_args; - int field; - - va_start(var_args, list); - do { - field = va_arg(var_args, int); - switch (field) { - case MP_FOLDER_LIST_TYPE: { - int val = va_arg((var_args), int); - - list->group_type = val; - DEBUG_TRACE("list->group_type = %d", list->group_type); - break; - } - case MP_FOLDER_LIST_FUNC: { - int val = va_arg((var_args), int); - - list->function_type = val; - DEBUG_TRACE("list->function_type = %d", list->function_type); - break; - } - case MP_FOLDER_LIST_TYPE_STR: { - char *val = va_arg((var_args), char *); - SAFE_FREE(list->type_str); - list->type_str = g_strdup(val); - DEBUG_TRACE("list->type_str = %s", list->type_str); - - break; - } - case MP_FOLDER_LIST_FILTER_STR: { - char *val = va_arg((var_args), char *); - SAFE_FREE(list->filter_str); - list->filter_str = g_strdup(val); - DEBUG_TRACE("list->filter_str = %s", list->filter_str); - - break; - } - - default: - DEBUG_TRACE("Invalid arguments"); - } - - } while (field >= 0); - - va_end(var_args); -} - -void mp_folder_list_copy_data(MpFolderList_t*src, MpFolderList_t *dest) -{ - dest->group_type = src->group_type; - SAFE_FREE(dest->type_str); - dest->type_str = g_strdup(src->type_str); - dest->filter_str = g_strdup(src->filter_str); -} - -- 2.34.1