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
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
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 =
#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"
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
#endif
Elm_Object_Item *ctltab_album;
Elm_Object_Item *ctltab_artist;
- Elm_Object_Item *ctltab_folders;
/* useful flags */
MpAddTrackViewTab_e content_tab;
#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"
#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
+++ /dev/null
-/*
-* 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
+++ /dev/null
-/*
-* 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
#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"
#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;
#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);
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);
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);
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");
#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"
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);
+++ /dev/null
-/*
-* 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;
-}
-
-
+++ /dev/null
-/*
-* 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;
-}
+++ /dev/null
-/*
-* 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
-
+++ /dev/null
-/*
-* 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);
-}
-