diff options
author | gliang.wang <gliang.wang@samsung.com> | 2013-04-16 15:59:36 +0800 |
---|---|---|
committer | gliang.wang <gliang.wang@samsung.com> | 2013-04-16 15:59:36 +0800 |
commit | 2980776fcca4b90a6a50cbdd7acfcc7801cb72d9 (patch) | |
tree | 84087d6500433d422c33b5ebbf8a5b5a509e1248 /src/widget/mf-ug-genlist.c | |
parent | a957a0a7a609392ae358efedbe368a099ac8c4d8 (diff) | |
download | ug-myfile-efl-2980776fcca4b90a6a50cbdd7acfcc7801cb72d9.tar.gz ug-myfile-efl-2980776fcca4b90a6a50cbdd7acfcc7801cb72d9.tar.bz2 ug-myfile-efl-2980776fcca4b90a6a50cbdd7acfcc7801cb72d9.zip |
[SR][Nabi-se][Nabi_SEN_SE-32480] Unable to select more then one file for attachment at Email
Change-Id: I9768f095b10eac39a8c6412aacc136df24fe90ce
Diffstat (limited to 'src/widget/mf-ug-genlist.c')
-rw-r--r-- | src/widget/mf-ug-genlist.c | 97 |
1 files changed, 68 insertions, 29 deletions
diff --git a/src/widget/mf-ug-genlist.c b/src/widget/mf-ug-genlist.c index e57f78a..ffc2482 100644 --- a/src/widget/mf-ug-genlist.c +++ b/src/widget/mf-ug-genlist.c @@ -27,6 +27,8 @@ #define MF_UG_SELECTED_ITEM_BRING_UP_COUNT 7 #define MF_UG_SELECTED_ITEM_BRING_UP_COUNT_MAX 8 + +#define MF_UG_LIST_PLAY_TIME_OUT 0.5 /****************************** ** Prototype : __mf_ug_genlist_is_file_marked ** Description : Samsung @@ -290,6 +292,33 @@ static Evas_Object *__mf_ug_genlist_create_radio_box(Evas_Object *parent, ugList } +static bool __mf_ug_list_play_timer_cb(void *data) +{ + ugListItemData *item_data = (ugListItemData *)data; + ugData *ugd = (ugData *)item_data->ug_pData; + + + if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { + if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, item_data->ug_pItemName->str) == 0) { + mf_ug_list_play_destory_playing_file(ugd); + //mf_ug_list_disable_play_itc(ugd, true); + //mf_ug_list_play_update_item_icon(ugd); + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } else { + //mf_ug_list_paly_hide_play_icon(ugd); + } + } + mf_ug_cb_list_play_cb(item_data, NULL, NULL); + if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) != item_data->ug_iGroupValue) { + ugd->ug_Status.ug_iRadioOn = item_data->ug_iGroupValue; + item_data->ug_bChecked = true; + elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, item_data->ug_iGroupValue); + } + + item_data->ug_pData->ug_Status.play_timer = NULL; + return ECORE_CALLBACK_CANCEL; + +} /****************************** ** Prototype : __mf_ug_genlist_radio_box_cb @@ -314,11 +343,26 @@ static void __mf_ug_genlist_radio_box_cb(void *data, Evas_Object *obj, void *eve UG_TRACE_BEGIN; ugListItemData *itemData = (ugListItemData *)data; ug_mf_retm_if(itemData == NULL, "ugListItemData is NULL"); + ugData *ugd = (ugData *)itemData->ug_pData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); itemData->ug_bChecked = true; itemData->ug_pData->ug_Status.ug_iRadioOn = itemData->ug_iGroupValue; elm_radio_value_set(itemData->ug_pData->ug_MainWindow.ug_pRadioGroup, itemData->ug_iGroupValue); mf_ug_ctrl_bar_set_item_disable(itemData->ug_pData); + + + mf_ug_launch_type launch_type = mf_ug_util_get_file_launch_type(itemData->ug_pItemName->str); + if (launch_type == LAUNCH_TYPE_MUSIC) { + if (ugd->ug_Status.play_timer == NULL) { + ug_error(">>>>>>>>>>>>>> entry list play"); + ugd->ug_Status.play_timer = ecore_timer_add(MF_UG_LIST_PLAY_TIME_OUT, (Ecore_Task_Cb)__mf_ug_list_play_timer_cb, itemData); + } else { + ug_error(">>>>>>>>>>>>>> Faild entry list play"); + + } + } + UG_TRACE_END; } @@ -698,6 +742,7 @@ static Evas_Object *__mf_ug_genlist_get_gl_icon(void *data, Evas_Object *obj, co } else { if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE + || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE) { selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj); } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE @@ -707,6 +752,7 @@ static Evas_Object *__mf_ug_genlist_get_gl_icon(void *data, Evas_Object *obj, co selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj); } } + evas_object_propagate_events_set(selected_box, EINA_FALSE); return selected_box; } else if (!strcmp(part, "elm.icon.2")) { __mf_ug_genlist_get_thumbnail(listItemData); @@ -870,6 +916,7 @@ static void __mf_ug_genlist_del_gl(void *data, Evas_Object *obj) ** Modification : Created function ** ******************************/ + void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info) { UG_TRACE_BEGIN; @@ -893,29 +940,25 @@ void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info) if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { return; } - if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE) { - if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) != selected->ug_iGroupValue) { - ugd->ug_Status.ug_iRadioOn = selected->ug_iGroupValue; - selected->ug_bChecked = true; - elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, selected->ug_iGroupValue); - } - mf_ug_launch_type launch_type = mf_ug_util_get_file_launch_type(selected->ug_pItemName->str); if (launch_type == LAUNCH_TYPE_MUSIC) { - if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { - if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, selected->ug_pItemName->str) == 0) { - mf_ug_list_play_destory_playing_file(ugd); - //mf_ug_list_disable_play_itc(ugd, true); - //mf_ug_list_play_update_item_icon(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } else { - //mf_ug_list_paly_hide_play_icon(ugd); - } + if (ugd->ug_Status.play_timer == NULL) { + ug_error(">>>>>>>>>>>>>> entry list play"); + ugd->ug_Status.play_timer = ecore_timer_add(MF_UG_LIST_PLAY_TIME_OUT, (Ecore_Task_Cb)__mf_ug_list_play_timer_cb, selected); + } else { + ug_error(">>>>>>>>>>>>>> Faild entry list play"); + + } + } else { + if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) != selected->ug_iGroupValue) { + ugd->ug_Status.ug_iRadioOn = selected->ug_iGroupValue; + selected->ug_bChecked = true; + elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, selected->ug_iGroupValue); } - mf_ug_cb_list_play_cb(selected, NULL, NULL); } + } else { if (selected->ug_bChecked == 0) { selected->ug_bChecked = 1; @@ -1128,6 +1171,7 @@ Evas_Object *__mf_ug_genlist_create_gl(void *data) if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || @@ -1403,9 +1447,6 @@ Evas_Object *mf_ug_genlist_create_content_list_view(void *data) ugd->ug_Status.ug_iRadioOn = 0; ugd->ug_Status.ug_bNoContentFlag = false; - genlist = __mf_ug_genlist_create_gl(ugd); - - ugd->ug_MainWindow.ug_pNaviGenlist = genlist; GString *fullpath = g_string_new(ugd->ug_Status.ug_pPath->str); @@ -1446,7 +1487,6 @@ Evas_Object *mf_ug_genlist_create_content_list_view(void *data) if ((dir_list_len == 0 && filter_file_list_len == 0)) { ug_debug("=========================================== create the no content view"); - Evas_Object *layout; Evas_Object *nocontent = NULL; nocontent = elm_layout_add(ugd->ug_MainWindow.ug_pMainLayout); @@ -1455,18 +1495,16 @@ Evas_Object *mf_ug_genlist_create_content_list_view(void *data) ugd->ug_Status.ug_bNoContentFlag = true; - elm_scroller_bounce_set(genlist, EINA_FALSE, EINA_FALSE); - - layout = elm_layout_add(ugd->ug_MainWindow.ug_pMainLayout); - elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, UG_GRP_NO_CONTENT); - elm_object_part_content_set(layout, "myfile.noContent.upper", genlist); - elm_object_part_content_set(layout, "myfile.noContent.content", nocontent); mf_ug_util_add_dir_watch(fullpath->str, ugd); g_string_free(fullpath, true); fullpath = NULL; - return layout; + return nocontent; } + + genlist = __mf_ug_genlist_create_gl(ugd); + + ugd->ug_MainWindow.ug_pNaviGenlist = genlist; ugFsNodeInfo *pNode = NULL; Eina_List *l = NULL; @@ -1474,8 +1512,9 @@ Evas_Object *mf_ug_genlist_create_content_list_view(void *data) count++; -if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || + if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || |