From 95ec5bfcb8c52ecc651e4947ea74dfbd2cf715c0 Mon Sep 17 00:00:00 2001 From: "gliang.wang" Date: Mon, 3 Sep 2012 14:32:16 +0800 Subject: [SR] merge to the lastest version --- packaging/ug-myfile-efl.spec | 2 +- po/POTFILES.in | 0 po/ug-myfile-efl.pot | 0 po/update-po.sh | 0 src/common/mf-ug-cb.c | 4 +- src/common/mf-ug-list-play.c | 188 +++++++++++++++++++++++++++++++++++------- src/include/mf-ug-conf.h | 1 + src/include/mf-ug-dlog.h | 5 ++ src/include/mf-ug-list-play.h | 2 + src/include/mf-ug-main.h | 2 + src/include/mf-ug-resource.h | 4 + src/mf-ug-main.c | 5 ++ src/widget/mf-ug-genlist.c | 10 +-- src/widget/mf-ug-popup.c | 2 +- ug-myfile-efl.xml | 2 +- 15 files changed, 182 insertions(+), 45 deletions(-) mode change 100755 => 100644 po/POTFILES.in mode change 100755 => 100644 po/ug-myfile-efl.pot mode change 100755 => 100644 po/update-po.sh diff --git a/packaging/ug-myfile-efl.spec b/packaging/ug-myfile-efl.spec index 4e75f99..b924048 100644 --- a/packaging/ug-myfile-efl.spec +++ b/packaging/ug-myfile-efl.spec @@ -1,7 +1,7 @@ #sbs-git:slp/pkgs/u/ug-myfile-efl ug-myfile-efl 0.0.1 1b44640a2e59d1af1ab0792e39a73bf3680b25c9 Name: ug-myfile-efl Summary: Myfile UI Gadget (EFL) -Version: 0.0.23 +Version: 0.0.24 Release: 1 Group: misc License: flora diff --git a/po/POTFILES.in b/po/POTFILES.in old mode 100755 new mode 100644 diff --git a/po/ug-myfile-efl.pot b/po/ug-myfile-efl.pot old mode 100755 new mode 100644 diff --git a/po/update-po.sh b/po/update-po.sh old mode 100755 new mode 100644 diff --git a/src/common/mf-ug-cb.c b/src/common/mf-ug-cb.c index 0f218b4..f59daa1 100644 --- a/src/common/mf-ug-cb.c +++ b/src/common/mf-ug-cb.c @@ -101,7 +101,7 @@ void mf_ug_cb_back_button_cb(void *data, Evas_Object *obj, void *event_info) free(pNavi_s->ug_pCurrentPath); pNavi_s->ug_pCurrentPath = NULL; } - pNavi_s->ug_pCurrentPath = strdup(UG_SETTING_RINGTONE_PATH); + pNavi_s->ug_pCurrentPath = strdup(ugd->ug_Status.ug_pEntryPath); pNavi_s->ug_bNaviFlagInUse = true; pNavi_toshow = pNavi_s; } else { @@ -132,7 +132,7 @@ void mf_ug_cb_back_button_cb(void *data, Evas_Object *obj, void *event_info) ugd->ug_Status.ug_pPath = NULL; } - pNavi_toshow->ug_pCurrentPath = strdup(UG_SETTING_RINGTONE_PATH); + pNavi_toshow->ug_pCurrentPath = strdup(ugd->ug_Status.ug_pEntryPath); ugd->ug_Status.ug_pPath = g_string_new(pNavi_toshow->ug_pCurrentPath); title = mf_ug_fm_svc_wapper_get_file_name(ugd->ug_Status.ug_pPath); diff --git a/src/common/mf-ug-list-play.c b/src/common/mf-ug-list-play.c index 9f0b8bd..0282e86 100644 --- a/src/common/mf-ug-list-play.c +++ b/src/common/mf-ug-list-play.c @@ -40,6 +40,7 @@ static mf_player_cbs *g_player_cbs = NULL; static Ecore_Pipe *g_player_pipe = NULL; static void __mf_ug_list_play_control_cb(void *data); +static bool __mf_ug_list_play_play_current_file(void *data); /****************************** ** Prototype : __mf_ug_list_play_init_data @@ -455,6 +456,7 @@ static void __mf_ug_list_play_set_play_pause_status(ugData *data) ******************************/ static void __mf_player_mgr_callback_pipe_handler(void *data, void *buffer, unsigned int nbyte) { + UG_TRACE_BEGIN; mf_player_cb_extra_data *extra_data = buffer; ug_mf_retm_if(extra_data == NULL, "NULL"); ug_mf_retm_if(g_player_cbs == NULL, "NULL"); @@ -489,6 +491,10 @@ static void __mf_player_mgr_callback_pipe_handler(void *data, void *buffer, unsi if (g_player_cbs->buffering_cb) g_player_cbs->buffering_cb(extra_data->param.percent ,g_player_cbs->user_data[MF_PLAYER_CB_TYPE_BUFFERING]); break; + case MF_PLAYER_CB_TYPE_PREPARE: + if (g_player_cbs->prepare_cb) + g_player_cbs->prepare_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PREPARE]); + break; default: ug_debug("Not suppoted callback type [%d]", extra_data->cb_type); @@ -497,6 +503,7 @@ static void __mf_player_mgr_callback_pipe_handler(void *data, void *buffer, unsi void *__mf_ug_list_play_mgr_start_cb(void *data) { + UG_TRACE_BEGIN; MF_CHECK(g_player_pipe); mf_player_cb_extra_data extra_data; @@ -509,6 +516,7 @@ void *__mf_ug_list_play_mgr_start_cb(void *data) static void __mf_ug_list_play_mgr_paused_cb(void *userdata) { + UG_TRACE_BEGIN; MF_CHECK(g_player_pipe); mf_player_cb_extra_data extra_data; @@ -520,6 +528,7 @@ __mf_ug_list_play_mgr_paused_cb(void *userdata) static void __mf_ug_list_play_mgr_completed_cb(void *userdata) { + UG_TRACE_BEGIN; MF_CHECK(g_player_pipe); mf_player_cb_extra_data extra_data; @@ -531,6 +540,7 @@ __mf_ug_list_play_mgr_completed_cb(void *userdata) static void __mf_ug_list_play_mgr_interrupted_cb(player_interrupted_code_e code, void *userdata) { + UG_TRACE_BEGIN; MF_CHECK(g_player_pipe); mf_player_cb_extra_data extra_data; @@ -544,6 +554,7 @@ __mf_ug_list_play_mgr_interrupted_cb(player_interrupted_code_e code, void *userd static void __mf_ug_list_play_mgr_error_cb(int error_code, void *userdata) { + UG_TRACE_BEGIN; MF_CHECK(g_player_pipe); mf_player_cb_extra_data extra_data; @@ -556,6 +567,7 @@ __mf_ug_list_play_mgr_error_cb(int error_code, void *userdata) static void __mf_ug_list_play_mgr_buffering_cb(int percent, void *userdata) { + UG_TRACE_BEGIN; MF_CHECK(g_player_pipe); mf_player_cb_extra_data extra_data; @@ -646,7 +658,7 @@ static bool __mf_ug_list_play_create_player_mgr(void *data, const char *path) ** Modification : Created function ** ******************************/ -static void __mf_ug_list_play_start_cb(void *data) +static void __mf_ug_list_play_start(void *data) { UG_TRACE_BEGIN; ugListItemData *itemData = (ugListItemData *)data; @@ -671,7 +683,7 @@ static void __mf_ug_list_play_start_cb(void *data) UG_TRACE_END; } -static void __mf_ug_list_play_pauset_cb(void *data) +static void __mf_ug_list_play_pauset(void *data) { UG_TRACE_BEGIN; @@ -702,8 +714,11 @@ static void __mf_ug_list_play_complete_cb(void *data) static void __mf_ug_list_play_interrupt_cb(player_interrupted_code_e code, void *data) { UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ugListItemData *itemData = data; + ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); + + ugData *ugd = (ugData *)itemData->ug_pData; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); switch (code) { case PLAYER_INTERRUPTED_BY_OTHER_APP: ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_OTHER_APP"); @@ -726,7 +741,7 @@ static void __mf_ug_list_play_interrupt_cb(player_interrupted_code_e code, void ug_debug("ugd->ug_ListPlay.ug_iPlayState is [%d]", ugd->ug_ListPlay.ug_iPlayState); if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { ug_debug(); - __mf_ug_list_play_control_cb(ugd); + __mf_ug_list_play_control_cb(itemData); } return; default: @@ -738,6 +753,14 @@ static void __mf_ug_list_play_interrupt_cb(player_interrupted_code_e code, void } +static void +__mf_list_play_control_prepare_cb(void *userdata) +{ + UG_TRACE_BEGIN; + + __mf_ug_list_play_play_current_file(userdata); +} + static bool __mf_ug_list_play_set_player_mgr_msg_cb(gpointer user_data) { @@ -750,10 +773,10 @@ static bool __mf_ug_list_play_set_player_mgr_msg_cb(gpointer user_data) ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); if (ugd->ug_ListPlay.ug_Player != 0) { - player_set_started_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_start_cb, itemData); - player_set_paused_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_pauset_cb, ugd); + //player_set_started_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_start_cb, itemData); + //player_set_paused_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_pauset_cb, ugd); player_set_completed_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_complete_cb, ugd); - player_set_interrupted_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_interrupt_cb, ugd); + player_set_interrupted_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_interrupt_cb, itemData); UG_TRACE_END; return true; } @@ -777,6 +800,19 @@ static bool __mf_ug_list_play_set_player_mgr_msg_cb(gpointer user_data) ** Modification : Created function ** ******************************/ +static void +__mf_ug_list_play_prepare_cb(void *userdata) +{ + UG_TRACE_BEGIN; + MF_CHECK(g_player_pipe); + + mf_player_cb_extra_data extra_data; + memset(&extra_data, 0, sizeof(mf_player_cb_extra_data)); + extra_data.cb_type = MF_PLAYER_CB_TYPE_PREPARE; + + ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data)); +} + static bool __mf_ug_list_play_realize_player_mgr(void *data) { UG_TRACE_BEGIN; @@ -792,14 +828,17 @@ static bool __mf_ug_list_play_realize_player_mgr(void *data) ug_debug("state is [%d]", state); if (0 == error_code && PLAYER_STATE_IDLE == state) { - if (player_prepare(ugd->ug_ListPlay.ug_Player) != 0) { - ug_debug("Error when _mp_player_mgr_realize\n"); + ug_debug("player_prepare_async"); + if (player_prepare_async(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_prepare_cb, ugd) != PLAYER_ERROR_NONE) + { + ug_debug("Error when mp_player_mgr_realize\n"); UG_TRACE_END; - return false; + return FALSE; } else { - UG_TRACE_END; return true; } + //ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_READY; + } else { UG_TRACE_END; return false; @@ -878,6 +917,60 @@ void mf_player_mgr_set_buffering_cb(player_buffering_cb callback, void *user_da g_player_cbs->user_data[MF_PLAYER_CB_TYPE_BUFFERING] = user_data; } +void mf_player_mgr_set_prepare_cb(player_prepared_cb callback, void *user_data) +{ + MF_CHECK(g_player_cbs); + + g_player_cbs->prepare_cb = callback; + g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PREPARE] = user_data; +} + +static Eina_Bool __mf_play_control_error(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.playing_err_idler = NULL; + return EINA_FALSE; +} + +static void __mf_play_control_error_cb(int error_code, void *userdata) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)userdata; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + switch (error_code) + { + case PLAYER_ERROR_OUT_OF_MEMORY: + ug_error("PLAYER_ERROR_OUT_OF_MEMORY"); + break; + case PLAYER_ERROR_INVALID_PARAMETER: + ug_error("PLAYER_ERROR_INVALID_PARAMETER"); + //mp_widget_text_popup(ad, GET_STR("IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED")); + break; + case PLAYER_ERROR_NOT_SUPPORTED_FILE: //can receive error msg while playing. + ug_error("receive MM_ERROR_PLAYER_CODEC_NOT_FOUND\n"); + mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNSUPPORT_FILE_TYPE, NULL, NULL, NULL, NULL, NULL); + break; + case PLAYER_ERROR_CONNECTION_FAILED: + ug_error("MM_ERROR_PLAYER_STREAMING_CONNECTION_FAIL"); + + mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_CONNECT_FAILED, NULL, NULL, NULL, NULL, NULL); + break; + default: + mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNSUPPORT_FILE_TYPE, NULL, NULL, NULL, NULL, NULL); + ug_error("error_code: %d", error_code); + } + + if(!ugd->ug_ListPlay.playing_err_idler) { + ugd->ug_ListPlay.playing_err_idler = ecore_idler_add(__mf_play_control_error, ugd); + } +} + + static bool __mf_ug_list_play_ready_new_file_play(void *data, bool drm_check_flag) { @@ -921,9 +1014,10 @@ static bool __mf_ug_list_play_ready_new_file_play(void *data, bool drm_check_fla } if (!__mf_ug_list_play_create_player_mgr(ugd, path)) { - ug_debug(); free(path); path = NULL; + ug_error("ERROR HERE !!!!!!!"); + mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_ERROR_OCCUR, NULL, NULL, NULL, NULL, NULL); UG_TRACE_END; return false; } @@ -936,16 +1030,19 @@ static bool __mf_ug_list_play_ready_new_file_play(void *data, bool drm_check_fla return false; } #endif - mf_player_mgr_set_started_cb(__mf_ug_list_play_start_cb, itemData); - mf_player_mgr_set_paused_cb(__mf_ug_list_play_pauset_cb, ugd); + //mf_player_mgr_set_started_cb(__mf_ug_list_play_start_cb, itemData); + //mf_player_mgr_set_paused_cb(__mf_ug_list_play_pauset_cb, ugd); mf_player_mgr_set_completed_cb(__mf_ug_list_play_complete_cb, ugd); mf_player_mgr_set_interrupted_cb(__mf_ug_list_play_interrupt_cb, ugd); - //mf_player_mgr_set_error_cb(_mp_play_control_error_cb, ad); + mf_player_mgr_set_prepare_cb(__mf_list_play_control_prepare_cb, itemData); + mf_player_mgr_set_error_cb(__mf_play_control_error_cb, ugd); //mf_player_mgr_set_buffering_cb(_mp_play_control_buffering_cb, ad); if (!__mf_ug_list_play_realize_player_mgr(ugd)) { free(path); path = NULL; + ug_error("ERROR HERE !!!!!!!"); + mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_ERROR_OCCUR, NULL, NULL, NULL, NULL, NULL); UG_TRACE_END; return false; } @@ -979,8 +1076,10 @@ static bool __mf_ug_list_play_play(void *data) { UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + ugListItemData *itemData = data; + ug_mf_retm_if(itemData == NULL, "itemData is NULL"); + ugData *ugd = itemData->ug_pData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); int err = 0; int error_code = 0; @@ -996,18 +1095,21 @@ static bool __mf_ug_list_play_play(void *data) if (err == PLAYER_ERROR_SOUND_POLICY) { + ug_error("PLAYER_ERROR_SOUND_POLICY error"); mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL, NULL, NULL, NULL, NULL, NULL); } else { + ug_error("error is [%d]", err); mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, NULL, NULL, NULL, NULL); } - ug_debug("Error when _mp_player_mgr_play. err[%x]\n", err); + ug_error("Error when _mp_player_mgr_play. err[%x]\n", err); UG_TRACE_END; return false; } else { + __mf_ug_list_play_start(itemData); UG_TRACE_END; return true; } @@ -1167,12 +1269,15 @@ static bool __mf_ug_list_play_destory(ugData *data) ** Modification : Created function ** ******************************/ -static bool __mf_ug_list_play_play_current_file(ugData *data) +static bool __mf_ug_list_play_play_current_file(void *data) { UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + ugListItemData *itemData = data; + ug_mf_retm_if(itemData == NULL, "itemData is NULL"); + ugData *ugd = itemData->ug_pData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + int error_code = 0; player_state_e state = PLAYER_STATE_NONE; @@ -1182,11 +1287,12 @@ static bool __mf_ug_list_play_play_current_file(ugData *data) UG_TRACE_END; return false; } - if (!__mf_ug_list_play_play(ugd)) { + if (!__mf_ug_list_play_play(itemData)) { mf_ug_list_play_destory_playing_file(ugd); UG_TRACE_END; return false; } + return true; } @@ -1222,8 +1328,22 @@ static bool __mf_ug_list_play_resume(void *data) if (0 == error_code && PLAYER_STATE_PAUSED == state) { err = player_start(ugd->ug_ListPlay.ug_Player); - if (err != 0) { - ug_debug("Error when _ug_player_mgr_resume. err[%x]\n", err); + + if (err != PLAYER_ERROR_NONE) { + + if (err == PLAYER_ERROR_SOUND_POLICY) + { + ug_error("ERROR HERE !!!!!!!"); + mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL, NULL, + NULL, NULL, NULL, NULL); + } + else + { + ug_error("ERROR HERE !!!!!!!"); + mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, + NULL, NULL, NULL, NULL); + } + ug_error("Error when _mp_player_mgr_play. err[%x]\n", err); UG_TRACE_END; return false; } else { @@ -1311,16 +1431,22 @@ static bool __mf_ug_list_play_pause(void *data) static void __mf_ug_list_play_control_cb(void *data) { UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; + ugListItemData *itemData = data; + ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ugData *ugd = (ugData *)itemData->ug_pData; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); int state = ugd->ug_ListPlay.ug_iPlayState; if (state == PLAY_STATE_PLAYING) { - __mf_ug_list_play_pause(ugd); + if(__mf_ug_list_play_pause(ugd)) { + __mf_ug_list_play_pauset(ugd); + } } else { - __mf_ug_list_play_resume(ugd); + if(__mf_ug_list_play_resume(ugd)) { + __mf_ug_list_play_start(itemData); + } } UG_TRACE_END; @@ -1342,7 +1468,7 @@ static bool __mf_ug_list_play_play_new_file(ugListItemData *data, bool drm_check return false; } - if (!__mf_ug_list_play_play_current_file(ugd)) { + if (!__mf_ug_list_play_play_current_file(itemData)) { UG_TRACE_END; return false; } @@ -1396,7 +1522,7 @@ void mf_ug_list_play_play_music_item(ugListItemData *data) } else { ug_debug(); /*/ playing the same file */ - __mf_ug_list_play_control_cb(ugd); + __mf_ug_list_play_control_cb(itemData); } } else { ug_debug(); diff --git a/src/include/mf-ug-conf.h b/src/include/mf-ug-conf.h index d97807d..8dc35c0 100644 --- a/src/include/mf-ug-conf.h +++ b/src/include/mf-ug-conf.h @@ -50,6 +50,7 @@ #define UG_SELECT_MODE_SINGLE_FILE "SINGLE_FILE" #define UG_SELECT_MODE_IMPORT "IMPORT" #define UG_SELECT_MODE_EXPORT "EXPORT" +#define UG_SELECT_MODE_SHORTCUT "SHORTCUT" #define UG_FILE_FILTER_IMAGE "IMAGE" #define UG_FILE_FILTER_SOUND "SOUND" diff --git a/src/include/mf-ug-dlog.h b/src/include/mf-ug-dlog.h index 127db45..f781bea 100644 --- a/src/include/mf-ug-dlog.h +++ b/src/include/mf-ug-dlog.h @@ -37,6 +37,9 @@ #if DLOG_ON +#define LOG_COLOR_RED "\033[31m" +#define LOG_COLOR_RESET "\033[0m" + #define ug_debug(fmt , args...) LOGD("[%s][%d]debug message from ug-myfile-efl is : "fmt"\n", __func__, __LINE__, ##args) #define ug_myfile_dlog(fmt , args...) LOGD("[%s][%d]debug message from myfile is : "fmt"\n", __func__, __LINE__, ##args) #define UG_TRACE_BEGIN do {\ @@ -52,6 +55,8 @@ __FUNCTION__, (char *)(strrchr(__FILE__, '/') + 1), __LINE__);\ } \ } while (0); +#define ug_error(fmt, arg...) LOGE(LOG_COLOR_RED"[ %s : %d] "fmt""LOG_COLOR_RESET, __FUNCTION__, __LINE__,##arg) + #else #define ug_myfile_dlog(fmt , args...) printf("[MYFILE][%40s:%4d] "fmt"\n", __func__, __LINE__, ##args) diff --git a/src/include/mf-ug-list-play.h b/src/include/mf-ug-list-play.h index 806089c..17dcc1c 100644 --- a/src/include/mf-ug-list-play.h +++ b/src/include/mf-ug-list-play.h @@ -10,6 +10,7 @@ typedef enum { MF_PLAYER_CB_TYPE_INTURRUPTED, MF_PLAYER_CB_TYPE_ERROR, MF_PLAYER_CB_TYPE_BUFFERING, + MF_PLAYER_CB_TYPE_PREPARE, MF_PLAYER_CB_TYPE_NUM, } mf_player_cb_type; @@ -22,6 +23,7 @@ struct __mf_player_cbs{ player_interrupted_cb interrupted_cb; player_error_cb error_cb; player_buffering_cb buffering_cb; + player_prepared_cb prepare_cb; /* callback user data */ void *user_data[MF_PLAYER_CB_TYPE_NUM]; diff --git a/src/include/mf-ug-main.h b/src/include/mf-ug-main.h index 8a3b172..88897c8 100644 --- a/src/include/mf-ug-main.h +++ b/src/include/mf-ug-main.h @@ -117,6 +117,7 @@ struct _ugStatus { bool ug_b_NaviPushFlag; int ug_iThemeType; char *ug_pUpper_folder; + char *ug_pEntryPath; bool ug_bUpperFlag; Elm_Genlist_Item_Class ug_itc; Elm_Genlist_Item_Class ug_topitc; @@ -176,6 +177,7 @@ struct _ugListPlay { bool ug_bDrmContentCanPlay; bool ug_bDrmconsumption; ugDrmInfo ug_DrmInfo; + Ecore_Idler *playing_err_idler; }; diff --git a/src/include/mf-ug-resource.h b/src/include/mf-ug-resource.h index 35cebe1..8da711e 100644 --- a/src/include/mf-ug-resource.h +++ b/src/include/mf-ug-resource.h @@ -69,5 +69,9 @@ #define MF_UG_LABEL_EMPTY_FOLDER_NAME "Folder name can't be empty, Retry!" #define MF_UG_LABEL_SELECT_ALL dgettext("sys_string", "IDS_COM_BODY_SELECT_ALL") +#define MF_UG_LABEL_UNSUPPORT_FILE_TYPE "Unable to play. Unsupported file type" +#define MF_UG_LABEL_CONNECT_FAILED dgettext("sys_string", "IDS_COM_POP_CONNECTION_FAILED") +#define MF_UG_LABEL_ERROR_OCCUR "Unable to play. Error occurred" +#define MF_UG_LABEL_GO_TO_MYFILES "Go to My Files" #endif diff --git a/src/mf-ug-main.c b/src/mf-ug-main.c index a415596..29b8c3e 100644 --- a/src/mf-ug-main.c +++ b/src/mf-ug-main.c @@ -131,6 +131,10 @@ static void __mf_ug_main_free_data(void *data) free(ugd->ug_Status.ug_pUpper_folder); ugd->ug_Status.ug_pUpper_folder = NULL; } + if (ugd->ug_Status.ug_pEntryPath) { + free(ugd->ug_Status.ug_pEntryPath); + ugd->ug_Status.ug_pEntryPath = NULL; + } UG_TRACE_END; @@ -323,6 +327,7 @@ static int __mf_ug_main_set_path_option(void *data, const char *path) } ugd->ug_Status.ug_bInSettingView = true; ugd->ug_Status.ug_bSettingEntry = true; + ugd->ug_Status.ug_pEntryPath = g_strdup(path); } else if (strlen(path) == 1 && strncmp(path, "/", 1)) { /**chech the path whether is "/" */ entry_path = strdup(PHONE_FOLDER); diff --git a/src/widget/mf-ug-genlist.c b/src/widget/mf-ug-genlist.c index 36d9c91..fa5195f 100644 --- a/src/widget/mf-ug-genlist.c +++ b/src/widget/mf-ug-genlist.c @@ -651,14 +651,6 @@ static Evas_Object *__mf_ug_genlist_get_gl_icon(void *data, Evas_Object *obj, co ug_mf_retv_if(ugd == NULL, NULL); if (!strcmp(part, "elm.icon")) { - if (strncmp(listItemData->ug_pItemName->str, "Upper Level", strlen(listItemData->ug_pItemName->str)) == 0) { - if (ugd->ug_Status.ug_iThemeType == UG_THEME_NBEAT) - listItemData->ug_pThumbPath = strdup(UG_ICON_WHITE_THEME_UPPER); - else - listItemData->ug_pThumbPath = strdup(UG_ICON_BLACK_THEME_UPPER); - thumb = __mf_ug_genlist_create_thumbnail(listItemData, obj); - return thumb; - } __mf_ug_genlist_get_thumbnail(listItemData); thumb = __mf_ug_genlist_create_thumbnail(listItemData, obj); layout = elm_layout_add(obj); @@ -789,7 +781,7 @@ static Evas_Object *__mf_ug_genlist_get_gl_editfiled_icon(void *data, Evas_Objec if (!strcmp(part, "elm.icon")) { Evas_Object *button = NULL; button = elm_button_add(obj); - elm_object_text_set(button, "Go to My files"); + elm_object_text_set(button, MF_UG_LABEL_GO_TO_MYFILES); evas_object_smart_callback_add(button, "clicked", mf_ug_cb_goto_myfile_button_cb, ugd); return button; } diff --git a/src/widget/mf-ug-popup.c b/src/widget/mf-ug-popup.c index f47d857..558883d 100644 --- a/src/widget/mf-ug-popup.c +++ b/src/widget/mf-ug-popup.c @@ -219,7 +219,7 @@ void mf_ug_popup_create(void *data, mf_ug_popup_mode popupMode, char *title, con case UG_POPMODE_TITLE_TEXT: elm_popup_timeout_set(popup, 3); if (func) { - evas_object_smart_callback_add(popup, "response", (Evas_Smart_Cb) func, param); + evas_object_smart_callback_add(popup, "timeout", (Evas_Smart_Cb) func, param); } break; case UG_POPMODE_TEXT_TWO_BTN: diff --git a/ug-myfile-efl.xml b/ug-myfile-efl.xml index 2dc047d..c61675e 100644 --- a/ug-myfile-efl.xml +++ b/ug-myfile-efl.xml @@ -22,7 +22,7 @@ - + -- cgit v1.2.3