From 1cfb17497438f77792e5314f03b5cedfa62c6e29 Mon Sep 17 00:00:00 2001 From: "aman.jeph" Date: Fri, 17 Jul 2020 16:06:17 +0530 Subject: [PATCH] Fixed folder item page issues Change-Id: I2bb65344da9f1c6b18db116018dbd4560f9aaab0 Signed-off-by: aman.jeph --- include/view/mp-video-list-view-folder.h | 5 - .../view/mp-video-list-view-item-of-folder.h | 2 - include/view/mp-video-list-view-main.h | 1 - src/view/mp-video-list-view-folder.c | 15 - src/view/mp-video-list-view-item-of-folder.c | 295 +++++++++++------- src/view/mp-video-list-view-main.c | 31 +- src/view/mp-video-list-view-thumbnail.c | 1 - 7 files changed, 185 insertions(+), 165 deletions(-) diff --git a/include/view/mp-video-list-view-folder.h b/include/view/mp-video-list-view-folder.h index 3309bc6..e3a895a 100755 --- a/include/view/mp-video-list-view-folder.h +++ b/include/view/mp-video-list-view-folder.h @@ -28,9 +28,4 @@ void mp_folder_view_arrange_folder_list(void *pMainViewHandle, pUpdateVideoListUserCb); void mp_folder_view_update_video_items(void); void mp_folder_view_change_language(void); -void mp_folder_view_view_set(void *pMainViewHandle, void *pMainViewWidget, - MpListUpdateType eUpdateType, - UpdateListItemsCbFunc pUpdateVideoListUserCb); - - #endif diff --git a/include/view/mp-video-list-view-item-of-folder.h b/include/view/mp-video-list-view-item-of-folder.h index 4e1de34..5fe8d56 100755 --- a/include/view/mp-video-list-view-item-of-folder.h +++ b/include/view/mp-video-list-view-item-of-folder.h @@ -27,6 +27,4 @@ void mp_folder_item_view_check_more_button_of_toolbar(void); void mp_folder_item_view_change_language(void); void mp_folder_item_view_update_played_item(void); void mp_folder_item_view_update_video_list(MpListUpdateType eUpdateType); -void mp_folder_item_view_remove(); - #endif diff --git a/include/view/mp-video-list-view-main.h b/include/view/mp-video-list-view-main.h index d728403..b1463b7 100755 --- a/include/view/mp-video-list-view-main.h +++ b/include/view/mp-video-list-view-main.h @@ -38,7 +38,6 @@ void mp_list_view_search_item_cb(void *pUserData, Evas_Object * pObject, void mp_list_view_view_type_set(int type); int mp_list_view_view_type_get(); Evas_Object* mp_list_view_base_layout_content_set(Evas_Object* content); -void mp_list_view_update_naviframe_title(const char *title, Evas_Object* prev_btn); void mp_list_view_check_more_button_of_toolbar(void); #endif diff --git a/src/view/mp-video-list-view-folder.c b/src/view/mp-video-list-view-folder.c index 402ee0a..524fd1b 100755 --- a/src/view/mp-video-list-view-folder.c +++ b/src/view/mp-video-list-view-folder.c @@ -881,24 +881,9 @@ void mp_folder_view_update_base_layout_content(Evas_Object* content) MP_DEL_OBJ(g_pFolderView->pNocontentlayout); g_pFolderView->pNocontentlayout = NULL; } - mp_list_view_update_naviframe_title(NULL, NULL); mp_list_view_check_more_button_of_toolbar(); } -void mp_folder_view_view_set(void *pMainViewHandle, - void *pMainViewWidget, - MpListUpdateType eUpdateType, - UpdateListItemsCbFunc pUpdateVideoListUserCb) -{ - if(mp_folder_item_view_is_current_view()) - { - // this will remove the folder item a view and add the folder-view - mp_folder_item_view_remove(); - } else { - mp_folder_view_arrange_folder_list(pMainViewHandle, pMainViewWidget, eUpdateType, pUpdateVideoListUserCb); - } -} - /** * * @param pMainViewHandle diff --git a/src/view/mp-video-list-view-item-of-folder.c b/src/view/mp-video-list-view-item-of-folder.c index 401f770..01866e7 100755 --- a/src/view/mp-video-list-view-item-of-folder.c +++ b/src/view/mp-video-list-view-item-of-folder.c @@ -75,7 +75,7 @@ typedef struct { st_VideoListViewMainViewWidget *pMainWidget; void *pNaviFrameHandle; void *pNaviframeItem; - void *pVideosGenlist; + void *pVideosGenlist; // only required because of long press code..it is not used anywhere else...remove when remove long press source. Evas_Object *pFolderItemGengrid; Elm_Gengrid_Item_Class *pFolderItemGIC; @@ -95,8 +95,9 @@ typedef struct { typedef struct { Evas_Object *pNocontentLayout; Evas_Object *pBackButton; - - Eina_List *pVideolistItemList; + Evas_Object *pFolderItemViewBaseLayout; + Evas_Object *pTitleContent; + Eina_List *pVideolistItemList; // only required because of long press code..it is not used anywhere else...remove when remove long press source. } st_VideoFolderViewWidget; st_VideoFolderViewHandle *g_pFolderViewHandle = NULL; @@ -119,7 +120,7 @@ static void __mp_folder_item_view_rotate_cb(void *data, Evas_Object * obj, static void mp_folder_view_cancel_thumbnail_update(int nIndexGenlist); static int __mp_folder_item_view_get_sort_type(void); void mp_folder_item_view_check_more_button_of_toolbar(void); -static void __mp_folder_soft_back_button_cb(void *data, Evas_Object * obj, void *event_info); +static void __mp_folder_item_view_soft_back_button_cb(void *data, Evas_Object * obj, void *event_info); /** * @@ -414,6 +415,7 @@ static void __mp_folder_item_view_select_video_item_cb(void *pUserData, * * @param nIndexGenlist */ + // Note: Only used in long press operation static void mp_folder_view_cancel_thumbnail_update(int nIndexGenlist) { if (!g_pFolderViewWidget) { @@ -447,6 +449,7 @@ static void mp_folder_view_cancel_thumbnail_update(int nIndexGenlist) * @param obj * @param event_info */ + // Note: Only used in long press operation static void __mp_folder_item_view_video_item_del_cb(void *data, Evas_Object * obj, void *event_info) @@ -538,36 +541,41 @@ Evas_Object* __mp_folder_item_view_create_back_button(Evas_Object *parent) { Evas_Object* button = elm_button_add(parent); elm_object_style_set(button, "naviframe/back_btn/default"); - evas_object_smart_callback_add(button, "clicked", __mp_folder_soft_back_button_cb, NULL); + evas_object_smart_callback_add(button, "clicked", __mp_folder_item_view_soft_back_button_cb, NULL); + evas_object_show(button); return button; } void mp_folder_item_view_update_base_layout_content(Evas_Object* content) { - VideoLogError("g_pFolderViewWidget->pBackButton: %p", g_pFolderViewWidget->pBackButton); + if(g_pFolderViewWidget->pFolderItemViewBaseLayout == NULL) + { + VideoLogError("baselayout [%p] may be invalid", g_pFolderViewWidget->pFolderItemViewBaseLayout); + } mp_folder_view_set_is_item_view(true); - Evas_Object* old_content = mp_list_view_base_layout_content_set(content); + Evas_Object* old_content = elm_object_part_content_get(g_pFolderViewWidget->pFolderItemViewBaseLayout, "elm.content.swallow"); + if(content == old_content) + { + VideoLogInfo("Content already swallowed"); + return; + } + old_content = elm_object_part_content_unset(g_pFolderViewWidget->pFolderItemViewBaseLayout, "elm.content.swallow"); if(old_content == g_pFolderViewWidget->pNocontentLayout) { MP_DEL_OBJ(g_pFolderViewWidget->pNocontentLayout); g_pFolderViewWidget->pNocontentLayout = NULL; + } else { + evas_object_hide(old_content); } - char *folder_name = mp_util_svc_get_video_folder_name(g_pFolderViewHandle->nFolder_index); - if(g_pFolderViewWidget->pBackButton == NULL) - { - g_pFolderViewWidget->pBackButton = __mp_folder_item_view_create_back_button(g_pFolderViewHandle->pNaviframeItem); - } - evas_object_show(g_pFolderViewWidget->pBackButton); - mp_list_view_update_naviframe_title(folder_name, g_pFolderViewWidget->pBackButton); - mp_folder_item_view_check_more_button_of_toolbar(); - MP_FREE_STRING(folder_name); + elm_object_part_content_set(g_pFolderViewWidget->pFolderItemViewBaseLayout, "elm.content.swallow", content); + evas_object_show(content); } /** * * @param nItemSortType * @param eUpdateType - * @param pVideosGenlist + * @param pFolderItemGengrid * @return */ static bool __mp_folder_item_view_arrange_video_list(int nItemSortType, @@ -594,11 +602,12 @@ static bool __mp_folder_item_view_arrange_video_list(int nItemSortType, g_pFolderViewHandle->currentItemCount = nVideoListSize; elm_gengrid_clear(pFolderItemGengrid); + Evas_Object *current_content = NULL; if (nVideoListSize > 0) { VideoLogError("Video Count: %d", nVideoListSize); __mp_folder_item_view_append_gengrid_items(pFolderItemGengrid); evas_object_show(pFolderItemGengrid); - g_pFolderViewHandle->pCurrentLayout = pFolderItemGengrid; + current_content = pFolderItemGengrid; } else { VideoLogError("Adding no content layout"); if(g_pFolderViewWidget->pNocontentLayout == NULL) @@ -611,9 +620,9 @@ static bool __mp_folder_item_view_arrange_video_list(int nItemSortType, evas_object_hide(pFolderItemGengrid); //show no content layout evas_object_show(g_pFolderViewWidget->pNocontentLayout); - g_pFolderViewHandle->pCurrentLayout = g_pFolderViewWidget->pNocontentLayout; + current_content = g_pFolderViewWidget->pNocontentLayout; } - mp_folder_item_view_update_base_layout_content(g_pFolderViewHandle->pCurrentLayout); + mp_folder_item_view_update_base_layout_content(current_content); return true; } @@ -628,32 +637,13 @@ void __mp_folder_item_view_show_search_view(void) mp_ft_ctrl_hide_more_popup(); char *szFolderPath = NULL; - szFolderPath = - mp_util_svc_get_video_folder_url(g_pFolderViewHandle-> - nFolder_index); - mp_search_view_push((void *) mp_mgr_get_library_naviframe(), - szFolderPath); + szFolderPath = mp_util_svc_get_video_folder_url(g_pFolderViewHandle->nFolder_index); + mp_search_view_push((void *) mp_mgr_get_library_naviframe(),szFolderPath); MP_FREE_STRING(szFolderPath); - mp_search_view_register_update_list_func - (__mp_folder_item_view_result_user_cb, - __mp_folder_item_view_result_view_update_cb); + mp_search_view_register_update_list_func(__mp_folder_item_view_result_user_cb, __mp_folder_item_view_result_view_update_cb); } -/** - * - * @param pUserData - * @param pObject - * @param pEventInfo - */ -void __mp_folder_item_view_search_item_cb(void *pUserData, - Evas_Object * pObject, - void *pEventInfo) -{ - VideoLogInfo(""); - - __mp_folder_item_view_show_search_view(); -} // Naviframe title button /** @@ -747,17 +737,18 @@ static int __mp_folder_item_view_get_sort_type(void) /** * - * @param pVideosGenlist + * @param pVideosGengrid */ -static void __mp_folder_item_view_update_video_items(void *pVideosGenlist) +static void __mp_folder_item_view_update_video_items(Evas_Object *pVideosGengrid) { - if (!pVideosGenlist) { - VideoLogInfo("[ERR] pVideosGenlist or g_pMainViewWidget are NULL."); + if (!pVideosGengrid) { + VideoLogInfo("[ERR] pVideosGengrid is NULL."); return; } VideoLogInfo(""); - elm_gengrid_realized_items_update((Evas_Object*)pVideosGenlist); + + elm_gengrid_realized_items_update(pVideosGengrid); } /** @@ -1382,33 +1373,64 @@ static void __mp_folder_item_view_rotate_cb(void *data, Evas_Object * obj, __mp_folder_item_view_append_gengrid_items(g_pFolderViewHandle->pFolderItemGengrid); } -static Eina_Bool delete_folder_item_view_idler_cb(void *data) +static void mp_folder_item_view_destroy() { VideoLogError(""); if(g_pFolderViewHandle == NULL) { VideoLogError("g_pFolderViewHandle is invalid"); - return ECORE_CALLBACK_CANCEL; + return; } + + mp_util_db_set_update_fun(g_pFolderViewHandle->euLev, NULL); elm_gengrid_clear(g_pFolderViewHandle->pFolderItemGengrid); MP_DEL_GRID_ITC(g_pFolderViewHandle->pFolderItemGIC); MP_DEL_OBJ(g_pFolderViewHandle->pFolderItemGengrid); - g_pFolderViewHandle->nPlayVideoIndex = -1; - MP_FREE_STRING(g_pFolderViewHandle->pFolderUrl); if (g_pFolderViewWidget) { MP_DEL_OBJ(g_pFolderViewWidget->pNocontentLayout); MP_DEL_OBJ(g_pFolderViewWidget->pBackButton); + MP_DEL_OBJ(g_pFolderViewWidget->pTitleContent); + MP_DEL_OBJ(g_pFolderViewWidget->pFolderItemViewBaseLayout); free(g_pFolderViewWidget); g_pFolderViewWidget = NULL; } + + g_pFolderViewHandle->nPlayVideoIndex = -1; + MP_FREE_STRING(g_pFolderViewHandle->pFolderUrl); + evas_object_smart_callback_del((Evas_Object *)mp_util_get_main_window_handle(), "wm,rotation,changed", __mp_folder_item_view_rotate_cb); free(g_pFolderViewHandle); g_pFolderViewHandle = NULL; - return ECORE_CALLBACK_CANCEL; +} + +void mp_folder_item_view_pop() +{ + if(g_pFolderViewHandle == NULL) + { + VideoLogError("g_pFolderViewHandle is invalid"); + return; + } + VideoLogInfo(""); + if(g_pFolderViewHandle->pUpdateListUserCbFunc) + { + g_pFolderViewHandle->pUpdateListUserCbFunc(LIST_UPDATE_TYPE_ALL); + } +} + +static void __mp_folder_item_view_trans_finished_cb(void *data, Evas_Object *obj, void *event_info) +{ + if(g_pFolderViewHandle == NULL) + { + VideoLogError("g_pFolderViewHandle is invalid"); + return; + } + VideoLogInfo(""); + mp_folder_item_view_destroy(); + evas_object_smart_callback_del(obj, "transition,finished", __mp_folder_item_view_trans_finished_cb); } /** @@ -1417,20 +1439,29 @@ static Eina_Bool delete_folder_item_view_idler_cb(void *data) * @param obj * @param event_info */ -void __mp_folder_soft_back_button_cb(void *data, Evas_Object * obj, void *event_info) +static void __mp_folder_item_view_soft_back_button_cb(void *data, Evas_Object * obj, void *event_info) { + if(g_pFolderViewHandle == NULL) + { + VideoLogError("g_pFolderViewHandle is invalid"); + return; + } VideoLogInfo(" "); + elm_naviframe_item_pop(g_pFolderViewHandle->pNaviFrameHandle); +} + +static void __mp_folder_item_view_back_button_cb(void *data, Elm_Object_Item *item) +{ if(g_pFolderViewHandle == NULL) { VideoLogError("g_pFolderViewHandle is invalid"); return; } + VideoLogInfo(""); g_pFolderViewHandle->bExist = true; - mp_list_view_view_type_set(MP_LIST_VIEW_AS_FOLDER_LIST); mp_folder_view_set_is_item_view(false); - //deleting the folder view in idler callback, as this callback object will also be deleted. - ecore_idler_add(delete_folder_item_view_idler_cb, NULL); - g_pFolderViewHandle->pUpdateListUserCbFunc(LIST_UPDATE_TYPE_ALL); + evas_object_smart_callback_add(g_pFolderViewHandle->pNaviFrameHandle, "transition,finished", __mp_folder_item_view_trans_finished_cb, NULL); + mp_folder_item_view_pop(); } static Evas_Object* _create_gengrid(Evas_Object *parent) @@ -1450,6 +1481,55 @@ static Evas_Object* _create_gengrid(Evas_Object *parent) return gengrid; } +Evas_Object *__mp_folder_item_view_create_base_layout(void *pParent) +{ + if (!pParent) { + VideoLogError("parent is invalid"); + return NULL; + } + + VideoLogInfo(""); + + char edj_path[1024] = { 0 }; + char *path = app_get_resource_path(); + snprintf(edj_path, 1024, "%s%s/%s", path, "edje", VIDEO_CUSTOM_THEME); + free(path); + + Evas_Object *layout = elm_layout_add(pParent); + elm_layout_file_set(layout, edj_path, "gengrid/layout"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + + return layout; +} + +static void __mp_folder_item_view_search_view_launch(void *data, Evas_Object *o, const char *emission, const char *source) +{ + VideoLogError("Launching search view"); + __mp_folder_item_view_show_search_view(); +} + + +Evas_Object* mp_folder_item_view_create_title_content(Evas_Object* naviframe) +{ + Evas_Object* layout = elm_layout_add(naviframe); + char path[1024] = {0, }; + char *res_path = app_get_resource_path(); + snprintf(path, 1024, "%s%s/%s", res_path, "edje", "vp-searchbar.edj"); + free(res_path); + elm_layout_file_set(layout, path, "homepage/searchbar"); + + Evas_Object* more_button = elm_button_add(layout); + elm_object_style_set(more_button, "naviframe/more"); + elm_object_part_content_set(layout, "more.icon.swallow", more_button); + + elm_object_signal_callback_add(layout, "searchbar,clicked", "vp", __mp_folder_item_view_search_view_launch, NULL); + + return layout; +} + + + /** * * @param pParent @@ -1463,7 +1543,12 @@ static void __mp_folder_item_view_init(void *pParent) VideoLogInfo(""); - g_pFolderViewHandle->pFolderItemGengrid = _create_gengrid(pParent); + if(g_pFolderViewWidget->pFolderItemViewBaseLayout == NULL) + { + g_pFolderViewWidget->pFolderItemViewBaseLayout = __mp_folder_item_view_create_base_layout(pParent); + } + + g_pFolderViewHandle->pFolderItemGengrid = _create_gengrid(g_pFolderViewWidget->pFolderItemViewBaseLayout); if(g_pFolderViewHandle->pFolderItemGengrid == NULL) { VideoLogError("Faied to create folder item gengrid"); @@ -1471,20 +1556,41 @@ static void __mp_folder_item_view_init(void *pParent) } __mp_folder_item_view_update_video_list(LIST_UPDATE_TYPE_ALL); + g_pFolderViewHandle->bLandscape = false; evas_object_smart_callback_add((Evas_Object *)mp_util_get_main_window_handle(), "wm,rotation,changed", __mp_folder_item_view_rotate_cb, NULL); -} + char *folder_name = mp_util_svc_get_video_folder_name(g_pFolderViewHandle->nFolder_index); -void mp_folder_item_view_remove() -{ - VideoLogInfo(""); - if(g_pFolderViewWidget){ - __mp_folder_soft_back_button_cb(NULL, g_pFolderViewWidget->pBackButton, NULL); + g_pFolderViewHandle->pNaviframeItem = elm_naviframe_item_push(g_pFolderViewHandle->pNaviFrameHandle, folder_name, + NULL, + NULL, + g_pFolderViewWidget->pFolderItemViewBaseLayout, + NULL); + if(g_pFolderViewWidget->pBackButton == NULL) + { + g_pFolderViewWidget->pBackButton = __mp_folder_item_view_create_back_button(g_pFolderViewHandle->pNaviframeItem); } -} + elm_object_item_part_content_set(g_pFolderViewHandle->pNaviframeItem, "elm.swallow.prev_btn", g_pFolderViewWidget->pBackButton); + elm_object_item_signal_emit(g_pFolderViewHandle->pNaviframeItem, "elm,state,prev_btn,show", "elm"); + + + // Adding title content + if(g_pFolderViewWidget->pTitleContent == NULL) + { + g_pFolderViewWidget->pTitleContent = mp_folder_item_view_create_title_content(g_pFolderViewHandle->pNaviframeItem); + } + elm_object_item_part_content_set(g_pFolderViewHandle->pNaviframeItem, "title_content", g_pFolderViewWidget->pTitleContent); + elm_object_item_signal_emit(g_pFolderViewHandle->pNaviframeItem, "elm,state,title_content,show", "elm"); + + elm_naviframe_item_pop_cb_set(g_pFolderViewHandle->pNaviframeItem, __mp_folder_item_view_back_button_cb, g_pFolderViewHandle); + elm_naviframe_item_title_enabled_set(g_pFolderViewHandle->pNaviframeItem, EINA_TRUE, EINA_FALSE); + + mp_folder_item_view_check_more_button_of_toolbar(); + MP_FREE_STRING(folder_name); +} /** * @@ -1604,7 +1710,6 @@ void mp_folder_item_view_push(void *main_handle, void *main_widget, int folder_i g_pFolderViewHandle->pMainHandle = main_handle; g_pFolderViewHandle->pMainWidget = main_widget; g_pFolderViewHandle->pNaviFrameHandle = g_pFolderViewHandle->pMainHandle->pNaviFrameHandle; - g_pFolderViewHandle->pNaviframeItem = g_pFolderViewHandle->pMainHandle->pNaviFrameItem; g_pFolderViewHandle->pUpdateListUserCbFunc = change_view_cb; g_pFolderViewHandle->nFolder_index = folder_index; g_pFolderViewHandle->bExist = false; @@ -1619,7 +1724,7 @@ void mp_folder_item_view_push(void *main_handle, void *main_widget, int folder_i g_pFolderViewHandle->euLev = MP_DB_UPDATE_LEV_1; - __mp_folder_item_view_init(g_pFolderViewHandle->pMainWidget->pListViewBaselayout); + __mp_folder_item_view_init(g_pFolderViewHandle->pNaviFrameHandle); g_pFolderViewHandle->nPlayVideoIndex = -1; mp_util_db_set_update_fun(g_pFolderViewHandle->euLev, __mp_folder_item_view_db_changed_cb); @@ -1639,54 +1744,18 @@ void mp_folder_item_view_update_played_item(void) } VideoLogInfo(""); - if (g_pFolderViewHandle->pVideosGenlist) { - int nGenItemIndex = g_pFolderViewHandle->nPlayVideoIndex; - VideoLogInfo("%d", nGenItemIndex); - - int nGenlistIndex = nGenItemIndex; - if (!g_pFolderViewHandle->bLandscape) - nGenlistIndex = - nGenlistIndex / VP_GENLIST_THUMB_PORTRAIT_COUNT; - else - nGenlistIndex = - nGenlistIndex / VP_GENLIST_THUMB_LANDSPACE_COUNT; + if (g_pFolderViewHandle->pFolderItemGengrid) { + int nVideoIndex = g_pFolderViewHandle->nPlayVideoIndex; + VideoLogInfo("%d", nVideoIndex); - Elm_Object_Item *pTmpVideoGenlistItem = NULL; - pTmpVideoGenlistItem = - elm_genlist_nth_item_get((const Evas_Object *) - g_pFolderViewHandle->pVideosGenlist, - nGenlistIndex); mp_util_svc_destory_video_item_list(); - mp_util_svc_extract_video_list_from_folder(g_pFolderViewHandle-> - pFolderUrl, - __mp_folder_item_view_get_sort_type - (), MP_LIST_VIEW_ALL); - mp_util_svc_update_thumbnail_info(g_pFolderViewHandle-> - nPlayVideoIndex); - elm_genlist_item_update(pTmpVideoGenlistItem); - if (pTmpVideoGenlistItem) { - elm_genlist_item_selected_set(pTmpVideoGenlistItem, - EINA_FALSE); - Evas_Object *pIconContent = - elm_object_item_part_content_get(pTmpVideoGenlistItem, - "elm.icon.1"); - if (!pIconContent) { - VideoLogError(""); - return; - } - Evas_Object *pProgressbar = - elm_layout_content_get(pIconContent, - "elm.progressbar.icon"); - - if (pProgressbar) { - elm_layout_content_unset(pIconContent, - "elm.progressbar.icon"); - MP_DEL_OBJ(pProgressbar); - } - - elm_genlist_item_fields_update(pTmpVideoGenlistItem, - "elm.text.sub.left.bottom", - ELM_GENLIST_ITEM_FIELD_TEXT); + mp_util_svc_extract_video_list_from_folder(g_pFolderViewHandle->pFolderUrl, __mp_folder_item_view_get_sort_type(), MP_LIST_VIEW_ALL); + mp_util_svc_update_thumbnail_info(g_pFolderViewHandle->nPlayVideoIndex); + + Elm_Object_Item *item = elm_gengrid_nth_item_get(g_pFolderViewHandle->pFolderItemGengrid, nVideoIndex); + if(item) + { + elm_gengrid_item_update(item); } } } diff --git a/src/view/mp-video-list-view-main.c b/src/view/mp-video-list-view-main.c index 6ceb22b..17805d4 100755 --- a/src/view/mp-video-list-view-main.c +++ b/src/view/mp-video-list-view-main.c @@ -1192,15 +1192,15 @@ toolbar_videos_item_cb(void *data, Evas_Object *obj, void *event_info) { VideoLogInfo("Called"); mp_thumbnail_view_arrange_list_item(g_pMainViewHandle, g_pMainViewWidget, - LIST_UPDATE_TYPE_ALL, (void *)__mp_list_view_result_user_cb); + LIST_UPDATE_TYPE_ALL, __mp_list_view_result_user_cb); } static void toolbar_folders_item_cb(void *data, Evas_Object *obj, void *event_info) { VideoLogInfo("Called"); - mp_folder_view_view_set(g_pMainViewHandle, g_pMainViewWidget, - LIST_UPDATE_TYPE_ALL, (void *)__mp_list_view_result_user_cb); + mp_folder_view_arrange_folder_list(g_pMainViewHandle, g_pMainViewWidget, + LIST_UPDATE_TYPE_ALL, __mp_list_view_result_user_cb); } Evas_Object* mp_list_view_create_toolbar(Evas_Object* naviframe) @@ -1260,31 +1260,6 @@ Evas_Object* mp_list_view_base_layout_content_set(Evas_Object* content) return old_content; } -void mp_list_view_update_naviframe_title(const char *title, Evas_Object* prev_btn) -{ - if(g_pMainViewHandle == NULL || g_pMainViewHandle->pNaviFrameItem == NULL) - { - VideoLogError("g_pMainViewHandle [%p] pNaviFrameItem [%p] maybe invalid, can't update naviframe title", - g_pMainViewHandle, g_pMainViewHandle->pNaviFrameItem); - return; - } - const char* text = (title ? title: ""); - elm_object_item_part_text_set(g_pMainViewHandle->pNaviFrameItem, "elm.text.title", text); - - Evas_Object* old_content = elm_object_item_part_content_unset(g_pMainViewHandle->pNaviFrameItem, "elm.swallow.prev_btn"); - evas_object_hide(old_content); - if(prev_btn) - { - evas_object_show(prev_btn); - elm_object_item_part_content_set(g_pMainViewHandle->pNaviFrameItem, "elm.swallow.prev_btn", prev_btn); - elm_object_item_signal_emit(g_pMainViewHandle->pNaviFrameItem, "elm,state,prev_btn,show", "elm"); - VideoLogError("Adding back button"); - } else { - elm_object_item_signal_emit(g_pMainViewHandle->pNaviFrameItem, "elm,state,prev_btn,hide", "elm"); - VideoLogError("Removing back button"); - } -} - /** * * @param pNaviFrameHandle diff --git a/src/view/mp-video-list-view-thumbnail.c b/src/view/mp-video-list-view-thumbnail.c index 7d60789..85ddf92 100755 --- a/src/view/mp-video-list-view-thumbnail.c +++ b/src/view/mp-video-list-view-thumbnail.c @@ -265,7 +265,6 @@ void mp_thumbnail_view_update_base_layout_content(Evas_Object* content) MP_DEL_OBJ(g_pThumbnailView->pNocontentlayout); g_pThumbnailView->pNocontentlayout = NULL; } - mp_list_view_update_naviframe_title(NULL, NULL); mp_list_view_check_more_button_of_toolbar(); } -- 2.34.1