/*
- * Copyright 2012 Samsung Electronics Co., Ltd
+ * Copyright 2012 Samsung Electronics Co., Ltd
*
* Licensed under the Flora License, Version 1.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.tizenopensource.org/license
+ * http://www.tizenopensource.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* limitations under the License.
*/
-
-
#include "mp-library.h"
+#include "mp-ta.h"
#include "mp-setting-ctrl.h"
#include "mp-player-debug.h"
#include "mp-common.h"
static void _mp_library_init(void *data);
static Evas_Object *_mp_library_create_layout_main(Evas_Object * parent);
-static Evas_Object *_mp_library_create_control_bar(struct appdata *ad);
+static Evas_Object *_mp_library_create_tabbar(struct appdata *ad);
static void _mp_library_controlbar_item_append(struct appdata *ad, mp_setting_menu_t * menu_state);
static bool _mp_library_check_request_item(struct appdata *ad);
Evas_Object *layout;
mp_retv_if(parent == NULL, NULL);
+ MP_TA_ACUM_ITEM_BEGIN(" elm_layout_add", 0);
layout = elm_layout_add(parent);
+ MP_TA_ACUM_ITEM_END(" elm_layout_add", 0);
mp_retvm_if(layout == NULL, NULL, "Failed elm_layout_add.\n");
- elm_layout_theme_set(layout, "layout", "application", "default");
+ MP_TA_ACUM_ITEM_BEGIN(" elm_layout_theme_set", 0);
+ const char *profile = elm_config_profile_get();
+ mp_debug("elm_profile = %s", profile);
+ if (!g_strcmp0(profile, "desktop"))
+ elm_layout_theme_set(layout, "layout", "application", "noindicator");
+ else
+ elm_layout_theme_set(layout, "layout", "application", "default");
+ MP_TA_ACUM_ITEM_END(" elm_layout_theme_set", 0);
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(parent, layout);
}
static Evas_Object *
-_mp_library_create_control_bar(struct appdata *ad)
+_mp_library_create_tabbar(struct appdata *ad)
{
Evas_Object *obj;
- obj = elm_toolbar_add(ad->controlbar_layout);
+ /* create controlbar */
+ MP_TA_ACUM_ITEM_BEGIN(" elm_toolbar_add()", 0);
+
+ obj = elm_toolbar_add(ad->naviframe);
elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
- mp_retvm_if(obj == NULL, NULL, "Fail to create control bar");
- elm_object_style_set(obj, "music/tabbar");
elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_ALWAYS);
+ elm_object_style_set(obj, "tabbar");
+ MP_TA_ACUM_ITEM_END(" elm_toolbar_add()", 0);
+ mp_retvm_if(obj == NULL, NULL, "Fail to create control bar");
+
+ MP_TA_ACUM_ITEM_BEGIN(" mp_setting_menu_get_state", 0);
mp_setting_menu_t menu_state;
mp_setting_menu_get_state(&menu_state);
+ MP_TA_ACUM_ITEM_END(" mp_setting_menu_get_state", 0);
- ad->ctrl_bar = obj;
+ ad->tabbar = obj;
+ MP_TA_ACUM_ITEM_BEGIN(" _mp_library_controlbar_item_append", 0);
_mp_library_controlbar_item_append(ad, &menu_state);
+ MP_TA_ACUM_ITEM_END(" _mp_library_controlbar_item_append", 0);
evas_object_show(obj);
- elm_object_part_content_set(ad->controlbar_layout, "elm.swallow.controlbar", obj);
-
return obj;
}
+// update menu when menu changed while bgm.
static void
_mp_library_menu_changed(mp_setting_menu_t * menu_state, void *data)
{
struct appdata *ad = (struct appdata *)data;
- Evas_Object *obj;
- obj = ad->ctrl_bar;
-
MP_CHECK(ad->library->ctltab_songs);
- MP_CHECK(obj);
+ MP_CHECK(ad->tabbar);
DEBUG_TRACE("loadtype=%d", ad->loadtype);
if (ad->loadtype == LOAD_TRACK)
return;
}
- ad->music_setting_change_flag = true;
+ //set data from music setting
ad->library->albums = menu_state->albums;
ad->library->artists = menu_state->artists;
ad->library->genres = menu_state->genres;
ad->library->composers = menu_state->composers;
ad->library->years = menu_state->years;
+ ad->library->folders = menu_state->folders;
+
+ if (ad->setting_ug) {
+ mp_debug("setting ug on playing view.. reserve menu change");
+ ad->music_setting_change_flag = true;
+ return;
+ }
mp_util_set_library_controlbar_items(ad);
}
Evas_Object *obj;
- obj = ad->ctrl_bar;
+ obj = ad->tabbar;
+ ad->library->first_append = true;
+ MP_TA_ACUM_ITEM_BEGIN(" CONTROLBAR_SYSTEM_ICON_SONGS", 0);
ad->library->ctltab_songs =
elm_toolbar_item_append(obj, MP_CTRBAR_ICON_SONGS, GET_STR(STR_MP_ALL_TRACKS), mp_library_view_change_cb, ad);
+ mp_language_mgr_register_object_item(ad->library->ctltab_songs, STR_MP_ALL_TRACKS);
+ MP_TA_ACUM_ITEM_END(" CONTROLBAR_SYSTEM_ICON_SONGS", 0);
+ MP_TA_ACUM_ITEM_BEGIN(" elm_toolbar_item_append", 0);
+ ad->library->first_append = false;
ad->library->ctltab_plist =
elm_toolbar_item_append(obj, MP_CTRBAR_ICON_PLAYLIST, GET_STR(STR_MP_PLAYLISTS), mp_library_view_change_cb, ad);
+ mp_language_mgr_register_object_item( ad->library->ctltab_plist,STR_MP_PLAYLISTS);
+ MP_TA_ACUM_ITEM_END(" elm_toolbar_item_append", 0);
+ MP_TA_ACUM_ITEM_BEGIN(" elm_toolbar_item_append", 0);
if (menu_state->albums)
+ {
ad->library->ctltab_album =
elm_toolbar_item_append(obj, MP_CTRBAR_ICON_ALBUM, GET_STR(STR_MP_ALBUMS), mp_library_view_change_cb, ad);
-
+ mp_language_mgr_register_object_item( ad->library->ctltab_album, STR_MP_ALBUMS);
+ }
+ MP_TA_ACUM_ITEM_END(" elm_toolbar_item_append", 0);
+ MP_TA_ACUM_ITEM_BEGIN(" elm_toolbar_item_append", 0);
if (menu_state->artists)
+ {
ad->library->ctltab_artist =
elm_toolbar_item_append(obj, MP_CTRBAR_ICON_ARTIST, GET_STR(STR_MP_ARTISTS), mp_library_view_change_cb, ad);
-
+ mp_language_mgr_register_object_item( ad->library->ctltab_artist, STR_MP_ARTISTS);
+ }
+ MP_TA_ACUM_ITEM_END(" elm_toolbar_item_append", 0);
+ MP_TA_ACUM_ITEM_BEGIN(" elm_toolbar_item_append", 0);
if (menu_state->genres)
+ {
ad->library->ctltab_genres =
elm_toolbar_item_append(obj, MP_CTRBAR_ICON_GENRE, GET_STR(STR_MP_GENRES), mp_library_view_change_cb, ad);
-
+ mp_language_mgr_register_object_item( ad->library->ctltab_genres, STR_MP_GENRES);
+ }
+ MP_TA_ACUM_ITEM_END(" elm_toolbar_item_append", 0);
+ MP_TA_ACUM_ITEM_BEGIN(" elm_toolbar_item_append", 0);
if (menu_state->composers)
+ {
ad->library->ctltab_composer =
elm_toolbar_item_append(obj, MP_CTRBAR_ICON_COMPOSER, GET_STR(STR_MP_COMPOSERS), mp_library_view_change_cb, ad);
-
+ mp_language_mgr_register_object_item( ad->library->ctltab_composer,STR_MP_COMPOSERS);
+ }
+ MP_TA_ACUM_ITEM_END(" elm_toolbar_item_append", 0);
+ MP_TA_ACUM_ITEM_BEGIN(" elm_toolbar_item_append", 0);
if (menu_state->years)
+ {
ad->library->ctltab_year =
elm_toolbar_item_append(obj, MP_CTRBAR_ICON_YEAR, GET_STR(STR_MP_YEARS), mp_library_view_change_cb, ad);
+ mp_language_mgr_register_object_item( ad->library->ctltab_year, STR_MP_YEARS);
+ }
+ MP_TA_ACUM_ITEM_END(" elm_toolbar_item_append", 0);
+ MP_TA_ACUM_ITEM_BEGIN(" elm_toolbar_item_append", 0);
+ if (menu_state->folders)
+ {
+ ad->library->ctltab_folder =
+ elm_toolbar_item_append(obj, MP_CTRBAR_ICON_FOLDER, GET_SYS_STR(STR_MP_FOLDERS), mp_library_view_change_cb, ad);
+ mp_language_mgr_register_object_item(ad->library->ctltab_folder, STR_MP_FOLDERS);
+ }
+ MP_TA_ACUM_ITEM_END(" elm_toolbar_item_append", 0);
mp_setting_menu_set_callback(_mp_library_menu_changed, ad);
}
+/**
+ * load view use for _mp_library_view_change_cb
+ *
+ * @param void *data, Evas_Object* navi_bar
+ * @return FALSE or TRUE if it success create
+ * @author aramie.kim@samsung.com
+ */
+
static bool
_mp_library_load_request_view(void *data, Evas_Object * navi_bar)
{
mp_debug("group name = %s", ad->request_group_name);
mp_group_view_create_by_group_name(navi_bar, ad->request_group_name, ad->request_group_type);
IF_FREE(ad->request_group_name);
+ ad->update_default_view = TRUE;
}
else if (ad->request_play_id > -1)
{
mp_debug("play list id = %d", ad->request_play_id);
mp_playlist_view_create_by_id(navi_bar, ad->request_play_id);
ad->request_play_id = -1;
+ ad->update_default_view = TRUE;
}
else
{
return true;
}
+static Elm_Object_Item *
+_mp_library_get_request_control_item(struct appdata *ad)
+{
+ Elm_Object_Item *select_request_item = NULL;
+
+ if (ad->loadtype == LOAD_DEFAULT)
+ {
+ select_request_item = ad->library->ctltab_songs;
+ }
+ else if (ad->loadtype == LOAD_PLAYLIST)
+ {
+ select_request_item = ad->library->ctltab_plist;
+ }
+ else if (ad->loadtype == LOAD_GROUP)
+ {
+ mp_setting_menu_t menu_state;
+ mp_setting_menu_get_state(&menu_state);
+
+ if (ad->request_group_type == MP_GROUP_BY_ARTIST)
+ {
+ if (menu_state.artists)
+ select_request_item = ad->library->ctltab_artist;
+ }
+ else if (ad->request_group_type == MP_GROUP_BY_ALBUM)
+ {
+ if (menu_state.albums)
+ select_request_item = ad->library->ctltab_album;
+ }
+ else if (ad->request_group_type == MP_GROUP_BY_GENRE)
+ {
+ if (menu_state.genres)
+ select_request_item = ad->library->ctltab_genres;
+ }
+ else if (ad->request_group_type == MP_GROUP_BY_COMPOSER)
+ {
+ if (menu_state.composers)
+ select_request_item = ad->library->ctltab_composer;
+ }
+ else if (ad->request_group_type == MP_GROUP_BY_YEAR)
+ {
+ if (menu_state.years)
+ select_request_item = ad->library->ctltab_year;
+ }
+ else if (ad->request_group_type == MP_GROUP_BY_FOLDER)
+ {
+ if (menu_state.folders)
+ select_request_item = ad->library->ctltab_folder;
+ }
+ else
+ {
+ mp_error("can not support that value");
+ }
+ }
+
+ return select_request_item;
+}
+
+
static void
_mp_library_show_selected_view(struct appdata *ad, const char *label)
{
MP_CHECK(ad);
- MP_CHECK(ad->library);
MP_CHECK(label);
- Evas_Object *navi_bar = NULL;
+ Evas_Object *content = NULL;
view_data_t *view_data = NULL;
+ mp_layout_data_t *layout_data = NULL;
- DEBUG_TRACE("label: %s", label);
+ DEBUG_TRACE("selected view: %s", label);
- if (ad->notify != NULL)
- {
- evas_object_del(ad->notify);
- }
- if (ad->notify_layout != NULL)
- {
- evas_object_del(ad->notify_layout);
- }
+ mp_evas_object_del(ad->notify);
+ mp_evas_object_del(ad->notify_layout);
- ad->notify = NULL;
- ad->notify_layout = NULL;
+ content = elm_object_part_content_unset(ad->controlbar_layout, "elm.swallow.content");
- if (ad->library->cur_view)
+ if (content)
{
+ DEBUG_TRACE("destory previous view");
mp_view_manager_unswallow_info_ug_layout(ad);
- evas_object_del(ad->library->cur_view);
- ad->library->cur_view = NULL;
- mp_view_manager_clear(ad);
+ evas_object_del(content);
+ content = NULL;
}
if (!strcmp(label, GET_STR(STR_MP_ALL_TRACKS)))
{
- navi_bar = mp_track_view_create(ad);
- mp_track_view_update_title_button(navi_bar);
+ MP_TA_ACUM_ITEM_BEGIN(" mp_track_view_create", 0);
+ content = mp_track_view_create(ad);
+ MP_TA_ACUM_ITEM_END(" mp_track_view_create", 0);
+ MP_TA_ACUM_ITEM_BEGIN(" mp_track_view_update_title_button", 0);
+ mp_track_view_update_title_button(ad->naviframe);
+ MP_TA_ACUM_ITEM_END(" mp_track_view_update_title_button", 0);
}
else if (!strcmp(label, GET_STR(STR_MP_ALBUMS)))
{
- navi_bar = mp_group_view_create(ad, MP_VIEW_TYPE_ALBUM);
+ content = mp_group_view_create(ad, MP_VIEW_TYPE_ALBUM);
}
else if (!strcmp(label, GET_STR(STR_MP_ARTISTS)))
{
- navi_bar = mp_group_view_create(ad, MP_VIEW_TYPE_ARTIST);
+ content = mp_group_view_create(ad, MP_VIEW_TYPE_ARTIST);
}
else if (!strcmp(label, GET_STR(STR_MP_GENRES)))
{
- navi_bar = mp_group_view_create(ad, MP_VIEW_TYPE_GENRE);
+ content = mp_group_view_create(ad, MP_VIEW_TYPE_GENRE);
}
else if (!strcmp(label, GET_STR(STR_MP_YEARS)))
{
- navi_bar = mp_group_view_create(ad, MP_VIEW_TYPE_YEAR);
+ content = mp_group_view_create(ad, MP_VIEW_TYPE_YEAR);
}
else if (!strcmp(label, GET_STR(STR_MP_COMPOSERS)))
{
- navi_bar = mp_group_view_create(ad, MP_VIEW_TYPE_COMPOSER);
+ content = mp_group_view_create(ad, MP_VIEW_TYPE_COMPOSER);
}
+ else if (!strcmp(label, GET_SYS_STR(STR_MP_FOLDERS)))
+ {
+ content = mp_group_view_create(ad, MP_VIEW_TYPE_FOLDER);
+ }
+
else if (!strcmp(label, GET_STR(STR_MP_PLAYLISTS)))
{
- navi_bar = mp_playlist_view_create(ad, MP_VIEW_TYPE_PLAYLIST);
+ content = mp_playlist_view_create(ad, MP_VIEW_TYPE_PLAYLIST);
}
else
{
return;
}
+ MP_CHECK(content);
+
+ layout_data = evas_object_data_get(content, "layout_data");
+ MP_CHECK(layout_data);
+
if (strcmp(label, GET_STR(STR_MP_ALL_TRACKS)))
{
ad->b_add_tracks = FALSE;
}
- elm_object_part_content_set(ad->controlbar_layout, "elm.swallow.content", navi_bar);
- ad->library->cur_view = navi_bar;
+ elm_object_part_content_set(ad->controlbar_layout, "elm.swallow.content", content);
+ mp_view_layout_update(content);
- if (!_mp_library_load_request_view(ad, navi_bar))
+ if (!_mp_library_load_request_view(ad, ad->naviframe))
{
DEBUG_TRACE("Update default layout...");
- view_data = (view_data_t *) evas_object_data_get(ad->library->cur_view, "view_data");
+ view_data = (view_data_t *) evas_object_data_get(ad->naviframe, "view_data");
MP_CHECK(view_data);
MP_CHECK_VIEW_DATA(view_data);
- Evas_Object *view_layout = mp_view_manager_get_last_view_layout(ad);
if (view_data->view_type == MP_VIEW_TYPE_PLAYLIST)
{
- mp_layout_data_t *layout_data = evas_object_data_get(view_layout, "layout_data");
- if (layout_data)
- mp_playlist_view_update_navibutton(layout_data);
+ mp_playlist_view_update_navibutton(layout_data);
}
-
- mp_view_layout_update(view_layout);
}
- evas_object_show(navi_bar);
+ evas_object_show(content);
}
-void
-mp_library_view_change_cb(void *data, Evas_Object * obj, void *event_info)
+void mp_library_view_change_cb(void *data, Evas_Object * obj, void *event_info)
{
struct appdata *ad = (struct appdata *)data;
Elm_Object_Item *it;
+ view_data_t *view_data = mp_util_get_view_data(ad);
MP_CHECK(ad);
DEBUG_TRACE_FUNC();
+ if (ad->library->first_append && ad->launch_type == MP_LAUNCH_ADD_TO_HOME) {
+ WARN_TRACE("add to home.. first view change");
+ ad->library->first_append = false;
+ return;
+ }
+
+ if(mp_view_manager_count_view_content(view_data) > 1)
+ {
+ DEBUG_TRACE("pop to first view");
+ mp_view_manager_pop_view_content(view_data, true, true);
+ }
it = elm_toolbar_selected_item_get(obj);
mp_retm_if(it == NULL, "tab item is NULL");
const char *label = elm_object_item_text_get(it);
}
-static Elm_Object_Item *
-_mp_library_get_request_control_item(struct appdata *ad)
-{
- Elm_Object_Item *select_request_item = NULL;
-
- if (ad->loadtype == LOAD_DEFAULT)
- {
- select_request_item = ad->library->ctltab_songs;
- }
- else if (ad->loadtype == LOAD_PLAYLIST)
- {
- select_request_item = ad->library->ctltab_plist;
- }
- else if (ad->loadtype == LOAD_GROUP)
- {
- mp_setting_menu_t menu_state;
- mp_setting_menu_get_state(&menu_state);
-
- if (ad->request_group_type == AUDIO_SVC_GROUP_BY_ARTIST)
- {
- if (menu_state.artists)
- select_request_item = ad->library->ctltab_artist;
- }
- else if (ad->request_group_type == AUDIO_SVC_GROUP_BY_ALBUM)
- {
- if (menu_state.albums)
- select_request_item = ad->library->ctltab_album;
- }
- else if (ad->request_group_type == AUDIO_SVC_GROUP_BY_GENRE)
- {
- if (menu_state.genres)
- select_request_item = ad->library->ctltab_genres;
- }
- else if (ad->request_group_type == AUDIO_SVC_GROUP_BY_COMPOSER)
- {
- if (menu_state.composers)
- select_request_item = ad->library->ctltab_composer;
- }
- else if (ad->request_group_type == AUDIO_SVC_GROUP_BY_YEAR)
- {
- if (menu_state.years)
- select_request_item = ad->library->ctltab_year;
- }
- else
- {
- mp_error("can not support that value");
- }
- }
-
- return select_request_item;
-}
-
static bool
_mp_library_check_request_item(struct appdata *ad)
{
char *popup_text = NULL;
int count = -1;
- int ret = AUDIO_SVC_ERROR_NONE;
+ int ret = 0;
MP_CHECK_FALSE(ad);
if (!ad->request_group_name && ad->request_play_id > -1)
{
- char plst_name[AUDIO_SVC_PLAYLIST_NAME_SIZE] = "";
- ret = audio_svc_get_playlist_name_by_playlist_id(ad->media_svc_handle, ad->request_play_id, plst_name,
- AUDIO_SVC_PLAYLIST_NAME_SIZE);
+ int i = 0;
+ mp_media_list_h list = NULL;
+
+ ret = mp_media_info_group_list_count(MP_GROUP_BY_PLAYLIST, NULL, NULL, &count);
+ MP_CHECK_FALSE(ret == 0);
+
+ ret = mp_media_info_group_list_create(&list, MP_GROUP_BY_PLAYLIST, NULL, NULL, 0, count);
+ MP_CHECK_FALSE(ret == 0);
+
+ for(i=0; i<count; i++)
+ {
+ int playlist_id;
+ mp_media_info_h media = NULL;
+ media = mp_media_info_group_list_nth_item(list, i);
+ mp_media_info_group_get_playlist_id(media, &playlist_id);
+ if(playlist_id == ad->request_play_id)
+ {
+ break;
+ }
+ }
- if (!(ret == AUDIO_SVC_ERROR_NONE && g_strcmp0(plst_name, "")))
+ if (i == count)
{
IF_FREE(ad->request_group_name);
ad->request_play_id = -1;
mp_error("removed play list");
- popup_text = g_strdup_printf(GET_STR("IDS_MUSIC_BODY_NO_PLAYLISTS"));
+ popup_text = g_strdup(GET_STR("IDS_MUSIC_BODY_NO_PLAYLISTS"));
}
}
else if (ad->request_group_name)
{
- audio_svc_track_type_e list_type = AUDIO_SVC_TRACK_ALL;
+ mp_track_type_e list_type = MP_TRACK_ALL;
switch (ad->request_group_type)
{
- case AUDIO_SVC_GROUP_BY_ALBUM:
+ case MP_GROUP_BY_ALBUM:
DEBUG_TRACE("create album detail view");
- list_type = AUDIO_SVC_TRACK_BY_ALBUM;
+ list_type = MP_TRACK_BY_ALBUM;
break;
- case AUDIO_SVC_GROUP_BY_ARTIST:
+ case MP_GROUP_BY_ARTIST:
DEBUG_TRACE("create artist detail view");
- list_type = AUDIO_SVC_TRACK_BY_ARTIST;
+ list_type = MP_TRACK_BY_ARTIST;
break;
- case AUDIO_SVC_GROUP_BY_GENRE:
+ case MP_GROUP_BY_GENRE:
DEBUG_TRACE("create genre detail view");
- list_type = AUDIO_SVC_TRACK_BY_GENRE;
+ list_type = MP_TRACK_BY_GENRE;
break;
- case AUDIO_SVC_GROUP_BY_YEAR:
+ case MP_GROUP_BY_YEAR:
DEBUG_TRACE("create year detail view");
- list_type = AUDIO_SVC_TRACK_BY_YEAR;
+ list_type = MP_TRACK_BY_YEAR;
break;
- case AUDIO_SVC_GROUP_BY_COMPOSER:
+ case MP_GROUP_BY_COMPOSER:
DEBUG_TRACE("create composer detail view");
- list_type = AUDIO_SVC_TRACK_BY_COMPOSER;
+ list_type = MP_TRACK_BY_COMPOSER;
+ break;
+ case MP_GROUP_BY_FOLDER:
+ DEBUG_TRACE("create folder detail view");
+ list_type = MP_TRACK_BY_FOLDER;
break;
default:
break;
}
- ret = audio_svc_count_list_item(ad->media_svc_handle, list_type, ad->request_group_name, NULL, NULL, NULL, &count);
-
+ ret = mp_media_info_list_count(list_type, ad->request_group_name, NULL, NULL, 0, &count);
mp_debug("group cout %d", count);
- if (!(ret == AUDIO_SVC_ERROR_NONE && count > 0))
+ if (!(ret == 0 && count > 0))
{
mp_error("removed group");
char *fmt = GET_STR("IDS_MUSIC_POP_PS_REMOVED");
{
mp_error("removed file");
IF_FREE(ad->request_playing_path);
- popup_text = g_strdup(GET_SYS_STR("IDS_COM_POP_FILE_NOT_EXIST"));
+ popup_text = g_strdup_printf(GET_SYS_STR("IDS_COM_POP_FILE_NOT_EXIST"));
}
}
if (popup_text)
{
mp_widget_text_popup(ad, popup_text);
- IF_FREE(popup_text);
+ free(popup_text);
return false;
}
{
MP_CHECK_NULL(ad);
char *label = NULL;
- if (ad->request_group_type == AUDIO_SVC_GROUP_BY_ARTIST)
+ if (ad->request_group_type == MP_GROUP_BY_ARTIST)
{
label = GET_STR(STR_MP_ARTISTS);
}
- else if (ad->request_group_type == AUDIO_SVC_GROUP_BY_ALBUM)
+ else if (ad->request_group_type == MP_GROUP_BY_ALBUM)
{
label = GET_STR(STR_MP_ALBUMS);
}
- else if (ad->request_group_type == AUDIO_SVC_GROUP_BY_GENRE)
+ else if (ad->request_group_type == MP_GROUP_BY_GENRE)
{
label = GET_STR(STR_MP_GENRES);
}
- else if (ad->request_group_type == AUDIO_SVC_GROUP_BY_COMPOSER)
+ else if (ad->request_group_type == MP_GROUP_BY_COMPOSER)
{
label = GET_STR(STR_MP_COMPOSERS);
}
- else if (ad->request_group_type == AUDIO_SVC_GROUP_BY_YEAR)
+ else if (ad->request_group_type == MP_GROUP_BY_YEAR)
{
label = GET_STR(STR_MP_YEARS);
}
+ else if (ad->request_group_type == MP_GROUP_BY_FOLDER)
+ {
+ label = GET_SYS_STR(STR_MP_FOLDERS);
+ }
else
{
mp_error("can not support that value");
return label;
}
+/**
+ * load library use for add to home case
+ *
+ * @param struct appdata *ad, char *path, int fid
+ * @return FALSE or TRUE if it success create
+ * @author aramie.kim@samsung.com
+ */
+
bool
mp_library_load(struct appdata * ad)
{
}
else
{
+ //Select current tab
Elm_Object_Item *selected_item = NULL;
Elm_Object_Item *select_request_item = NULL;
- if (!ad->ctrl_bar)
- _mp_library_create_control_bar(ad);
+ if (!ad->tabbar)
+ _mp_library_create_tabbar(ad);
else
- selected_item = elm_toolbar_selected_item_get(ad->ctrl_bar);
+ selected_item = elm_toolbar_selected_item_get(ad->tabbar);
select_request_item = _mp_library_get_request_control_item(ad);
{
view_data_t *view_data = NULL;
- if (ad->library->cur_view)
+ if (ad->naviframe)
{
- view_data = evas_object_data_get(ad->library->cur_view, "view_data");
+ //clear all item
+ view_data = evas_object_data_get(ad->naviframe, "view_data");
MP_CHECK_FALSE(view_data);
MP_CHECK_VIEW_DATA(view_data);
mp_view_manager_pop_view_content(view_data, TRUE, TRUE);
- _mp_library_load_request_view(ad, ad->library->cur_view);
+ _mp_library_load_request_view(ad, ad->naviframe);
}
else
mp_error("invalid cur_view");
{
char *label = _mp_library_get_control_tab_label(ad);
MP_CHECK_FALSE(label);
- _mp_library_show_selected_view(ad, label);
+ elm_toolbar_item_selected_set(ad->library->ctltab_songs, EINA_TRUE);
}
else
ERROR_TRACE("It shouldn't be here..");
{
startfunc;
+ Evas_Object *tabbar = NULL;
+ view_data_t *view_data = NULL;
+
+ //init
_mp_library_init(ad);
+ //create layout_main
+ MP_TA_ACUM_ITEM_BEGIN(" _mp_library_create_layout_main", 0);
ad->base_layout_main = _mp_library_create_layout_main(ad->win_main);
mp_retm_if(ad->base_layout_main == NULL, "library view layout is not initialized");
+ MP_TA_ACUM_ITEM_END(" _mp_library_create_layout_main", 0);
- ad->controlbar_layout = mp_common_load_edj(ad->base_layout_main, EDJ_NAME, "control_layout");
+ ad->naviframe = mp_widget_navigation_new(ad->base_layout_main, ad);
+
+ view_data = calloc(sizeof(view_data_t), 1);
+ MP_SET_VIEW_DATA_MAGIC(view_data);
+ view_data->ad = ad;
+ view_data->navibar = ad->naviframe;
+
+ evas_object_data_set(ad->naviframe, "view_data", view_data);
+
+ MP_TA_ACUM_ITEM_BEGIN(" elm_layout_add", 0);
+ ad->controlbar_layout = elm_layout_add(ad->base_layout_main);
MP_CHECK(ad->controlbar_layout);
- mp_library_controlbar_visible_set(ad, true);
+ elm_layout_theme_set(ad->controlbar_layout, "layout", "tabbar", "default");
+ MP_TA_ACUM_ITEM_END(" elm_layout_add", 0);
- elm_object_part_content_set(ad->base_layout_main, "elm.swallow.content", ad->controlbar_layout);
+ mp_view_manager_push_view_content(view_data, ad->controlbar_layout, MP_VIEW_CONTENT_LIST);
- _mp_library_create_control_bar(ad);
+ elm_object_part_content_set(ad->base_layout_main, "elm.swallow.content", ad->naviframe);
+
+ //create control tab
+ MP_TA_ACUM_ITEM_BEGIN(" _mp_library_create_tabbar", 0);
+ tabbar = _mp_library_create_tabbar(ad);
+ elm_object_part_content_set(ad->controlbar_layout, "elm.swallow.tabbar", tabbar);
+ MP_TA_ACUM_ITEM_END(" _mp_library_create_tabbar", 0);
if(ad->loadtype == LOAD_TRACK)
{
}
Elm_Object_Item *reqeust_item = _mp_library_get_request_control_item(ad);
+
+ //select tabbar item
if (reqeust_item)
{
+ MP_TA_ACUM_ITEM_BEGIN(" elm_toolbar_item_selected_set", 0);
elm_toolbar_item_selected_set(reqeust_item, EINA_TRUE);
+ MP_TA_ACUM_ITEM_END(" elm_toolbar_item_selected_set", 0);
}
else
{
mp_library_update_view(struct appdata *ad)
{
MP_CHECK(ad);
- MP_CHECK(ad->library);
- Evas_Object *cur_view = ad->library->cur_view;
- MP_CHECK(ad->library->cur_view);
+ MP_CHECK(ad->naviframe);
- view_data_t *cur_view_data = evas_object_data_get(cur_view, "view_data");
+ view_data_t *cur_view_data = evas_object_data_get(ad->naviframe, "view_data");
MP_CHECK(cur_view_data);
MP_CHECK_VIEW_DATA(cur_view_data);
if (ad->show_now_playing)
{
ad->show_now_playing = FALSE;
- view_data_t *view_data = (view_data_t *) evas_object_data_get(ad->library->cur_view, "view_data");
+ view_data_t *view_data = (view_data_t *) evas_object_data_get(ad->naviframe, "view_data");
MP_CHECK(view_data);
MP_CHECK_VIEW_DATA(view_data);
void
mp_library_now_playing_set(struct appdata *ad)
{
- view_data_t *view_data = (view_data_t *) evas_object_data_get(ad->library->cur_view, "view_data");
+ view_data_t *view_data = (view_data_t *) evas_object_data_get(ad->naviframe, "view_data");
MP_CHECK(view_data);
MP_CHECK_VIEW_DATA(view_data);
mp_view_manager_set_now_playing(view_data, TRUE);
}
-void
-mp_library_controlbar_visible_set(struct appdata *ad, bool visible)
-{
- MP_CHECK(ad);
- if(visible)
- edje_object_signal_emit(_EDJ(ad->controlbar_layout), "show.control", "music_app");
- else
- edje_object_signal_emit(_EDJ(ad->controlbar_layout), "hide.control", "music_app");
-}