Fixed folder item page issues 06/238806/2
authoraman.jeph <aman.jeph@samsung.com>
Fri, 17 Jul 2020 10:36:17 +0000 (16:06 +0530)
committeraman.jeph <aman.jeph@samsung.com>
Fri, 17 Jul 2020 10:43:30 +0000 (16:13 +0530)
Change-Id: I2bb65344da9f1c6b18db116018dbd4560f9aaab0
Signed-off-by: aman.jeph <aman.jeph@samsung.com>
include/view/mp-video-list-view-folder.h
include/view/mp-video-list-view-item-of-folder.h
include/view/mp-video-list-view-main.h
src/view/mp-video-list-view-folder.c
src/view/mp-video-list-view-item-of-folder.c
src/view/mp-video-list-view-main.c
src/view/mp-video-list-view-thumbnail.c

index 3309bc66f2c6da500df5731b4ff339152bfdc383..e3a895a173b282e14dc2fcf3a6facf7ecaaa8fb8 100755 (executable)
@@ -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
index 4e1de34f78dbf8266f71555304fcb7606995fc70..5fe8d56f2f1fef5a12e6282645f17c2749e787a7 100755 (executable)
@@ -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
index d7284031df15345bfeffd6c3918f2697a3ccceaf..b1463b78c9ce1edd1a0a8c1a30c5e8303a048c96 100755 (executable)
@@ -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
index 402ee0ab6a57aa2c6d50bd2cdf6cb64906c00e0e..524fd1ba6367f9ce1ff98aeb6f37ddc5c8467a5a 100755 (executable)
@@ -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
index 401f77001e2b1b41ea6aca719145c4791227827c..01866e7b89af06f25482ebb7c49a7f8bdc9b8ffc 100755 (executable)
@@ -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);
                }
        }
 }
index 6ceb22bc2bafbfa3369aa8173afbb85080285158..17805d4885ca0b8a6d8b685b42d0b234a3382bef 100755 (executable)
@@ -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
index 7d607893a0f87a895bc4b102476b6dfac1c959e2..85ddf923236353814db8b69a397c59e75ec6bdc5 100755 (executable)
@@ -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();
 }