From a957a0a7a609392ae358efedbe368a099ac8c4d8 Mon Sep 17 00:00:00 2001 From: Jinkun Jang Date: Sat, 16 Mar 2013 01:05:07 +0900 Subject: [PATCH] merge with master --- packaging/ug-myfile-efl.spec | 2 +- src/common/file-system/mf-ug-file-attr.c | 14 ++++ src/common/mf-ug-cb.c | 139 +++++++++++++++++++++++++++++-- src/common/mf-ug-fm-svc-wapper.c | 8 +- src/common/mf-ug-list-play.c | 20 ++++- src/common/mf-ug-util.c | 15 ++-- src/include/mf-ug-conf.h | 1 + src/include/mf-ug-list-play.h | 1 + src/include/mf-ug-main.h | 3 +- src/include/mf-ug-resource.h | 3 +- src/include/mf-ug-util.h | 1 + src/include/mf-ug-winset.h | 1 + src/mf-ug-main.c | 5 ++ src/widget/mf-ug-genlist.c | 16 ++-- src/widget/mf-ug-navi-bar.c | 16 +++- src/widget/mf-ug-popup.c | 2 +- src/widget/mf-ug-search-view.c | 6 +- 17 files changed, 216 insertions(+), 37 deletions(-) diff --git a/packaging/ug-myfile-efl.spec b/packaging/ug-myfile-efl.spec index 39c6d3c..ce8270a 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.44 +Version: 0.0.45 Release: 1 Group: misc License: Flora diff --git a/src/common/file-system/mf-ug-file-attr.c b/src/common/file-system/mf-ug-file-attr.c index f2b2cbd..b5e41af 100644 --- a/src/common/file-system/mf-ug-file-attr.c +++ b/src/common/file-system/mf-ug-file-attr.c @@ -265,6 +265,20 @@ static mf_ug_fs_file_type __mf_ug_file_attr_get_category_by_file_ext(const char if (strcasecmp("IPK", &file_ext[i]) == 0) { return UG_FILE_TYPE_APP; } + if (strcasecmp("isma", &file_ext[i]) == 0) { + if (mf_ug_file_attr_is_drm_file(fullpath) == 0) { + return UG_FILE_TYPE_DRM; + } else { + return UG_FILE_TYPE_SOUND; + } + } + if (strcasecmp("ismv", &file_ext[i]) == 0) { + if (mf_ug_file_attr_is_drm_file(fullpath) == 0) { + return UG_FILE_TYPE_DRM; + } else { + return UG_FILE_TYPE_SOUND; + } + } break; case 'j': case 'J': diff --git a/src/common/mf-ug-cb.c b/src/common/mf-ug-cb.c index 39440c7..fb0661f 100644 --- a/src/common/mf-ug-cb.c +++ b/src/common/mf-ug-cb.c @@ -191,7 +191,7 @@ void mf_ug_cb_add_button_cb(void *data, Evas_Object *obj, void *event_info) return; } - if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { + if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { result = g_strdup(ugd->ug_Status.ug_pPath->str); } else { result = mf_ug_util_get_send_result(ugd); @@ -463,7 +463,7 @@ void mf_ug_cb_upper_click_cb(void *data, Evas_Object * obj, void *event_info) return; } - if (mf_ug_fm_svc_wapper_is_root_path(ugd)) { + if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath)) { ugd->ug_Status.ug_iViewType = mf_ug_view_root; } @@ -864,7 +864,7 @@ static void __mf_ug_cb_mmc_remove_view_operation(void *data) Evas_Object *parent = NULL; const char *labelStorage = NULL; - parent = ugd->ug_MainWindow.ug_pContent; + parent = ugd->ug_MainWindow.ug_pNaviGenlist; labelStorage = MEMORY_FOLDER; mf_ug_genlist_item_remove(parent, labelStorage); @@ -1001,6 +1001,24 @@ void mf_ug_cb_dir_update_cb(mf_ug_inotify_event event, char *name, void *data) ** Modification : Created function ** ******************************/ +static GString *__mf_ug_cb_dir_pipe_get_parent(GString *path) +{ + + ug_mf_retvm_if(path == NULL, NULL, "path is NULL"); + ug_mf_retvm_if(path->str == NULL, NULL, "path->str is NULL"); + + if (ecore_file_exists(path->str)) { + return path; + } else if (mf_ug_fm_svc_wapper_is_root_path(path)) { + return path; + } else { + GString *parent = mf_ug_fm_svc_wrapper_get_file_parent_path(path); + UG_SAFE_FREE_GSTRING(path); + __mf_ug_cb_dir_pipe_get_parent(parent); + } + return path; +} + void mf_ug_cb_dir_pipe_cb(void *data, void *buffer, unsigned int nbyte) { UG_TRACE_BEGIN; @@ -1008,39 +1026,144 @@ void mf_ug_cb_dir_pipe_cb(void *data, void *buffer, unsigned int nbyte) ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "get navigation bar in use failed"); - if (ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_INIT) { return; } + if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + return; + } + + if (g_strcmp0(ugd->ug_Status.monitor_path, ugd->ug_Status.ug_pPath->str)) { + return; + } if (buffer) { ug_dir_event_t *msg = (ug_dir_event_t *) buffer; ug_debug("event : %d, name : %s", msg->event, msg->name); Evas_Object *newContent = NULL; + ugListItemData *itemData = NULL; + Elm_Object_Item *it = NULL; + GString *parent = NULL; + char *path = NULL; + int count = 0; + switch (msg->event) { case UG_MF_INOTI_CREATE: case UG_MF_INOTI_MOVE_IN: /*/1 TODO: add new item to list */ + if(msg->name) { + path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL); + int file_type = 0; + if (mf_ug_file_attr_is_dir(path)) { + file_type = UG_FILE_TYPE_DIR; + } else { + file_type = UG_FILE_TYPE_FILE; + } + ugFsNodeInfo *pNode = mf_ug_util_generate_pnode(path, file_type); + if (ugd->ug_MainWindow.ug_pNaviGenlist == NULL) { + + Evas_Object *genlist = NULL; + genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar); + evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); + + ugd->ug_MainWindow.ug_pNaviGenlist = genlist; + evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd); + + evas_object_del(elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout, "part1")); + + elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", newContent); + elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", genlist); + } + if (file_type == UG_FILE_TYPE_DIR) { + if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { + + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); + } else { + int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist); + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc); + } + } else { + if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist); + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc); + } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); + } else { + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_itc); + } + + } + + if (pNode != NULL) { + UG_SAFE_FREE_CHAR(pNode->ext); + free(pNode); + pNode = NULL; + } + } break; case UG_MF_INOTI_DELETE: case UG_MF_INOTI_MOVE_OUT: /*/1 TODO: remove item from list */ + path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL); + it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist); + while (it) { + itemData = elm_object_item_data_get(it); + if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) { + ug_debug(); + continue; + } + if (g_strcmp0(path, itemData->ug_pItemName->str) == 0) { + elm_object_item_del(it); + break; + } + + it = elm_genlist_item_next_get(it); + } + count = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist); + ugd->ug_Status.ug_bNoContentFlag = !count; + break; case UG_MF_INOTI_MODIFY: /*/1 TODO: update item in list */ + ugd->ug_MainWindow.ug_pNaviGenlist = newContent = mf_ug_genlist_create_content_list_view(ugd); + mf_ug_navi_bar_set_new_content(ugd->ug_MainWindow.ug_pNaviLayout, newContent); break; case UG_MF_INOTI_DELETE_SELF: case UG_MF_INOTI_MOVE_SELF: /*/1 TODO: watching directory is removed, change current directory. */ + { + GString *current = NULL; + current = g_string_new(ugd->ug_Status.ug_pPath->str); + parent = __mf_ug_cb_dir_pipe_get_parent(current); + + ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); + + + g_string_free(ugd->ug_Status.ug_pPath, TRUE); + ugd->ug_Status.ug_pPath = NULL; + ugd->ug_Status.ug_pPath = parent; + + if (pNavi_s->ug_pCurrentPath != NULL) { + free(pNavi_s->ug_pCurrentPath); + pNavi_s->ug_pCurrentPath = NULL; + } + pNavi_s->ug_pCurrentPath = g_strdup(parent->str); + + + + mf_ug_navi_bar_create_default_view(ugd); + } break; default: ug_mf_error("Unknown event"); break; } - ugd->ug_MainWindow.ug_pContent = newContent = mf_ug_genlist_create_content_list_view(ugd); - mf_ug_navi_bar_set_new_content(ugd->ug_MainWindow.ug_pNaviLayout, newContent); mf_ug_ctrl_bar_set_item_disable(ugd); if (msg->name) { free(msg->name); diff --git a/src/common/mf-ug-fm-svc-wapper.c b/src/common/mf-ug-fm-svc-wapper.c index d6ca417..e7f7509 100644 --- a/src/common/mf-ug-fm-svc-wapper.c +++ b/src/common/mf-ug-fm-svc-wapper.c @@ -282,12 +282,12 @@ int mf_ug_fm_svc_wapper_get_file_list_by_filter(ugData *data, GString *fullpath, ******************************/ bool mf_ug_fm_svc_wapper_is_root_path(void *data) { - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + GString *g_path = (GString *)data; + ug_mf_retvm_if(g_path == NULL, false, "g_path is NULL"); - if (!strcmp(ugd->ug_Status.ug_pPath->str, PHONE_FOLDER)) { + if (!strcmp(g_path->str, PHONE_FOLDER)) { return true; - } else if (!strcmp(ugd->ug_Status.ug_pPath->str, MEMORY_FOLDER)) { + } else if (!strcmp(g_path->str, MEMORY_FOLDER)) { return true; } else { return false; diff --git a/src/common/mf-ug-list-play.c b/src/common/mf-ug-list-play.c index cd63d50..c052f45 100644 --- a/src/common/mf-ug-list-play.c +++ b/src/common/mf-ug-list-play.c @@ -352,7 +352,7 @@ void mf_ug_list_disable_play_itc(void *data, bool disable) UG_TRACE_END; return; } - pGenlist = ugd->ug_MainWindow.ug_pContent; + pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; gl_item = elm_genlist_first_item_get(pGenlist); while (gl_item) { @@ -394,7 +394,7 @@ void mf_ug_list_paly_hide_play_icon(void *data) UG_TRACE_END; return; } - pGenlist = ugd->ug_MainWindow.ug_pContent; + pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; gl_item = elm_genlist_first_item_get(pGenlist); while (gl_item) { @@ -460,7 +460,7 @@ void mf_ug_list_play_update_item_icon(void *data) UG_TRACE_END; return; } - pGenlist = ugd->ug_MainWindow.ug_pContent; + pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; gl_item = elm_genlist_first_item_get(pGenlist); while (gl_item) { @@ -1486,6 +1486,20 @@ static bool __mf_ug_list_play_pause(void *data) ** Modification : Created function ** ******************************/ +void mf_ug_list_play_pause(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + int state = ugd->ug_ListPlay.ug_iPlayState; + + if (state == PLAY_STATE_PLAYING) { + if(__mf_ug_list_play_pause(ugd)) { + __mf_ug_list_play_pauset(ugd); + mf_ug_list_disable_play_itc(ugd, false); + } + } +} static void __mf_ug_list_play_control_cb(void *data) { UG_TRACE_BEGIN; diff --git a/src/common/mf-ug-util.c b/src/common/mf-ug-util.c index 3e9b312..76ed9fc 100644 --- a/src/common/mf-ug-util.c +++ b/src/common/mf-ug-util.c @@ -61,8 +61,8 @@ bool mf_ug_util_is_genlist_selected(void *data) ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); ug_mf_retvm_if(pNavi_s == NULL, false, "get navigation bar in use failed"); - if (ugd->ug_MainWindow.ug_pContent) { - genlist = ugd->ug_MainWindow.ug_pContent; + if (ugd->ug_MainWindow.ug_pNaviGenlist) { + genlist = ugd->ug_MainWindow.ug_pNaviGenlist; gli = elm_genlist_first_item_get(genlist); while (gli) { @@ -218,10 +218,10 @@ static void __mf_ug_util_get_marked_off_selected_items(void *data, Eina_List **s ugData *ugd = (ugData *)data; ug_mf_retm_if(ugd == NULL, "ugData is NULL"); ug_mf_retm_if(select_list == NULL, "selected_list is NULL"); - ug_mf_retm_if(ugd->ug_MainWindow.ug_pContent == NULL, "ugd->ug_MainWindow.ug_pContent is NULL"); + ug_mf_retm_if(ugd->ug_MainWindow.ug_pNaviGenlist == NULL, "ugd->ug_MainWindow.ug_pNaviGenlist is NULL"); - Evas_Object *content = ugd->ug_MainWindow.ug_pContent; + Evas_Object *content = ugd->ug_MainWindow.ug_pNaviGenlist; Elm_Object_Item *gli = elm_genlist_first_item_get(content); int radio_id = 1; Elm_Object_Item *nli = NULL; @@ -422,6 +422,11 @@ int mf_ug_util_create_dir_monitor(void *data) ******************************/ int mf_ug_util_add_dir_watch(const char *path, void *data) { + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL"); + UG_SAFE_FREE_CHAR(ugd->ug_Status.monitor_path); + ugd->ug_Status.monitor_path = g_strdup(path); return mf_ug_inotify_handle_add_inotify_watch(path, mf_ug_cb_dir_update_cb, data); } @@ -552,7 +557,7 @@ void mf_ug_util_storage_insert_action(void *data, char *pItemLabel) snprintf(pNode->name, sizeof(pNode->name), "%s", MMC_NAME); pNode->type = UG_FILE_TYPE_DIR; ugd->ug_UiGadget.ug_pDirList = eina_list_append(ugd->ug_UiGadget.ug_pDirList, pNode); - mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pContent, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); } UG_TRACE_END; diff --git a/src/include/mf-ug-conf.h b/src/include/mf-ug-conf.h index 13de93d..0698312 100644 --- a/src/include/mf-ug-conf.h +++ b/src/include/mf-ug-conf.h @@ -49,6 +49,7 @@ #define UG_SELECT_MODE_IMPORT_SINGLE "IMPORT_SINGLE" #define UG_SELECT_MODE_EXPORT "EXPORT" #define UG_SELECT_MODE_SHORTCUT "SHORTCUT" +#define UG_SELECT_MODE_SAVE "SAVE" #define UG_FILE_FILTER_IMAGE "IMAGE" #define UG_FILE_FILTER_SOUND "SOUND" diff --git a/src/include/mf-ug-list-play.h b/src/include/mf-ug-list-play.h index 703daeb..b24f39b 100644 --- a/src/include/mf-ug-list-play.h +++ b/src/include/mf-ug-list-play.h @@ -69,5 +69,6 @@ typedef struct { } mf_player_cb_extra_data; void mf_ug_player_vol_set(const char *path); +void mf_ug_list_play_pause(void *data); #endif diff --git a/src/include/mf-ug-main.h b/src/include/mf-ug-main.h index 5d4d0bf..43b07c7 100644 --- a/src/include/mf-ug-main.h +++ b/src/include/mf-ug-main.h @@ -73,7 +73,7 @@ struct _ugMainWindow { Evas_Object *ug_pNaviBar; Evas_Object *ug_pNaviLayout; - Evas_Object *ug_pContent; + Evas_Object *ug_pNaviGenlist; Evas_Object *ug_pNaviCtrlBar; Evas_Object *ug_pNaviBox; @@ -116,6 +116,7 @@ struct _ugStatus { int ug_iThemeType; char *ug_pUpper_folder; char *ug_pEntryPath; + char *monitor_path; bool ug_bUpperFlag; Elm_Genlist_Item_Class ug_itc; Elm_Genlist_Item_Class ug_topitc; diff --git a/src/include/mf-ug-resource.h b/src/include/mf-ug-resource.h index 6b1a9e0..d05ff9a 100644 --- a/src/include/mf-ug-resource.h +++ b/src/include/mf-ug-resource.h @@ -50,6 +50,7 @@ #define MF_UG_LABEL_NO_RESULT dgettext("sys_string", "IDS_COM_BODY_NO_SEARCH_RESULTS") #define MF_UG_LABEL_IMPORT dgettext("sys_string", "IDS_COM_OPT_IMPORT") #define MF_UG_LABEL_EXPORT "Export here" +#define MF_UG_LABEL_SAVE_HERE "Set here" #define MF_UG_LABEL_CREATE dgettext("sys_string", "IDS_COM_BODY_CREATE_FOLDER") #define MF_UG_LABEL_NOT_ENOUGH_SPACE dgettext("sys_string", "IDS_COM_POP_NOT_ENOUGH_MEMORY") #define MF_UG_LABEL_FOLDER dgettext("sys_string", "IDS_COM_POP_FOLDER") @@ -72,6 +73,6 @@ #define MF_UG_LABEL_GO_TO_MYFILES dgettext(UGPACKAGE, "IDS_MF_BUTTON_GO_TO_MY_FILES") #define MF_UG_LABEL_RINGTONES dgettext(UGPACKAGE, "IDS_MF_BODY_RINGTONES") #define MF_UG_LABEL_MAX_CHARACTER_REACHED dgettext("sys_string", "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED") - +#define MF_UG_LABEL_ALARM dgettext("sys_string", "IDS_COM_BODY_ALARM") #endif diff --git a/src/include/mf-ug-util.h b/src/include/mf-ug-util.h index 0562873..2056488 100644 --- a/src/include/mf-ug-util.h +++ b/src/include/mf-ug-util.h @@ -116,6 +116,7 @@ enum _mf_ug_select_mode { EXPORT_MODE, IMPORT_MODE, IMPORT_SINGLE, + SAVE_MODE, SELECT_MODE_MAX }; diff --git a/src/include/mf-ug-winset.h b/src/include/mf-ug-winset.h index 63badfb..36530e2 100644 --- a/src/include/mf-ug-winset.h +++ b/src/include/mf-ug-winset.h @@ -160,5 +160,6 @@ Elm_Object_Item *mf_ug_genlist_item_append(Evas_Object *parent, void *data, int groudValue, Elm_Genlist_Item_Class *itc); +void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info); #endif diff --git a/src/mf-ug-main.c b/src/mf-ug-main.c index 73b6d9f..b8bd008 100644 --- a/src/mf-ug-main.c +++ b/src/mf-ug-main.c @@ -342,6 +342,7 @@ static int __mf_ug_main_set_path_option(void *data, const char *path) if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { error_code = mf_ug_fm_svc_wrapper_create_p(entry_path); if (error_code != MYFILE_ERR_NONE) { @@ -419,6 +420,9 @@ static void __mf_ug_main_set_select_mode(void *data, const char *select_mode) ugd->ug_UiGadget.ug_iSelectMode = IMPORT_SINGLE; ugd->ug_Status.ug_iViewType = mf_ug_view_normal; } + else if (!strncmp(select_mode, UG_SELECT_MODE_SAVE, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = SAVE_MODE; + } else { ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; } @@ -832,6 +836,7 @@ static void on_pause(ui_gadget_h ug, service_h service, void *priv) ugData *ugd = (ugData *)priv; if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_pause(ugd); //mf_ug_list_play_destory_playing_file(ugd); } } diff --git a/src/widget/mf-ug-genlist.c b/src/widget/mf-ug-genlist.c index 909ca06..e57f78a 100644 --- a/src/widget/mf-ug-genlist.c +++ b/src/widget/mf-ug-genlist.c @@ -164,7 +164,7 @@ static void __mf_ug_genlist_show_select_info(void *data) int iDirCount = 0, iFileCount = 0; Elm_Object_Item *it = NULL; - Evas_Object *pGenlist = ugd->ug_MainWindow.ug_pContent; + Evas_Object *pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; it = elm_genlist_first_item_get(pGenlist); while (it) { @@ -854,7 +854,7 @@ static void __mf_ug_genlist_del_gl(void *data, Evas_Object *obj) /****************************** -** Prototype : __mf_ug_genlist_selected_gl +** Prototype : mf_ug_genlist_selected_gl ** Description : Samsung ** Input : void *data ** Evas_Object *obj @@ -870,7 +870,7 @@ static void __mf_ug_genlist_del_gl(void *data, Evas_Object *obj) ** Modification : Created function ** ******************************/ -static void __mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info) +void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info) { UG_TRACE_BEGIN; ugData *ugd = (ugData *)data; @@ -890,7 +890,7 @@ static void __mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *even return; if (!ecore_file_is_dir(selected->ug_pItemName->str)) { - if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { + if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { return; } @@ -1111,7 +1111,7 @@ Evas_Object *__mf_ug_genlist_create_gl(void *data) evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_smart_callback_add(genlist, "selected", __mf_ug_genlist_selected_gl, ugd); + evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd); #ifdef UG_THUMB_REAL_TIME_UPDATE if (ugd->ug_Status.ug_pThumbUpdateTimer != NULL) { @@ -1130,6 +1130,7 @@ Evas_Object *__mf_ug_genlist_create_gl(void *data) ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { ugd->ug_Status.ug_normalitc.item_style = "1text.1icon.2"; ugd->ug_Status.ug_normalitc.func.text_get = __mf_ug_genlist_get_gl_label; @@ -1404,7 +1405,7 @@ Evas_Object *mf_ug_genlist_create_content_list_view(void *data) genlist = __mf_ug_genlist_create_gl(ugd); - ugd->ug_MainWindow.ug_pContent = genlist; + ugd->ug_MainWindow.ug_pNaviGenlist = genlist; GString *fullpath = g_string_new(ugd->ug_Status.ug_pPath->str); @@ -1477,6 +1478,7 @@ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); @@ -1491,7 +1493,7 @@ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { mf_ug_genlist_item_append(genlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc); groupValue++; - } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { + } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); } else { mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_itc); diff --git a/src/widget/mf-ug-navi-bar.c b/src/widget/mf-ug-navi-bar.c index 6d88b88..e8e4615 100644 --- a/src/widget/mf-ug-navi-bar.c +++ b/src/widget/mf-ug-navi-bar.c @@ -99,6 +99,13 @@ static void __mf_ug_navi_bar_push_content(void *data, Evas_Object *NaviContent) pNavi_s->ug_pNaviTitle = NULL; } pNavi_s->ug_pNaviTitle = g_strdup(MF_UG_LABEL_RINGTONES); + } else if(!g_strcmp0(pNavi_s->ug_pNaviTitle, "Alarms")) { + if (pNavi_s->ug_pNaviTitle) { + g_free(pNavi_s->ug_pNaviTitle); + pNavi_s->ug_pNaviTitle = NULL; + } + pNavi_s->ug_pNaviTitle = g_strdup(MF_UG_LABEL_ALARM); + } else if (!g_strcmp0(pNavi_s->ug_pNaviTitle, "Alerts")) { } title = pNavi_s->ug_pNaviTitle; } @@ -423,6 +430,9 @@ void mf_ug_navi_bar_set_ctrl_button(void *data) if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { bt_1 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_STYLE, MF_UG_LABEL_EXPORT, NULL, mf_ug_cb_add_button_cb, ugd); bt_2 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_EDIT, MF_UG_LABEL_CREATE, NULL, mf_ug_cb_more_cb, ugd); + } else if (ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { + bt_1 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_STYLE, MF_UG_LABEL_SAVE_HERE, NULL, mf_ug_cb_add_button_cb, ugd); + bt_2 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_EDIT, MF_UG_LABEL_CREATE, NULL, mf_ug_cb_more_cb, ugd); } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { bt_1 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_STYLE, MF_UG_LABEL_SET, NULL, mf_ug_cb_add_button_cb, ugd); } @@ -468,7 +478,7 @@ void mf_ug_navi_bar_create_default_view(void *data) if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { newContent = __mf_ug_genlist_create_gl(ugd); - ugd->ug_MainWindow.ug_pContent = newContent; + ugd->ug_MainWindow.ug_pNaviGenlist = newContent; } else { if (ugd->ug_Status.ug_bSettingEntry == true && ugd->ug_Status.ug_bInSettingView == true) { @@ -512,9 +522,9 @@ void mf_ug_navi_bar_create_default_view(void *data) __mf_ug_navi_bar_create_group_radio_box(ugd); } newContent = mf_ug_genlist_create_content_list_view(ugd); - ugd->ug_MainWindow.ug_pContent = newContent; + ugd->ug_MainWindow.ug_pNaviGenlist = newContent; /*set title segment or title */ - if (mf_ug_fm_svc_wapper_is_root_path(ugd) || ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath) || ugd->ug_Status.ug_iViewType == mf_ug_view_root) { title = g_string_new(MF_UG_LABEL_MYFILES); } else { title = mf_ug_fm_svc_wapper_get_file_name(ugd->ug_Status.ug_pPath); diff --git a/src/widget/mf-ug-popup.c b/src/widget/mf-ug-popup.c index ef238e6..5de8202 100644 --- a/src/widget/mf-ug-popup.c +++ b/src/widget/mf-ug-popup.c @@ -412,7 +412,7 @@ void mf_ug_context_popup_create_more(void *data, Evas_Object *parent) ugd->ug_MainWindow.ug_pContextPopup = ctxpopup; Elm_Object_Item *it = NULL; - if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { + if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { /*Search*/ it = elm_ctxpopup_item_append(ctxpopup, MF_UG_LABEL_CREATE, NULL, mf_ug_cb_create_new_folder, ugd); } diff --git a/src/widget/mf-ug-search-view.c b/src/widget/mf-ug-search-view.c index 16861a5..698237e 100644 --- a/src/widget/mf-ug-search-view.c +++ b/src/widget/mf-ug-search-view.c @@ -97,7 +97,7 @@ void mf_ug_search_view_item_append(void *data, void *user_data) #endif Elm_Object_Item *it = NULL; - it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pContent, &ugd->ug_Status.ug_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd); + it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd); m_TempItem->ug_pItem = it; UG_TRACE_END; @@ -149,7 +149,7 @@ static void __mf_ug_search_select_all_check_changed_cb(void *data, Evas_Object * UG_TRACE_BEGIN; ugData *ugd = (ugData *)data; ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - Evas_Object *genlist = ugd->ug_MainWindow.ug_pContent; + Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist; ug_debug("ugd->ug_Status.ug_iTotalCount is [%d]", ugd->ug_Status.ug_iTotalCount); if (ugd->ug_Status.ug_bSelectAllChecked) { ug_debug(); @@ -227,7 +227,7 @@ static void __mf_ug_search_view_result_cb(mf_search_result_t *result, void *user //newContent = mf_ug_genlist_create_content_list_view(ugd); newContent = __mf_ug_genlist_create_gl(ugd); - ugd->ug_MainWindow.ug_pContent = newContent; + ugd->ug_MainWindow.ug_pNaviGenlist = newContent; elm_object_part_content_set(playout, "part1", newContent); -- 2.7.4