Following Feature Implemented in this Patch 02/241102/2 submit/tizen/20200818.053751
authoraman.jeph <aman.jeph@samsung.com>
Fri, 14 Aug 2020 13:36:17 +0000 (19:06 +0530)
committeraman.jeph <aman.jeph@samsung.com>
Sun, 16 Aug 2020 07:14:31 +0000 (12:44 +0530)
1. Auto Play Next
2. Rename video file
3. Show Thumbnail after rename issue

Change-Id: I68ddcf053c83767f9ca6fb163101aa38a67a1f32
Signed-off-by: aman.jeph <aman.jeph@samsung.com>
21 files changed:
include/common/mp-util-media-service.h
include/mp-video-value-define.h
res/edje/vp-button-white.edc
res/edje/vp-entry-popup.edc
res/images/textinput_input_line.png [new file with mode: 0755]
res/po/en.po
res/po/en_PH.po
res/po/en_US.po
src/common/mp-util-media-service.c
src/view/mp-video-list-remove-view.c
src/view/mp-video-list-share-via-view.c
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-select.c
src/view/mp-video-list-view-thumbnail.c
src/view/mp-video-search-view.c
src/widget/mp-video-list-auto-play-ctrl.c
src/widget/mp-video-list-sort-ctrl.c
src/widget/mp-video-rename-ctrl.c
tizen-manifest.xml

index 2bdb59d121e9e4c41395947878d783f5824c39c0..f962c865100363b9f28b71ecdca971e34dfd92e6 100755 (executable)
@@ -164,4 +164,9 @@ bool mp_util_svc_is_device_storage(const int nVideoItemIndex);
 bool mp_util_svc_check_valid_media_id(char *pMediaId, int style,
                                                                          int *nMediaIndex);
 
+void mp_util_svc_update_video_item(char *mediaUrl, int nVideoItemIndex);
+void mp_util_svc_generate_thumbnai(int nVideoItemIndex);
+
+
+
 #endif                                                 // _MP_UTIL_DATABASE_
index 0ffe02eea27a47f1dc50c1cbb1a4c21ed166976c..dc16fe98290d54157dc7b9a5d225707248c127a2 100755 (executable)
 #define VIDEO_POPUP_DETAIL_ITEM_W              367
 
 #define VIDEO_FILE_ENTRY_LEN_MAX               255
-#define VIDEO_FILE_SEARCH_CHAR_LEN_MAX 50
+#define VIDEO_FILE_SEARCH_CHAR_LEN_MAX 64
 #define VIDEO_CTXPOPUP_ITEM_W                  500
 #define VIDEO_CTXPOPUP_TITLE_H                 54
 
index 6732239f47d7744d6bfd25a9fa1512e7a4541d6e..dbf821029323c761378a918857938b926d359bcb 100755 (executable)
@@ -22,6 +22,7 @@
 
 #define BUTTON_BG_BACK_NORMAL "T01_icon_soft_back.png"
 #define BUTTON_BG_CLEAR_NORMAL "T01-2_icon_toolbar_cancel.png"
+#define BUTTON_ICON_CLEAR_NORMAL "icon_search_clear.png"
 
 //////////////////////////////////////////////////////////////
 
@@ -298,7 +299,7 @@ group {
        name: "elm/button/base/clear";
        images
        {
-               image: BUTTON_BG_CLEAR_NORMAL COMP;
+               image: BUTTON_ICON_CLEAR_NORMAL COMP;
        }
        parts {
                part {
@@ -308,8 +309,9 @@ group {
                        description {
                                state: "default" 0.0;
                                color: 0 0 0 0;
-                               min: 50 50;
-                               max: 50 50;
+                               min: 32 32;
+                               max: 32 32;
+                               color: 0 0 0 0;
                        }
                }
                part {
@@ -327,10 +329,10 @@ group {
                                        to: "bg";
                                }
                                image {
-                                       normal: BUTTON_BG_CLEAR_NORMAL;
+                                       normal: BUTTON_ICON_CLEAR_NORMAL;
                                }
-                               min: 30 30;
-                               max: 30 30;
+                               min: 15 15;
+                               max: 15 15;
                                color: 0 0 0 255;
                        }
                }
index b43d04464986b86621c54c523ce2391bf03ff226..37cf0237b7f8036e6187b71df6ee0e7778b2178f 100755 (executable)
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-#define VP_POPUP_ENTRY_WIDTH_HEIGHT_MIN                0 60
-#define PV_POPUP_ENTRY_CONTENT_MIN                             0 60
-#define POPUP_CONTENT_PADDING_LEFT_MIN_INC 15
-#define POPUP_CONTENT_PADDING_RIGHT_MIN_INC 15
+#define VP_POPUP_ENTRY_WIDTH_HEIGHT_MIN 0 76
+#define VP_POPUP_ENTRY_WIDTH_HEIGHT_MAX -1 76
+#define PV_POPUP_ENTRY_CONTENT_MIN 0 26
+#define PV_POPUP_ENTRY_CONTENT_MAX -1 26
+#define POPUP_CONTENT_PADDING_LEFT_MIN_INC 40 76
+#define POPUP_CONTENT_PADDING_RIGHT_MIN_INC 40 76
 
+images {
+       image: "textinput_input_line.png" COMP;
+}
+color_classes{
+       color_class { "message_color_normal";
+               color: 10 14 74 255;
+       }
+       color_class { "message_color_warning";
+               color: 170 24 24 255;
+       }
+}
+styles {
+       style { name: "inputfield_info_noraml";
+               base: "font=Tizen:weight=Regular:width=BreezeSans font_size=18 align=left color:#0a0e4a color_class:message_color_normal ellipsis=1.0 wrap=none text_class=tizen";
+       }
+       style { name: "inputfield_info_warning";
+               base: "font=Tizen:weight=Regular:width=BreezeSans font_size=18 align=left color:#aa1818 color_class:message_color_warning ellipsis=1.0 wrap=none text_class=tizen";
+       }
+}
 
-group {
-       name: "pv.popup.entry";
+group { name: "pv.popup.entry";
        parts {
-               part {
-                       name:"bg";
-                       type: RECT;
+               part { name:"bg";
+                       type: SPACER;
                        scale: 1;
-                       description {
-                               state: "default" 0.0;
+                       description { state: "default" 0.0;
                                min: VP_POPUP_ENTRY_WIDTH_HEIGHT_MIN;
-                               color: 0 0 0 0;
+                               max: VP_POPUP_ENTRY_WIDTH_HEIGHT_MAX;
+                               //color: 0 255 0 255;
                        }
                }
-
-               part {
-                       name: "pad_l";
+               part { name: "pad_t";
                        type: SPACER;
                        scale: 1;
-                       description {
-                               state: "default" 0.0;
-                               min: POPUP_CONTENT_PADDING_LEFT_MIN_INC 0;
-                               fixed: 1 0;
+                       description { state: "default" 0.0;
+                               min: 0 12;
+                               max: -1 12;
+                               fixed: 0 1;
                                align: 0.0 0.0;
-                               rel1 { relative: 0.0 0.0; to: "bg";}
-                               rel2 { relative: 0.0 1.0; to: "bg";}
+                               rel1 { to: "bg"; relative: 0.0 0.0; }
+                               rel2 { to: "bg"; relative: 1.0 0.0; }
+                               //color: 255 255 0 255;
                        }
                }
-
-               part {
-                       name: "pad_r";
-                       type: SPACER;
+               //This swallow is 26 ..but in actual it is taking 29px
+               //So we have to increase overall size to 76
+               part { name: "elm.swallow.content";
+                       type: SWALLOW;
+                       scale: 1;
+                       description { state: "default" 0.0;
+                               min: PV_POPUP_ENTRY_CONTENT_MIN;
+                               max: PV_POPUP_ENTRY_CONTENT_MAX;
+                               fixed: 0 1;
+                               align: 0.0 0.0;
+                               rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "pad_t"; }
+                               rel2 { relative: 0.0 1.0; to_x: "inputfield.button.gap"; to_y: "pad_t"; }
+                               color: 0 255 0 255;
+                       }
+               }
+               part { name: "inputfield.button.gap";
+                       type:SPACER;
                        scale: 1;
-                       description {
-                               state: "default" 0.0;
-                               min: POPUP_CONTENT_PADDING_RIGHT_MIN_INC 0;
-                               fixed: 1 0;
+                       description { state: "default" 0.0;
+                               min: 16 26;
+                               max: 16 26;
+                               rel1 { to: "elm.swallow.end"; relative: 0.0 1.0; }
+                               rel2 { to: "elm.swallow.end"; relative: 0.0 1.0; }
                                align: 1.0 1.0;
-                               rel1 { relative: 0.9 0.0; to: "bg";}
-                               rel2 { relative: 0.9 1.0; to: "bg";}
+                               //color: 255 0 0 255;
                        }
                }
-               part {
-                       name: "elm.swallow.content";
+               part { name: "elm.swallow.end";
                        type: SWALLOW;
                        scale: 1;
-                       description {
-                               state: "default" 0.0;
-                               min: PV_POPUP_ENTRY_CONTENT_MIN;
+                       description { state: "default" 0.0;
+                               min: 32 32;
+                               max: 32 32;
+                               fixed: 1 1;
+                               align: 1.0 0.0;
+                               rel1 { relative: 1.0 0.0; to: "bg"; offset: 0 9; }
+                               rel2 { relative: 1.0 0.0; to: "bg"; offset: 0 0; }
+                               color: 0 0 255 255;
+                       }
+               }
+               part { name: "separator.line";
+                       type: IMAGE;
+                       scale: 1;
+                       description { state: "default" 0.0;
+                               min: 0 1;
+                               max: -1 1;
                                fixed: 0 1;
-                               align: 0.0 0.5;
-                               rel1 { relative: 1.0 0.5; to_x: "pad_l"; to_y: "bg"; }
-                               rel2 { relative: 0.0 0.5; to_x: "pad_r"; to_y: "bg"; }
+                               align: 0.0 0.0;
+                               rel1 { to_x: "bg"; to_y: "elm.swallow.content"; relative: 0.0 1.0; }
+                               rel2 { to_x: "bg"; to_y: "elm.swallow.content"; relative: 1.0 1.0; }
+                               image.normal: textinput_input_line.png;
                        }
                }
-               part {
-                       name: "elm.swallow.end";
-                       type: SWALLOW;
+               part { name: "inputfield.message";
+                       type: TEXT;
                        scale: 1;
-                       description {
-                               state: "default" 0.0;
-                               min: 30 30;
-                               max: 30 30;
-                               align: 0.0 0.5;
-                               rel1 { relative: 0.85 0.5; to_x: "bg"; to_y: "bg"; }
-                               rel2 { relative: 1.0 0.5; to_x: "bg"; to_y: "bg"; }
-                               fixed: 1 1;
+                       mouse_events: 0;
+                       description { state: "default" 0.0;
+                               min: 0 22;
+                               max: -1 22;
+                               rel1 { to: "separator.line"; relative: 0.0 1.0; };
+                               rel2 { to: "pad_b"; relative: 1.0 0.0; }
+                               text {
+                                       font:     "Tizen:weight=Regular:width=BreezeSans";
+                                       size:     18;
+                                       min:      1 0;
+                                       align:    0.0 0.5;
+                                       text_class: "tizen";
+                               }
+                               visible: 1;
+                               color: 10 14 74 255;
+                       }
+                       description { state: "warning" 0.0;
+                               inherit: "default" 0.0;
+                               color: 170 24 24 255;
                        }
                }
-
+               part { name: "pad_b";
+                       type: SPACER;
+                       scale: 1;
+                       description { state: "default" 0.0;
+                               min: 0 12;
+                               max: -1 12;
+                               fixed: 0 1;
+                               align: 0.0 1.0;
+                               rel1 { to: "bg"; relative: 0.0 1.0; }
+                               rel2 { to: "bg"; relative: 1.0 1.0; }
+                       }
+               }
+       }
+       programs {
+               program { name: "warning_state_set";
+                       signal: "info,msg,warning";
+                       source: "vp";
+                       action: STATE_SET "warning" 0.0;
+                       target: "inputfield.message";
+               }
+               program { name: "normal_state_set";
+                       signal: "info,msg,default";
+                       source: "vp";
+                       action: STATE_SET "default" 0.0;
+                       target: "inputfield.message";
+               }
        }
 } /* group */
 
diff --git a/res/images/textinput_input_line.png b/res/images/textinput_input_line.png
new file mode 100755 (executable)
index 0000000..c980476
Binary files /dev/null and b/res/images/textinput_input_line.png differ
index f33aa9ea80468f76619899f9a66adde518dbc702..383fe1c822b5ab449c192e162d46c58b315ce028 100755 (executable)
@@ -179,13 +179,13 @@ msgid "IDS_VIDEO_SBODY_SMALL_M_STATUS"
 msgstr "Small"
 
 msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
-msgstr "File name already in use."
+msgstr "Name is already in use."
 
 msgid "IDS_COM_BODY_CLOSE"
 msgstr "Close"
 
 msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
-msgstr "Maximum number of characters reached."
+msgstr "Can't enter more than 64 characters."
 
 msgid "IDS_COM_SK_STOP"
 msgstr "Stop"
index 0156bdb7a25b70be2b1275b6e0c8b94d51736099..0b5b98948d4dbdda0ba33ceea910e2ef7ce25cdf 100755 (executable)
@@ -179,13 +179,13 @@ msgid "IDS_VIDEO_SBODY_SMALL_M_STATUS"
 msgstr "Small"
 
 msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
-msgstr "File name already in use."
+msgstr "Name is already in use."
 
 msgid "IDS_COM_BODY_CLOSE"
 msgstr "Close"
 
 msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
-msgstr "Maximum number of characters reached."
+msgstr "Can't enter more than 64 characters."
 
 msgid "IDS_COM_SK_STOP"
 msgstr "Stop"
index df193fac1276245c8e540c32c47deedab6012e7e..29cea44f39337c34d6111e1e5ea5466841608f97 100755 (executable)
@@ -179,13 +179,13 @@ msgid "IDS_VIDEO_SBODY_SMALL_M_STATUS"
 msgstr "Small"
 
 msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
-msgstr "File name already in use."
+msgstr "Name is already in use."
 
 msgid "IDS_COM_BODY_CLOSE"
 msgstr "Close"
 
 msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
-msgstr "Maximum number of characters reached."
+msgstr "Can't enter more than 64 characters."
 
 msgid "IDS_COM_SK_STOP"
 msgstr "Stop"
index 3b69dcbd79ea6f620abeeb4fe8a79ed15b1f9785..bc06b2ef0c6c1576d3aa777fab9e6ce74f3cc2f6 100755 (executable)
@@ -1752,6 +1752,21 @@ char *mp_util_svc_get_video_folder_id(int nVideoFolderIndex)
        return NULL;
 }
 
+void mp_util_svc_generate_thumbnai(int nVideoItemIndex)
+{
+       if (nVideoItemIndex < 0 || nVideoItemIndex >= mp_util_svc_get_video_list_size_for_checking_index()) {
+               VideoLogError("Error number of list item.");
+               return;
+       }
+
+       media_info_h pVideoItem = (media_info_h) eina_list_nth(VideoItemList, nVideoItemIndex);
+
+       if ( media_info_generate_thumbnail(pVideoItem) != MEDIA_CONTENT_ERROR_NONE) {
+               VideoLogWarning("media_info_generate_thumbnail Failed");
+       }
+}
+
+
 /**
 * Assing thumbnail update callback function
 * @param nVideoItemIndex : index of the video
@@ -1814,6 +1829,110 @@ void mp_util_svc_cancel_thumbnail_update(int nVideoItemIndex)
        }
 }
 
+void mp_util_svc_update_video_item(char *mediaUrl, int nVideoItemIndex)
+{
+       if (!VideoItemList) {
+                       VideoLogError("Not exist video item list handle.");
+                       return;
+               }
+
+               char *szMediaUri = strdup(mediaUrl);
+
+               if (!szMediaUri) {
+                       VideoLogError("No exist video path.");
+                       return;
+               }
+
+               VideoSecureLogInfo("szMediaUri : %s", szMediaUri);
+
+               media_info_h pUpdatedVideoItem = NULL;
+               filter_h m_FilterHandle = NULL;
+               char szTmpStr[STR_LEN_MAX] = { 0, };
+
+               if (media_filter_create(&m_FilterHandle) != MEDIA_CONTENT_ERROR_NONE) {
+                       VideoLogInfo("Fail to create media filter handle.");
+                       return;
+               }
+
+               memset(szTmpStr, 0, STR_LEN_MAX);
+               snprintf(szTmpStr, STR_LEN_MAX,
+                                "MEDIA_TYPE = 1 AND (MEDIA_STORAGE_TYPE=0 OR MEDIA_STORAGE_TYPE=1 OR MEDIA_STORAGE_TYPE=2 OR MEDIA_STORAGE_TYPE=101 OR MEDIA_STORAGE_TYPE=121) AND MEDIA_PATH = \"%s\"",
+                                szMediaUri);
+               if (media_filter_set_condition
+                       (m_FilterHandle, szTmpStr,
+                        MEDIA_CONTENT_COLLATE_DEFAULT) != MEDIA_CONTENT_ERROR_NONE) {
+                       VideoLogError("Fail to set filter condition.");
+                       media_filter_destroy(m_FilterHandle);
+                       if (szMediaUri) {
+                               free(szMediaUri);
+                               szMediaUri = NULL;
+                       }
+                       return;
+               }
+
+               if (media_info_foreach_media_from_db
+                       (m_FilterHandle, mp_util_svc_iterate_for_get_video_item_cb,
+                        &pUpdatedVideoItem) != MEDIA_CONTENT_ERROR_NONE) {
+                       VideoLogError
+                               ("Fail to get video item list with filter condition.");
+                       media_filter_destroy(m_FilterHandle);
+                       if (szMediaUri) {
+                               free(szMediaUri);
+                               szMediaUri = NULL;
+                       }
+                       return;
+               }
+
+               if (media_filter_destroy(m_FilterHandle) != MEDIA_CONTENT_ERROR_NONE) {
+                       VideoLogError("Fail to destroy media filter handle.");
+                       if (szMediaUri) {
+                               free(szMediaUri);
+                               szMediaUri = NULL;
+                       }
+                       return;
+               }
+
+               if (pUpdatedVideoItem) {
+                       char *szTmpStr = NULL;
+                       media_info_get_thumbnail_path(pUpdatedVideoItem, &szTmpStr);
+                       VideoSecureLogDebug("pUpdatedVideoItem - thumbnail path : %s",
+                                                               szTmpStr);
+                       if (szTmpStr) {
+                               free(szTmpStr);
+                               szTmpStr = NULL;
+                       }
+
+                       media_info_get_display_name(pUpdatedVideoItem, &szTmpStr);
+                       VideoSecureLogDebug("pUpdatedVideoItem -  title : %s", szTmpStr);
+                       if (szTmpStr) {
+                               free(szTmpStr);
+                               szTmpStr = NULL;
+                       }
+
+                       int nCounter = 0;
+                       Eina_List *pCurList = NULL;
+                       media_info_h pTmpVideoItem = NULL;
+                       EINA_LIST_FOREACH(VideoItemList, pCurList, pTmpVideoItem) {
+                               if (nCounter == nVideoItemIndex) {
+                                       VideoLogError("nCounter : %d", nCounter);
+                                       if (pTmpVideoItem) {
+                                               media_info_destroy(pTmpVideoItem);
+                                       }
+                                       pCurList->data = pUpdatedVideoItem;
+                                       break;
+                               }
+                               ++nCounter;
+                       }
+               } else {
+                       VideoLogError("Fail to get video item from db..");
+               }
+
+               if (szMediaUri) {
+                       free(szMediaUri);
+                       szMediaUri = NULL;
+               }
+}
+
 /**
 * Update thumbnail info to DB
 * @param nVideoItemIndex : index of the video
@@ -2074,10 +2193,10 @@ void mp_util_svc_update_database_cb(media_content_error_e nError, int nPid,
                return;
        }
 
-       if (nPid == mp_util_get_pid()) {
+       /*if (nPid == mp_util_get_pid()) {
                VideoLogError("It is same processor");
                return;
-       }
+       }*/
 
        UpdateDatabaseCbFunc pUpdateDbCbFunc = pUserData;
 
index c62a1c983998b47af217d86232f001f320c607fc..3f64a090e98b084f559f98e32d56e3356bf5b0ad 100755 (executable)
@@ -842,11 +842,11 @@ static Evas_Object *__mp_remove_folder_view_get_grid_icon_cb(void *pUserData, Ev
 
                Evas_Object *img = elm_image_add(pObject);
 
-               if(pThumbIconUri == NULL)
+               if(pThumbIconUri == NULL || (strlen(pThumbIconUri) == 0))
                {
                        char edj_path[1024] = {0, };
                        char *path = app_get_resource_path();
-                       snprintf(edj_path, 1024, "%s%s/%s", path, "images", "player_library_list_thumbnail_default.png");
+                       snprintf(edj_path, 1024, "%s%s/%s", path, "images", "default_thumbnail.png");
                        free(path);
                        elm_image_aspect_fixed_set(img, EINA_TRUE);
                        elm_image_file_set(img, edj_path, NULL);
@@ -903,7 +903,7 @@ static Evas_Object *__mp_remove_view_get_grid_icon_cb(void *pUserData, Evas_Obje
 
                Evas_Object *img = elm_image_add(pObject);
 
-               if(pThumbIconUri == NULL)
+               if(pThumbIconUri == NULL || (strlen(pThumbIconUri) == 0 ))
                {
                        char *path = app_get_resource_path();
                        snprintf(edj_path, 1024, "%s%s/%s", path, "images", "default_thumbnail.png");
index 301095dd6be9731288e3d4205376e7631e743e38..9ba6f76d78e4bbf8a31853d1626b1fb46a9151e9 100755 (executable)
@@ -920,7 +920,7 @@ static Evas_Object *__mp_share_view_get_grid_icon_cb(void *pUserData,
 
                Evas_Object *img = elm_image_add(pObject);
 
-               if(pThumbIconUri == NULL)
+               if(pThumbIconUri == NULL || (strlen(pThumbIconUri) == 0 ))
                {
                        char *path = app_get_resource_path();
                        snprintf(edj_path, 1024, "%s%s/%s", path, "images", "default_thumbnail.png");
index fd726e85428d4a4812e29d5c7ef32fce0d38fb0e..70de54c6d204399ea4ccbe4f99a270a52e30f7d9 100755 (executable)
@@ -271,7 +271,7 @@ static Evas_Object *mp_folder_view_get_icon_of_folder_cb(void *pUserData,Evas_Ob
 
                Evas_Object *img = elm_image_add(pObject);
 
-               if(pThumbIconUri == NULL)
+               if(pThumbIconUri == NULL || (strlen(pThumbIconUri) == 0))
                {
                        char edj_path[1024] = {0, };
                        char *path = app_get_resource_path();
index 884c7f7e6c528c76c79ffa92dadfd99a86a2d7af..256a4dfd7168f21fa2a970045f20cded3c787d25 100755 (executable)
@@ -286,7 +286,7 @@ Evas_Object *__mp_folder_item_view_get_icon_of_video_item_cb(void
 
                Evas_Object *img = elm_image_add(pObject);
 
-               if(pThumbIconUri == NULL)
+               if(pThumbIconUri == NULL || (strlen(pThumbIconUri) == 0 ))
                {
                        char *path = app_get_resource_path();
                        snprintf(edj_path, 1024, "%s%s/%s", path, "images", "default_thumbnail.png");
index 17805d4885ca0b8a6d8b685b42d0b234a3382bef..bbfe18b595b7492c08437e2f5bd2d4ec541267d2 100755 (executable)
@@ -1317,9 +1317,9 @@ void mp_list_view_init_widget(void *pNaviFrameHandle)
 
        g_pMainViewHandle->nListTabType = mp_util_get_main_tab_type();
 
-       if (g_pMainViewHandle->nListTabType == LIST_TAB_TYPE_PERSONAL) {
+       /*if (g_pMainViewHandle->nListTabType == LIST_TAB_TYPE_PERSONAL) {
                __mp_list_personal_view_display();
-       }
+       }*/
        elm_toolbar_item_selected_set(g_pToolbarItemData.videos_item, EINA_TRUE);
 }
 
index 3e99c87492ad944622f4c0445dc2f01d1a904b60..e287f28da5608950824c3429cebff4b17c82ec13 100755 (executable)
 #include "vp-file-util.h"
 #include "mp-rotate-ctrl.h"
 #include "videos-view-mgr.h"
+#include "mp-video-list-view-main.h"
+
+#define GENGRID_ITEM_WIDTH                             304  // Width is  ICON(280) + LEFT_PADDING(12)  RIGHT_PADDING(12)
+#define GENGRID_ITEM_HEIGHT                            256  //Height is ICON(160) + TEXT_PART(56) + Bottom_PADDING(40)
+#define BASE_LAYOUT_SWALLOW                            "elm.content.swallow"
+
+typedef struct _stGengridItemData{
+       Elm_Object_Item *item;
+       Evas_Object *icon;
+       int videoIndex;
+}stGengridItemData;
+
 
 typedef struct {
        void *pNaviFrameHandle;
        void *pNaviFrameItem;
        void *pPreNaviItem;
        void *pGenlist;
-       Elm_Genlist_Item_Class *pGenListItc;
-       Elm_Genlist_Item_Class *pGenListLandscapeItc;
-       Elm_Gengrid_Item_Class *pGenGridItc_1;
-       Elm_Gengrid_Item_Class *pGenGridItc_2;
+       Elm_Gengrid_Item_Class *pSelectGIC;
        MpMediaSvcSortType nSortType;
        MpDbUpdateViewLev euLev;
        ChangeSelectViewCbFunc pChangeViewUserCbFunc;
@@ -60,7 +69,6 @@ typedef struct {
 } st_SelectViewHandle;
 
 typedef struct {
-       Evas_Object *pBox;
        Evas_Object *pBaselayout;
 } st_SelectViewWidget;
 
@@ -75,9 +83,6 @@ bool mp_select_view_arrange_video_list(void *pGenlist, bool bNeedSvc);
 void mp_select_view_naviframe_transition_effect_cb(void *pUserData,
                                                                                                   Evas_Object * pObject,
                                                                                                   void *pEventInfo);
-static void __mp_select_view_base_layout_del_cb(void *pUserData, Evas * e,
-                                                                                               Evas_Object * pObject,
-                                                                                               void *pEventInfo);
 
 /**
  *
@@ -87,54 +92,20 @@ void mp_select_view_destroy(void)
        VideoLogInfo("");
 
        if (g_pSelectHandle) {
+               mp_util_db_set_update_fun(g_pSelectHandle->euLev, NULL);
                evas_object_smart_callback_del(g_pSelectHandle->pNaviFrameHandle,
                                                                           "transition,finished",
                                                                           mp_select_view_naviframe_transition_effect_cb);
-
+               MP_DEL_GRID_ITC(g_pSelectHandle->pSelectGIC);
+               elm_gengrid_clear(g_pSelectHandle->pGenlist);
                MP_DEL_OBJ(g_pSelectHandle->pGenlist);
-               MP_DEL_ITC(g_pSelectHandle->pGenListItc);
                MP_FREE_STRING(g_pSelectHandle->pFolderUrl);
-               MP_FREE_STRING(g_pSelectHandle);
-       }
-
-       if (g_pSelectWidget) {
-               MP_DEL_OBJ(g_pSelectWidget->pBox);
-
                if (g_pSelectWidget->pBaselayout != NULL) {
-                       evas_object_event_callback_del(g_pSelectWidget->pBaselayout,
-                                                                                  EVAS_CALLBACK_DEL,
-                                                                                  __mp_select_view_base_layout_del_cb);
                        MP_DEL_OBJ(g_pSelectWidget->pBaselayout);
+                       MP_FREE_STRING(g_pSelectWidget);
                }
-               MP_FREE_STRING(g_pSelectWidget);
-       }
-}
-
-/**
- *
- */
-static void __mp_select_view_reset(void)
-{
-       VideoLogInfo("");
-
-       if (g_pSelectHandle) {
-               MP_FREE_STRING(g_pSelectHandle->pFolderUrl);
-               mp_util_db_set_update_fun(g_pSelectHandle->euLev, NULL);
-               mp_util_db_set_backup_fun(g_pSelectHandle->euLev, NULL);
-               evas_object_smart_callback_del(g_pSelectHandle->pNaviFrameHandle,
-                                                                          "transition,finished",
-                                                                          mp_select_view_naviframe_transition_effect_cb);
-               g_pSelectHandle->pGenlist = NULL;
                MP_FREE_STRING(g_pSelectHandle);
        }
-
-       if (g_pSelectWidget) {
-
-               g_pSelectWidget->pBox = NULL;
-               g_pSelectWidget->pBaselayout = NULL;
-
-               MP_FREE_STRING(g_pSelectWidget);
-       }
 }
 
 /**
@@ -171,6 +142,7 @@ static void __mp_select_view_trans_finished_cb(void *pUserData,
        }
 
        mp_widget_ctrl_enable_navi_handle_focus(obj);
+       mp_select_view_destroy();
 
        evas_object_smart_callback_del(obj, "transition,finished",
                                                                   __mp_select_view_trans_finished_cb);
@@ -238,7 +210,7 @@ void mp_select_view_naviframe_transition_effect_cb(void *pUserData,
        }
 
        if (pTmpContents) {
-               if (pTmpContents == g_pSelectWidget->pBox) {
+               if (pTmpContents == g_pSelectWidget->pBaselayout) {
                } else {
                        VideoLogInfo
                                ("It's not pListShareViaViewTabbarLayout in top screen.");
@@ -248,104 +220,6 @@ void mp_select_view_naviframe_transition_effect_cb(void *pUserData,
        }
 }
 
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pPart
- * @return
- */
-static char *__mp_select_view_get_label_of_folder_cb(const void *pUserData,
-                                                                                                        Evas_Object * pObject,
-                                                                                                        const char *pPart)
-{
-
-       int nFolderItemIndex = (int) pUserData;
-
-       if (!g_strcmp0(pPart, "elm.text.main.left.top")) {
-               char *szTitle = NULL;
-               szTitle = mp_util_svc_get_video_folder_name(nFolderItemIndex);
-
-               char *szTitleUtf8 = elm_entry_utf8_to_markup(szTitle);
-
-               MP_FREE_STRING(szTitle);
-               return szTitleUtf8;
-       } else if (!g_strcmp0(pPart, "elm.text.sub.left.bottom")) {
-               char *szFolderPath = NULL;
-               szFolderPath = mp_util_svc_get_video_folder_url(nFolderItemIndex);
-               char *pDes_path = mp_util_get_dir_by_path(szFolderPath);
-               MP_FREE_STRING(szFolderPath);
-               char *szFolderUtf8 = elm_entry_utf8_to_markup(pDes_path);
-               MP_FREE_STRING(pDes_path);
-               return szFolderUtf8;
-
-       }
-
-       return NULL;
-}
-
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pPart
- * @return
- */
-static Evas_Object *__mp_select_view_get_icon_of_folder_cb(const void
-                                                                                                                  *pUserData,
-                                                                                                                  Evas_Object *
-                                                                                                                  pObject,
-                                                                                                                  const char
-                                                                                                                  *pPart)
-{
-       int nFolderItemIndex = (int) pUserData;
-       VideoLogInfo("Index : %d", nFolderItemIndex);
-
-       if (!g_strcmp0(pPart, "elm.icon.1")) {
-               VideoLogInfo("pPart: elm.icon.1 - thumbnail");
-
-               Evas_Object *pLayout = NULL;
-               Evas_Object *pBg = NULL;
-               char *pThumbIconUri =
-                       mp_util_get_folder_thumbnail(nFolderItemIndex,
-                                                                                mp_sort_ctrl_get_sort_state());
-               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);
-               pLayout = elm_layout_add(pObject);
-               elm_layout_file_set(pLayout, edj_path,
-                                                       "listview.thumbnail.layout");
-
-               if (!pThumbIconUri || !vp_file_exists(pThumbIconUri)) {
-                       MP_FREE_STRING(pThumbIconUri);
-               }
-
-               pBg =
-                       mp_util_create_preload_image(pLayout, pThumbIconUri,
-                                                                                VIDEO_ICON_WIDTH);
-               elm_layout_content_set(pLayout, "elm.thumbnail.icon", pBg);
-               if (pBg)
-                       evas_object_show(pBg);
-
-               if (!mp_util_create_folder_sub_icon(pLayout, nFolderItemIndex)) {
-                       VideoLogWarning
-                               ("Create sub icon is failed. nFolderItemIndex: %d",
-                                nFolderItemIndex);
-               }
-
-               MP_FREE_STRING(pThumbIconUri);
-
-               evas_object_show(pLayout);
-
-               return pLayout;
-       }
-
-       return NULL;
-}
-
 /**
  *
  * @return
@@ -366,106 +240,6 @@ int mp_select_view_get_sort_type(void)
        return g_pSelectHandle->nSortType;
 }
 
-#ifdef VS_FEATURE_LIST_VIEW
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pPart
- * @return
- */
-static char *__mp_select_view_get_label_of_video_item_cb(const void
-                                                                                                                *pUserData,
-                                                                                                                Evas_Object *
-                                                                                                                pObject,
-                                                                                                                const char *pPart)
-{
-       int nVideoItemIndex = (int) pUserData;
-
-       if (!strcmp(pPart, "elm.text.main.left.top")) {
-               char *szTitle = mp_util_svc_get_video_title(nVideoItemIndex);
-               char *szTitleUtf8 = elm_entry_utf8_to_markup(szTitle);
-               if (szTitle) {
-                       free(szTitle);
-                       szTitle = NULL;
-               }
-
-               return szTitleUtf8;
-       } else if (!strcmp(pPart, "elm.text.sub.left.bottom")) {
-               return mp_util_svc_get_duration_str_time(nVideoItemIndex);
-       }
-       return NULL;
-}
-
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pPart
- * @return
- */
-static Evas_Object *__mp_select_view_get_icon_of_video_item_cb(const void
-                                                                                                                          *pUserData,
-                                                                                                                          Evas_Object
-                                                                                                                          *pObject,
-                                                                                                                          const char
-                                                                                                                          *pPart)
-{
-       Evas_Object *pLayout = NULL;
-
-       int nVideoItemIndex = (int) pUserData;
-       if (!pPart || !pObject) {
-               return NULL;
-       }
-
-       if (!strcmp(pPart, "elm.icon.1")) {
-               VideoLogInfo("pPart: elm.icon.1 - thumbnail");
-
-               char *pThumbIconUri =
-                       mp_util_svc_get_video_thumbnail(nVideoItemIndex);
-               Evas_Object *pBg = NULL;
-               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);
-               pLayout = elm_layout_add(pObject);
-               elm_layout_file_set(pLayout, edj_path,
-                                                       "listview.thumbnail.layout");
-
-               if (!pThumbIconUri || !vp_file_exists(pThumbIconUri)) {
-                       MP_FREE_STRING(pThumbIconUri);
-               }
-
-               pBg =
-                       mp_util_create_preload_image(pLayout, pThumbIconUri,
-                                                                                VIDEO_ICON_WIDTH);
-               elm_layout_content_set(pLayout, "elm.thumbnail.icon", pBg);
-
-               if (pBg)
-                       evas_object_show(pBg);
-
-               MP_FREE_STRING(pThumbIconUri);
-
-               if (!mp_util_create_video_sub_icon(pLayout, nVideoItemIndex)) {
-                       VideoLogWarning("Local File or Create sub icon is failed.",
-                                                       nVideoItemIndex);
-               }
-
-               if (pLayout) {
-                       evas_object_show(pLayout);
-               }
-
-               return pLayout;
-       }
-
-       MP_DEL_OBJ(pLayout);
-
-       return NULL;
-}
-#endif
-
 /*if other view need update select view, need register this update callback*/
 /**
  *
@@ -480,13 +254,12 @@ static void __mp_select_view_result_view_update_cb(void)
                g_pSelectHandle->bRename = TRUE;
 
 
-       bool bNormalShow =
-               mp_select_view_arrange_video_list(g_pSelectHandle->pGenlist, TRUE);
+       bool bNormalShow = mp_select_view_arrange_video_list(g_pSelectHandle->pGenlist, FALSE);
        if (bNormalShow) {
                Elm_Object_Item *pItem = NULL;
-               pItem = elm_genlist_first_item_get(g_pSelectHandle->pGenlist);
+               pItem = elm_gengrid_first_item_get(g_pSelectHandle->pGenlist);
                if (pItem) {
-                       elm_genlist_item_bring_in(pItem, ELM_GENLIST_ITEM_SCROLLTO_IN);
+                       elm_gengrid_item_bring_in(pItem, ELM_GENGRID_ITEM_SCROLLTO_IN);
                }
        } else {
                elm_naviframe_item_pop(g_pSelectHandle->pNaviFrameHandle);
@@ -532,7 +305,7 @@ static void __mp_select_view_show_detail_view(int nIndex, bool IsFolder)
  * @param pObject
  * @param pEventInfo
  */
-static void __mp_select_view_genlist_selected_cb(void *pUserData,
+static void __mp_select_view_gengrid_item_selected_cb(void *pUserData,
                                                                                                 Evas_Object * pObject,
                                                                                                 void *pEventInfo)
 {
@@ -541,20 +314,13 @@ static void __mp_select_view_genlist_selected_cb(void *pUserData,
                        ("[WARNING] Main handles of list view are not existed.");
                return;
        }
-#ifdef VS_FEATURE_THUMBNAIL_VIEW
-       Elm_Object_Item *pSelectedItem =
-               elm_gengrid_selected_item_get(pObject);
+
+       Elm_Object_Item *pSelectedItem = elm_gengrid_selected_item_get(pObject);
        if (pSelectedItem) {
                elm_gengrid_item_selected_set(pSelectedItem, EINA_FALSE);
        }
-#else
-       Elm_Object_Item *pSelectedItem =
-               elm_genlist_selected_item_get(pObject);
-       if (pSelectedItem) {
-               elm_genlist_item_selected_set(pSelectedItem, EINA_FALSE);
-       }
-#endif
-       int nSelectedIndex = (int) pUserData;
+       stGengridItemData *item_data =  (stGengridItemData*)pUserData;
+       int nSelectedIndex = item_data->videoIndex;
        VideoLogInfo("selected index is %d", nSelectedIndex);
 
        if (SELECT_TYPE_DETAIL == g_pSelectHandle->eSelType) {
@@ -575,80 +341,13 @@ static void __mp_select_view_genlist_selected_cb(void *pUserData,
        } else if (SELECT_TYPE_RENAME == g_pSelectHandle->eSelType) {
                VideoLogInfo("Show rename popup");
 
-               g_pRenameLayout =
-                       mp_rename_ctrl_show(g_pSelectHandle->pNaviFrameHandle, NULL,
-                                                               (void *)
-                                                               __mp_select_view_result_view_update_cb,
+               g_pRenameLayout = mp_rename_ctrl_show(g_pSelectHandle->pNaviFrameHandle, NULL,
+                                                               (void *)__mp_select_view_result_view_update_cb,
                                                                nSelectedIndex);
        }
 }
 
-/**
- *
- * @param pFolderGenlist
- */
-static void __mp_select_view_append_folder_items(void *pFolderGenlist)
-{
-       VideoLogInfo("");
-       int nIndex = 0;
-       int nFolderListSize = 0;
-
-       nFolderListSize = mp_util_svc_get_video_folder_size();
-       VideoLogInfo("nVideoListSize : %d", nFolderListSize);
-
-       if (nFolderListSize > 0) {
-               MP_DEL_ITC(g_pSelectHandle->pGenListItc);
-               g_pSelectHandle->pGenListItc = elm_genlist_item_class_new();
-               g_pSelectHandle->pGenListItc->item_style = "2line.top";
-               g_pSelectHandle->pGenListItc->func.text_get =
-                       (void *) __mp_select_view_get_label_of_folder_cb;
-               g_pSelectHandle->pGenListItc->func.content_get =
-                       (void *) __mp_select_view_get_icon_of_folder_cb;
-               g_pSelectHandle->pGenListItc->func.state_get = NULL;
-               g_pSelectHandle->pGenListItc->func.del = NULL;
-               g_pSelectHandle->pGenListItc->decorate_item_style = NULL;
-
-               for (nIndex = 0; nIndex < nFolderListSize; nIndex++) {
-                       VideoLogInfo("nCounter : %d", nIndex);
-                       elm_genlist_item_append(pFolderGenlist,
-                                                                       g_pSelectHandle->pGenListItc,
-                                                                       (void *) nIndex, NULL,
-                                                                       ELM_GENLIST_ITEM_NONE,
-                                                                       __mp_select_view_genlist_selected_cb,
-                                                                       (void *) nIndex);
-               }
-       }
-}
-
 #ifdef VS_FEATURE_THUMBNAIL_VIEW
-/**
- *
- * @param parent
- * @param nWidth
- * @param nHeight
- * @return
- */
-static Evas_Object *__mp_select_view_create_gengrid(Evas_Object * parent,
-                                                                                                       int nWidth,
-                                                                                                       int nHeight)
-{
-       Evas_Object *pGengrid;
-       pGengrid = elm_gengrid_add(parent);
-       if (!pGengrid) {
-               VideoLogError("pVideoGrid does not exist.");
-               return NULL;
-       }
-       evas_object_size_hint_weight_set(pGengrid, EVAS_HINT_EXPAND,
-                                                                        EVAS_HINT_EXPAND);
-       evas_object_size_hint_align_set(pGengrid, EVAS_HINT_FILL,
-                                                                       EVAS_HINT_FILL);
-       elm_gengrid_item_size_set(pGengrid, nWidth, nHeight);
-       elm_gengrid_align_set(pGengrid, 0.0, 0.0);
-       elm_gengrid_horizontal_set(pGengrid, EINA_TRUE);
-
-       return pGengrid;
-}
-
 /**
  *
  * @param pUserData
@@ -656,13 +355,10 @@ static Evas_Object *__mp_select_view_create_gengrid(Evas_Object * parent,
  * @param pPart
  * @return
  */
-static char *__mp_select_view_get_label_of_grid_item_cb(const void
-                                                                                                               *pUserData,
-                                                                                                               Evas_Object *
-                                                                                                               pObject,
-                                                                                                               const char *pPart)
+static char *__mp_select_view_get_label_of_grid_item_cb(void *pUserData, Evas_Object *pObject, const char *pPart)
 {
-       int nVideoItemIndex = (int) pUserData;
+       stGengridItemData *item_data =  (stGengridItemData*)pUserData;
+       int nVideoItemIndex = item_data->videoIndex;
 
        if (!strcmp(pPart, "elm.text")) {
                char *szTitle;
@@ -675,10 +371,9 @@ static char *__mp_select_view_get_label_of_grid_item_cb(const void
                }
 
                return szTitleUtf8;
-       } else if (!strcmp(pPart, "elm.text.2")) {
+       } else if (!strcmp(pPart, "elm.sub.text")) {
                return mp_util_svc_get_duration_str_time(nVideoItemIndex);
        }
-
        return NULL;
 }
 
@@ -689,321 +384,98 @@ static char *__mp_select_view_get_label_of_grid_item_cb(const void
  * @param pPart
  * @return
  */
-static Evas_Object *__mp_select_view_get_grid_icon_cb(const void
-                                                                                                         *pUserData,
-                                                                                                         Evas_Object *
-                                                                                                         pObject,
-                                                                                                         const char *pPart)
+static Evas_Object *__mp_select_view_get_grid_icon_cb(void *pUserData, Evas_Object *pObject, const char *pPart)
 {
-       int nVideoItemIndex = (int) pUserData;
-       char edj_path[1024] = { 0 };
+       stGengridItemData *item_data = (void*)pUserData;
+       int nVideoItemIndex = item_data->videoIndex;
 
-       char *path = app_get_resource_path();
-       snprintf(edj_path, 1024, "%s%s/%s", path, "edje",
-                        VIDEO_PLAYER_IMAGE_NAME_EDJ);
-       free(path);
-       if (!strcmp(pPart, "elm.swallow.icon")) {
-               char *pThumbIconUri =
-                       mp_util_svc_get_video_thumbnail(nVideoItemIndex);
-               Evas_Object *pBg = NULL;
-
-               if (!pThumbIconUri || !vp_file_exists(pThumbIconUri)) {
-                       pBg = elm_image_add(pObject);
-                       MP_FREE_STRING(pThumbIconUri);
-                       evas_object_size_hint_aspect_set(pBg, EVAS_ASPECT_CONTROL_BOTH,
-                                                                                        1, 1);
-                       elm_image_file_set(pBg, pThumbIconUri, NULL);
-               } else {
-                       pBg =
-                               mp_util_create_preload_image(pObject, pThumbIconUri,
-                                                                                        GRID_VIDEO_ICON_WIDTH);
-               }
+       if (!strcmp(pPart, "elm.icon")) {
+               char *pThumbIconUri = mp_util_svc_get_video_thumbnail(nVideoItemIndex);
+               char edj_path[1024] = {0, };
 
-               MP_FREE_STRING(pThumbIconUri);
-
-               return pBg;
-       } else if (!strcmp(pPart, "elm.progressbar.icon")) {
-                       return NULL;
-       } else if (!strcmp(pPart, "elm.lock.icon")) {
-               char *pVideoFile = mp_util_svc_get_video_url(nVideoItemIndex);
-               bool bRet =
-                       mp_util_check_video_personal_status((const char *) pVideoFile);
-               MP_FREE_STRING(pVideoFile);
-               if (bRet) {
-                       Evas_Object *pLockIcon = elm_image_add(pObject);
-                       elm_image_file_set(pLockIcon, edj_path,
-                                                          VIDEO_LIST_VIEW_ICON_PERSONAL_LOCK);
-                       evas_object_size_hint_align_set(pLockIcon, EVAS_HINT_FILL,
-                                                                                       EVAS_HINT_FILL);
-                       evas_object_size_hint_weight_set(pLockIcon, EVAS_HINT_EXPAND,
-                                                                                        EVAS_HINT_EXPAND);
-                       evas_object_show(pLockIcon);
-                       return pLockIcon;
-               } else {
-                       return NULL;
-               }
-       } else if (!strcmp(pPart, "elm.dropbox.icon")) {
-               bool bRet = mp_util_svc_is_cloud_storage(nVideoItemIndex);
-               if (bRet) {
-                       Evas_Object *pDropboxIcon = elm_image_add(pObject);
-                       elm_image_file_set(pDropboxIcon, edj_path,
-                                                          VIDEO_LIST_VIEW_ICON_DROPBOX);
-                       evas_object_size_hint_align_set(pDropboxIcon, EVAS_HINT_FILL,
-                                                                                       EVAS_HINT_FILL);
-                       evas_object_size_hint_weight_set(pDropboxIcon,
-                                                                                        EVAS_HINT_EXPAND,
-                                                                                        EVAS_HINT_EXPAND);
-                       evas_object_show(pDropboxIcon);
-                       return pDropboxIcon;
-               } else {
-                       return NULL;
-               }
-       } else if (!strcmp(pPart, "elm.swallow.end")) {
-       }
-       return NULL;
-}
-
-/**
- *
- * @param pObjVideosList
- * @param nGenItemIndex
- */
-static void __mp_select_view_append_grid_items(void *pObjVideosList,
-                                                                                          int nGenItemIndex)
-{
-       if (!g_pSelectHandle) {
-               VideoLogInfo("invalid handle");
-               return;
-       }
+               Evas_Object *img = elm_image_add(pObject);
 
-       MP_DEL_GRID_ITC(g_pSelectHandle->pGenGridItc_1);
-       MP_DEL_GRID_ITC(g_pSelectHandle->pGenGridItc_2);
-       g_pSelectHandle->pGenGridItc_1 = elm_gengrid_item_class_new();
-       g_pSelectHandle->pGenGridItc_1->item_style = "video/album_grid";
-       g_pSelectHandle->pGenGridItc_1->func.text_get =
-               (void *) __mp_select_view_get_label_of_grid_item_cb;
-       g_pSelectHandle->pGenGridItc_1->func.content_get =
-               (void *) __mp_select_view_get_grid_icon_cb;
-       g_pSelectHandle->pGenGridItc_1->func.state_get = NULL;
-       g_pSelectHandle->pGenGridItc_1->func.del = NULL;
-
-       g_pSelectHandle->pGenGridItc_2 = elm_gengrid_item_class_new();
-       g_pSelectHandle->pGenGridItc_2->item_style = "video/album_grid";
-       g_pSelectHandle->pGenGridItc_2->func.text_get =
-               (void *) __mp_select_view_get_label_of_grid_item_cb;
-       g_pSelectHandle->pGenGridItc_2->func.content_get =
-               (void *) __mp_select_view_get_grid_icon_cb;
-       g_pSelectHandle->pGenGridItc_2->func.state_get = NULL;
-       g_pSelectHandle->pGenGridItc_2->func.del = NULL;
-
-       int nCount =
-               (mp_rotate_ctrl_check_landspace() ? VP_GENLIST_THUMB_LANDSPACE_COUNT
-                : VP_GENLIST_THUMB_PORTRAIT_COUNT);
-       int nIndex = nGenItemIndex * nCount;
-       int nMaxIndex = nIndex + nCount;
-       int nVideoListSize = mp_util_svc_get_number_of_video_item_by_type();
-
-       Elm_Object_Item *gridItem = NULL;
-       for (; (nIndex < nMaxIndex) && (nIndex < nVideoListSize); nIndex++) {
-               if (nIndex % 2 == 0) {
-                       elm_gengrid_item_append(pObjVideosList,
-                                                                       g_pSelectHandle->pGenGridItc_1,
-                                                                       (void *) nIndex,
-                                                                       __mp_select_view_genlist_selected_cb,
-                                                                       (void *) nIndex);
+               if(pThumbIconUri == NULL || (strlen(pThumbIconUri) == 0 ))
+               {
+                       char *path = app_get_resource_path();
+                       snprintf(edj_path, 1024, "%s%s/%s", path, "images", "default_thumbnail.png");
+                       free(path);
+                       elm_image_aspect_fixed_set(img, EINA_TRUE);
+                       elm_image_file_set(img, edj_path, NULL);
                } else {
-                       elm_gengrid_item_append(pObjVideosList,
-                                                                       g_pSelectHandle->pGenGridItc_2,
-                                                                       (void *) nIndex,
-                                                                       __mp_select_view_genlist_selected_cb,
-                                                                       (void *) nIndex);
+                       elm_image_fill_outside_set(img, EINA_TRUE);
+                       elm_image_file_set(img, pThumbIconUri, NULL);
+                       free(pThumbIconUri);
                }
-               elm_object_item_data_set(gridItem, (void *) nIndex);
-       }
-}
+               elm_image_preload_disabled_set(img, EINA_FALSE);
+               evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               evas_object_size_hint_align_set(img, EVAS_HINT_FILL, EVAS_HINT_FILL);
 
-/**
- *
- * @param height
- * @param width
- */
-static void mp_select_view_get_icon_dimensions(int *height, int *width)
-{
-       int winHeight = 0;
-       int winWidth = 0;
-       elm_win_screen_size_get(mp_util_get_main_window_handle(), NULL, NULL,
-                                                       &winWidth, &winHeight);
-
-       bool bLandscape =
-               mp_rotate_ctrl_check_landspace_by_win((Evas_Object *)
-                                                                                         mp_util_get_main_window_handle
-                                                                                         ());
-       if (bLandscape) {
-               *width = winHeight / VP_GENLIST_THUMB_LANDSPACE_COUNT;
-       } else {
-               *width = winWidth / VP_GENLIST_THUMB_PORTRAIT_COUNT;
+               item_data->icon = img;
+               return img;
        }
-       *height = VP_ALBUM_THUMB_ICON_HEIGHT * MP_SCALE;
+       return NULL;
 }
 
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pPart
- * @return
- */
-static Evas_Object *__mp_select_view_get_icon_of_grid_cb(const void
-                                                                                                                *pUserData,
-                                                                                                                Evas_Object *
-                                                                                                                pObject,
-                                                                                                                const char *pPart)
+static void __mp_select_view_grid_item_del_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       VideoLogInfo("in __mp_select_view_get_icon_of_grid_cb");
-       if (!g_pSelectHandle || !pObject) {
-               VideoLogError("g_pMainViewWidgetOfSelectList is NULL");
-               return NULL;
+       if(g_pSelectHandle == NULL)
+       {
+               VideoLogError("g_pSelectHandle is invalid");
+               return;
        }
-
-       int nGenItemIndex = (int) pUserData;
-       int nHeight = 0;
-       int nWidth = 0;
-       mp_select_view_get_icon_dimensions(&nHeight, &nWidth);
-
-       Evas_Object *pGengrid =
-               __mp_select_view_create_gengrid(pObject, nWidth, nHeight);
-       __mp_select_view_append_grid_items(pGengrid, nGenItemIndex);
-
-       return pGengrid;
+       stGengridItemData *item_data = (stGengridItemData*)data;
+       elm_object_item_data_set(item_data->item, NULL);
+       free(item_data);
 }
 
 /**
  *
- * @param nVideoItemIndex
- * @return
+ * @param pObjVideosList
+ * @param nGenItemIndex
  */
-int mp_select_view_thumbnail_to_genlist_index(int nVideoItemIndex)
+static void __mp_select_view_append_grid_items(void *pObjVideosList)
 {
-       /*nVideoItemIndex = 0-->max */
-       if (nVideoItemIndex < 0) {
-               VideoLogDebug("invalid nVideoItemIndex");
-               return 0;
-       }
-       g_pSelectHandle->bLandscape =
-               mp_rotate_ctrl_check_landspace_by_win((Evas_Object *)
-                                                                                         mp_util_get_main_window_handle
-                                                                                         ());
-       int nItemCount = VP_GENLIST_THUMB_PORTRAIT_COUNT;
-       int nGenlistIndex = 0;
-       if (g_pSelectHandle->bLandscape) {
-               nItemCount = VP_GENLIST_THUMB_LANDSPACE_COUNT;
-       }
-       nGenlistIndex = nVideoItemIndex / nItemCount;
-       VideoLogWarning("in mp_select_view_thumbnail_to_genlist_index %d",
-                                       nGenlistIndex);
-       return nGenlistIndex;
-}
+       if (!g_pSelectHandle) {
+                       VideoLogInfo("invalid handle");
+                       return;
+               }
+               VideoLogInfo("");
 
-/**
- *
- * @param pGenlist
- * @return
- */
-static bool __mp_select_view_append_grid_layout(void *pGenlist)
-{
-       VideoLogInfo("in append grid layout");
-       if (!pGenlist || !g_pSelectHandle) {
-               VideoLogError("error handle.");
-               return FALSE;
-       }
-       int nIndex = 0;
-       int nVideoListSize = mp_util_svc_get_number_of_video_item_by_type();
-       if (nVideoListSize <= 0) {
-               VideoLogWarning("nVideoListSize = %d", nVideoListSize);
-               return FALSE;
-       } else
-               VideoLogWarning("nVideoListSize = %d", nVideoListSize);
-
-       MP_DEL_ITC(g_pSelectHandle->pGenListItc);
-       g_pSelectHandle->pGenListItc = elm_genlist_item_class_new();
-
-       g_pSelectHandle->pGenListItc->item_style = "video/1icon.thumbnail";
-       g_pSelectHandle->pGenListItc->func.text_get = NULL;
-       g_pSelectHandle->pGenListItc->func.content_get =
-               (void *) __mp_select_view_get_icon_of_grid_cb;
-       g_pSelectHandle->pGenListItc->func.state_get = NULL;
-       g_pSelectHandle->pGenListItc->func.del = NULL;
-       g_pSelectHandle->pGenListItc->decorate_item_style = NULL;
-
-       MP_DEL_ITC(g_pSelectHandle->pGenListLandscapeItc);
-       g_pSelectHandle->pGenListLandscapeItc = elm_genlist_item_class_new();
-       g_pSelectHandle->pGenListLandscapeItc->item_style =
-               "video/1icon.thumbnail.landscape";
-       g_pSelectHandle->pGenListLandscapeItc->func.text_get = NULL;
-       g_pSelectHandle->pGenListLandscapeItc->func.content_get =
-               (void *) __mp_select_view_get_icon_of_grid_cb;
-       g_pSelectHandle->pGenListLandscapeItc->func.state_get = NULL;
-       g_pSelectHandle->pGenListLandscapeItc->func.del = NULL;
-       g_pSelectHandle->pGenListLandscapeItc->decorate_item_style = NULL;
-
-       int nGenlistRow = 0;
-       nGenlistRow =
-               mp_select_view_thumbnail_to_genlist_index(nVideoListSize - 1);
-
-       if (g_pSelectHandle->bLandscape) {
-               for (nIndex = 0; nIndex <= nGenlistRow; nIndex++) {
-                       elm_genlist_item_append(pGenlist,
-                                                                       g_pSelectHandle->pGenListLandscapeItc,
-                                                                       (void *) nIndex, NULL,
-                                                                       ELM_GENLIST_ITEM_NONE, NULL, NULL);
+               if (!pObjVideosList) {
+                       VideoLogInfo("gengrid object is invalid.");
+                       return;
                }
-       } else {
-               for (nIndex = 0; nIndex <= nGenlistRow; nIndex++) {
-                       elm_genlist_item_append(pGenlist, g_pSelectHandle->pGenListItc,
-                                                                       (void *) nIndex, NULL,
-                                                                       ELM_GENLIST_ITEM_NONE, NULL, NULL);
+
+               if(g_pSelectHandle->pSelectGIC == NULL)
+               {
+                       g_pSelectHandle->pSelectGIC = elm_gengrid_item_class_new();
+                       g_pSelectHandle->pSelectGIC->item_style = "videolist";
+                       g_pSelectHandle->pSelectGIC->func.text_get = __mp_select_view_get_label_of_grid_item_cb;;
+                       g_pSelectHandle->pSelectGIC->func.content_get = __mp_select_view_get_grid_icon_cb;
+                       g_pSelectHandle->pSelectGIC->func.state_get = NULL;
+                       g_pSelectHandle->pSelectGIC->func.del = NULL;
                }
-       }
 
-       return TRUE;
-}
-#endif
+               int nVideoListSize = mp_util_svc_get_number_of_video_item_by_type();
 
-#ifdef VS_FEATURE_LIST_VIEW
-/**
- *
- * @param pVideosGenlist
- */
-static void __mp_select_view_append_video_items(void *pVideosGenlist)
-{
-       VideoLogInfo("");
-       if (!g_pSelectHandle) {
-               VideoLogError("");
-               return;
-       }
+               int nIndex = 0;
 
-       int nIndex = 0;
-       int nVideoListSize = mp_util_svc_get_number_of_video_item_by_type();
-
-       MP_DEL_ITC(g_pSelectHandle->pGenListItc);
-       g_pSelectHandle->pGenListItc = elm_genlist_item_class_new();
-       g_pSelectHandle->pGenListItc->item_style = "2line.top";
-       g_pSelectHandle->pGenListItc->func.text_get =
-               (void *) __mp_select_view_get_label_of_video_item_cb;
-       g_pSelectHandle->pGenListItc->func.content_get =
-               (void *) __mp_select_view_get_icon_of_video_item_cb;
-       g_pSelectHandle->pGenListItc->func.state_get = NULL;
-       g_pSelectHandle->pGenListItc->func.del = NULL;
-       g_pSelectHandle->pGenListItc->decorate_item_style = NULL;
-
-       for (nIndex = 0; nIndex < nVideoListSize; nIndex++) {
-               elm_genlist_item_append(pVideosGenlist,
-                                                               g_pSelectHandle->pGenListItc,
-                                                               (void *) nIndex, NULL,
-                                                               ELM_GENLIST_ITEM_NONE,
-                                                               __mp_select_view_genlist_selected_cb,
-                                                               (void *) nIndex);
-       }
+               for (nIndex = 0; nIndex < nVideoListSize; nIndex++) {
+                       stGengridItemData *item_data = calloc(1, sizeof(stGengridItemData));
+                       if(item_data == NULL)
+                       {
+                               VideoLogError("Failed to allocate memory for item data");
+                               return;
+                       }
+                       item_data->videoIndex = nIndex;
+                       item_data->item = elm_gengrid_item_append(pObjVideosList, g_pSelectHandle->pSelectGIC,
+                                                                                       (void *) item_data,
+                                                                                       __mp_select_view_gengrid_item_selected_cb,
+                                                                                       (void *) item_data);
+                       elm_gengrid_item_select_mode_set(item_data->item, ELM_OBJECT_SELECT_MODE_ALWAYS);
+                       elm_object_item_del_cb_set(item_data->item, __mp_select_view_grid_item_del_cb);
+               }
 }
 #endif
 
@@ -1039,8 +511,8 @@ bool mp_select_view_arrange_video_list(void *pGenlist, bool bNeedSvc)
                        return FALSE;
                }
 
-               elm_genlist_clear(pGenlist);
-               __mp_select_view_append_video_items(pGenlist);
+               elm_gengrid_clear((Evas_Object*)pGenlist);
+               __mp_select_view_append_grid_items(pGenlist);
        } else
 #endif
        if (g_pSelectHandle->nViewType == MP_LIST_VIEW_AS_FOLDER_LIST) {
@@ -1061,8 +533,8 @@ bool mp_select_view_arrange_video_list(void *pGenlist, bool bNeedSvc)
                                return FALSE;
                        }
 
-                       elm_genlist_clear(pGenlist);
-                       __mp_select_view_append_grid_layout(pGenlist);
+                       elm_gengrid_clear((Evas_Object*)pGenlist);
+                       __mp_select_view_append_grid_items(pGenlist);
                } else {
                        VideoLogWarning("Folder view");
                        /*update folder list data */
@@ -1080,8 +552,8 @@ bool mp_select_view_arrange_video_list(void *pGenlist, bool bNeedSvc)
                                return FALSE;
                        }
 
-                       elm_genlist_clear(pGenlist);
-                       __mp_select_view_append_folder_items(pGenlist);
+                       elm_gengrid_clear((Evas_Object*)pGenlist);
+                       __mp_select_view_append_grid_items(pGenlist);
                }
        } else if (g_pSelectHandle->nViewType ==
                           MP_LIST_VIEW_AS_THUMBNAIL_LIST) {
@@ -1096,8 +568,8 @@ bool mp_select_view_arrange_video_list(void *pGenlist, bool bNeedSvc)
                        return FALSE;
                }
 
-               elm_genlist_clear(pGenlist);
-               __mp_select_view_append_grid_layout(pGenlist);
+               elm_gengrid_clear((Evas_Object*)pGenlist);
+               __mp_select_view_append_grid_items(pGenlist);
        }
 
        evas_object_show(pGenlist);
@@ -1109,34 +581,26 @@ bool mp_select_view_arrange_video_list(void *pGenlist, bool bNeedSvc)
  * @param pParent
  * @return
  */
-Evas_Object *mp_select_view_create_internal_layout(void *pParent)
+Evas_Object *mp_select_view_create_internal_layout(void *parent)
 {
-       if (!pParent) {
-               VideoLogInfo("[ERR]");
+       if (!parent) {
+               VideoLogInfo("parent object for base layout is invalid");
                return NULL;
        }
 
        VideoLogInfo("");
 
-       if (g_pSelectWidget->pBaselayout) {
-               evas_object_del(g_pSelectWidget->pBaselayout);
-               g_pSelectWidget->pBaselayout = NULL;
-       }
        char edj_path[1024] = { 0 };
-
        char *path = app_get_resource_path();
-       snprintf(edj_path, 1024, "%s%s/%s", path, "edje",
-                        VIDEO_PLAYER_REMOVE_LIST_EDJ);
+       snprintf(edj_path, 1024, "%s%s/%s", path, "edje", VIDEO_CUSTOM_THEME);
        free(path);
-       g_pSelectWidget->pBaselayout = elm_layout_add(pParent);
-       elm_layout_file_set(g_pSelectWidget->pBaselayout, edj_path,
-                                               REMOVE_LIST_EDJ_GROUP);
-       evas_object_size_hint_weight_set(g_pSelectWidget->pBaselayout,
-                                                                        EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_size_hint_align_set(g_pSelectWidget->pBaselayout,
-                                                                       EVAS_HINT_FILL, EVAS_HINT_FILL);
-
-       return g_pSelectWidget->pBaselayout;
+
+       Evas_Object* layout = elm_layout_add(parent);
+       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;
 }
 
 /**
@@ -1154,12 +618,12 @@ static void __mp_select_view_db_changed_cb(void *pUserData)
        bool bNormalShow = TRUE;
 
        bNormalShow =
-               mp_select_view_arrange_video_list(g_pSelectHandle->pGenlist, TRUE);
+               mp_select_view_arrange_video_list(g_pSelectHandle->pGenlist, FALSE);
        if (bNormalShow) {
                Elm_Object_Item *pItem = NULL;
-               pItem = elm_genlist_first_item_get(g_pSelectHandle->pGenlist);
+               pItem = elm_gengrid_first_item_get(g_pSelectHandle->pGenlist);
                if (pItem) {
-                       elm_genlist_item_bring_in(pItem, ELM_GENLIST_ITEM_SCROLLTO_IN);
+                       elm_gengrid_item_bring_in(pItem, ELM_GENGRID_ITEM_SCROLLTO_IN);
                }
                if (SELECT_TYPE_DETAIL == g_pSelectHandle->eSelType) {
                        mp_detail_view_update();
@@ -1184,56 +648,25 @@ void __mp_select_soft_back_button_cb(void *data, Evas_Object * obj,
        Evas_Object *pTopNaviFrame = NULL;
        pTopNaviFrame =
                elm_naviframe_item_pop(g_pSelectHandle->pNaviFrameHandle);
-       evas_object_del(pTopNaviFrame);
+       //evas_object_del(pTopNaviFrame);
 }
 
-/**
- *
- */
-void mp_select_view_create_genlist()
+static Evas_Object* _create_gengrid(Evas_Object *parent)
 {
-       if (!g_pSelectHandle || !g_pSelectWidget) {
-               VideoLogError("Main handles of list view are not existed.");
-               return;
-       }
-
-       VideoLogInfo("");
-
-       g_pSelectHandle->pGenlist = elm_genlist_add(g_pSelectWidget->pBox);
-       if (!g_pSelectHandle->pGenlist) {
-               VideoLogError("pGenlist is not existed.");
-               return;
+       if(g_pSelectWidget == NULL || parent == NULL)
+       {
+               VideoLogError("gengrid parent [%p] or widget handle [%p] maybe be invalid", g_pSelectWidget, parent);
+               return NULL;
        }
-       elm_scroller_bounce_set(g_pSelectHandle->pGenlist, EINA_FALSE,
-                                                       EINA_TRUE);
-       evas_object_size_hint_weight_set(g_pSelectHandle->pGenlist,
-                                                                        EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_size_hint_align_set(g_pSelectHandle->pGenlist,
-                                                                       EVAS_HINT_FILL, EVAS_HINT_FILL);
-       elm_genlist_block_count_set(g_pSelectHandle->pGenlist,
-                                                               VIDEO_GENLIST_BLOCK_COUNT);
-       elm_genlist_homogeneous_set(g_pSelectHandle->pGenlist, EINA_TRUE);
-       elm_genlist_mode_set(g_pSelectHandle->pGenlist, ELM_LIST_COMPRESS);
-       elm_genlist_select_mode_set(g_pSelectHandle->pGenlist,
-                                                               ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
-       elm_box_pack_end(g_pSelectWidget->pBox, g_pSelectHandle->pGenlist);
-       elm_object_part_content_set(g_pSelectWidget->pBaselayout,
-                                                               SWALLOW_LISTVIEW_CONTENT,
-                                                               g_pSelectWidget->pBox);
+       Evas_Object *gengrid = elm_gengrid_add(parent);
+       evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       elm_gengrid_item_size_set(gengrid, GENGRID_ITEM_WIDTH, GENGRID_ITEM_HEIGHT);
 
-       bool bNormalShow = TRUE;
-       bNormalShow =
-               mp_select_view_arrange_video_list(g_pSelectHandle->pGenlist,
-                                                                                 FALSE);
-       if (!bNormalShow) {
-               VideoLogError("invalid view");
-               mp_select_view_destroy();
-               return;
-       }
-       evas_object_show(g_pSelectHandle->pGenlist);
+       return gengrid;
 }
 
+
 /**
  *
  * @param pParent
@@ -1246,28 +679,25 @@ void mp_select_view_init(void *pParent)
        }
 
        VideoLogInfo("");
-       g_pSelectWidget->pBaselayout =
-               mp_select_view_create_internal_layout(pParent);
+       g_pSelectWidget->pBaselayout = mp_select_view_create_internal_layout(pParent);
        if (!g_pSelectWidget->pBaselayout) {
                VideoLogError("pBaselayout is not existed.");
                return;
        }
-       evas_object_event_callback_add(g_pSelectWidget->pBaselayout,
-                                                                  EVAS_CALLBACK_DEL,
-                                                                  __mp_select_view_base_layout_del_cb,
-                                                                  NULL);
 
-       g_pSelectWidget->pBox = elm_box_add(g_pSelectWidget->pBaselayout);
-       if (!g_pSelectWidget->pBox) {
-               VideoLogError("pBox is not existed.");
+       g_pSelectHandle->pGenlist = _create_gengrid(g_pSelectWidget->pBaselayout);
+       if(g_pSelectHandle->pGenlist == NULL)
+       {
+               VideoLogError("Failed to create gengrid for select view");
                return;
        }
+       elm_object_part_content_set(g_pSelectWidget->pBaselayout, BASE_LAYOUT_SWALLOW, (Evas_Object*)g_pSelectHandle->pGenlist);
 
-       mp_select_view_create_genlist();
+       mp_select_view_arrange_video_list(g_pSelectHandle->pGenlist, FALSE);
 
-       Evas_Object *pLeftbtn = elm_button_add(pParent);
-       elm_object_style_set(pLeftbtn, "naviframe/end_btn/default");
-       evas_object_smart_callback_add(pLeftbtn, "clicked",
+       Evas_Object *backButton = elm_button_add(pParent);
+       elm_object_style_set(backButton, "naviframe/back_btn/default");
+       evas_object_smart_callback_add(backButton, "clicked",
                                                                   __mp_select_soft_back_button_cb, NULL);
 
        char *szTitle = NULL;
@@ -1275,7 +705,7 @@ void mp_select_view_init(void *pParent)
 
        g_pSelectHandle->pNaviFrameItem =
                elm_naviframe_item_push(g_pSelectHandle->pNaviFrameHandle, szTitle,
-                                                               pLeftbtn, NULL,
+                                                               backButton, NULL,
                                                                g_pSelectWidget->pBaselayout, NULL);
 
        elm_object_item_domain_text_translatable_set(g_pSelectHandle->
@@ -1341,9 +771,6 @@ void mp_select_view_push(void *pNaviFrame, void *pNaviItem,
                                                 MpVideoListTabType eTabType)
 {
        VideoLogInfo("");
-       if (g_pSelectHandle || g_pSelectWidget) {
-               mp_select_view_destroy();
-       }
 
        g_pSelectHandle =
                (st_SelectViewHandle *) calloc(1, sizeof(st_SelectViewHandle));
@@ -1362,7 +789,7 @@ void mp_select_view_push(void *pNaviFrame, void *pNaviItem,
        g_pSelectHandle->eTabType = eTabType;
        g_pSelectHandle->euLev =
                pFolderUrl ? MP_DB_UPDATE_LEV_2 : MP_DB_UPDATE_LEV_1;
-       g_pSelectHandle->nViewType = mp_view_as_ctrl_get_type();
+       g_pSelectHandle->nViewType = mp_list_view_view_type_get();
        g_pSelectHandle->bLandscape =
                mp_rotate_ctrl_check_landspace_by_win((Evas_Object *)
                                                                                          mp_util_get_main_window_handle
@@ -1419,17 +846,3 @@ void mp_select_view_change_language(void)
                                                                                                          szTitle);
        g_free(szTitle);
 }
-
-/**
- *
- * @param pUserData
- * @param e
- * @param pObject
- * @param pEventInfo
- */
-static void __mp_select_view_base_layout_del_cb(void *pUserData, Evas * e,
-                                                                                               Evas_Object * pObject,
-                                                                                               void *pEventInfo)
-{
-       __mp_select_view_reset();
-}
index 6a074da707274b996948fa31f7cc853ad6de3d64..986ef4f1648add5baba6c3a68b6e6f0a61f04ac8 100755 (executable)
@@ -881,7 +881,7 @@ static Evas_Object *__mp_thumbnail_view_get_grid_icon_cb(const void *pUserData,
 
                Evas_Object *img = elm_image_add(pObject);
 
-               if(pThumbIconUri == NULL)
+               if(pThumbIconUri == NULL || strlen(pThumbIconUri) == 0)
                {
                        char *path = app_get_resource_path();
                        snprintf(edj_path, 1024, "%s%s/%s", path, "images", "default_thumbnail.png");
index 0dace7c7414f148da2e860cc9a40e6cd7ce475dd..7d424838fa890bac7f3a880410f98d18bbef7214 100755 (executable)
@@ -468,7 +468,7 @@ Evas_Object *mp_search_view_get_icon_of_video_item_cb(void *pUserData, Evas_Obje
 
                Evas_Object *img = elm_image_add(pObject);
 
-               if(pThumbIconUri == NULL)
+               if(pThumbIconUri == NULL || (strlen(pThumbIconUri) == 0))
                {
                        char *path = app_get_resource_path();
                        snprintf(edj_path, 1024, "%s%s/%s", path, "images", "default_thumbnail.png");
index eee9dcbfdee7e01b9a4a5ae369b07e2e03d1e331..7c49871577cad745b92540878d4b623f4d068b77 100755 (executable)
@@ -59,10 +59,6 @@ static void __mp_auto_play_ctrl_cancel_btn_cb(void *pUserData,
 static void __mp_auto_play_ctrl_select_item_cb(void *pUserData,
                                                                                           Evas_Object * pObject,
                                                                                           void *pEventInfo);
-static void __mp_auto_play_ctrl_select_radio_cb(void *pUserData,
-                                                                                               Evas_Object * pObject,
-                                                                                               void *pEventInfo);
-
 
 /**
  *
@@ -149,17 +145,12 @@ void mp_auto_play_ctrl_set_type(MpListAutoPlaySelect nAutoPlaySelect)
  * @param pPart
  * @return
  */
-static char *__mp_auto_play_ctrl_get_label_of_genlsit_item_cb(const void
-                                                                                                                         *pUserData,
-                                                                                                                         Evas_Object *
-                                                                                                                         pObject,
-                                                                                                                         const char
-                                                                                                                         *pPart)
+static char *__mp_auto_play_ctrl_get_label_of_genlsit_item_cb(void *pUserData, Evas_Object *pObject, const char *pPart)
 {
 
        int nIndex = (int) pUserData;
 
-       if (!strcmp(pPart, "elm.text") || !strcmp(pPart, "elm.text.main.left")) {
+       if (!strcmp(pPart, "elm.text")) {
                switch (nIndex) {
                case MP_LIST_AUTO_PLAY_ON:
                        return strdup(VIDEOS_STRING_COM_ON);
@@ -170,6 +161,19 @@ static char *__mp_auto_play_ctrl_get_label_of_genlsit_item_cb(const void
        return NULL;
 }
 
+static void __mp_auto_play_ctrl_popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       mp_auto_play_ctrl_hide();
+}
+
+static void __mp_auto_play_ctrl_radio_animation_finished(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+       if(g_pAutoPlayHandle) {
+               elm_popup_dismiss(g_pAutoPlayHandle->pPopUpHandle);
+       }
+}
+
+
 /**
  *
  * @param pUserData
@@ -177,15 +181,7 @@ static char *__mp_auto_play_ctrl_get_label_of_genlsit_item_cb(const void
  * @param pPart
  * @return
  */
-static Evas_Object *__mp_auto_play_ctrl_get_icon_of_genlsit_item_cb(const
-                                                                                                                                       void
-                                                                                                                                       *pUserData,
-                                                                                                                                       Evas_Object
-                                                                                                                                       *
-                                                                                                                                       pObject,
-                                                                                                                                       const
-                                                                                                                                       char
-                                                                                                                                       *pPart)
+static Evas_Object *__mp_auto_play_ctrl_get_icon_of_genlsit_item_cb(void *pUserData, Evas_Object *pObject, const char *pPart)
 {
 
        if (!g_pAutoPlayHandle) {
@@ -196,7 +192,7 @@ static Evas_Object *__mp_auto_play_ctrl_get_icon_of_genlsit_item_cb(const
        int nIndex = (int) pUserData;
        Evas_Object *pTmpRadio = NULL;
 
-       if (!strcmp(pPart, "elm.swallow.end") || !strcmp(pPart, "elm.icon.2")) {
+       if (!strcmp(pPart, "elm.icon")) {
                pTmpRadio = elm_radio_add(pObject);
                elm_radio_state_value_set(pTmpRadio, nIndex);
                elm_radio_group_add(pTmpRadio, g_pAutoPlayHandle->pGroupRadio);
@@ -207,9 +203,8 @@ static Evas_Object *__mp_auto_play_ctrl_get_icon_of_genlsit_item_cb(const
                        mp_auto_play_ctrl_set_type(g_pAutoPlayHandle->nAutoPlaySelect);
                }
 
-               evas_object_smart_callback_add(pTmpRadio, "changed",
-                                                                          __mp_auto_play_ctrl_select_radio_cb,
-                                                                          (void *) pUserData);
+               elm_object_signal_emit(pTmpRadio, "elm,activate,radio,on", "elm");
+               elm_object_signal_callback_add(pTmpRadio, "animation,finished", "", __mp_auto_play_ctrl_radio_animation_finished, (void*)pUserData);
 
                evas_object_show(pTmpRadio);
 
@@ -277,62 +272,15 @@ static void __mp_auto_play_ctrl_select_item_cb(void *pUserData,
        }
        if (nIndex == g_pAutoPlayHandle->nAutoPlaySelect) {
                VideoLogInfo("Current state");
-               mp_auto_play_ctrl_hide();
+               elm_popup_dismiss(g_pAutoPlayHandle->pPopUpHandle);
        } else {
                g_pAutoPlayHandle->nAutoPlaySelect = nIndex;
-               elm_radio_value_set(g_pAutoPlayHandle->pGroupRadio,
-                                                       g_pAutoPlayHandle->nAutoPlaySelect);
+               elm_radio_value_set(g_pAutoPlayHandle->pGroupRadio, g_pAutoPlayHandle->nAutoPlaySelect);
 
                mp_auto_play_ctrl_set_type(g_pAutoPlayHandle->nAutoPlaySelect);
-
-               mp_auto_play_ctrl_hide();
        }
 }
 
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pEventInfo
- */
-static void __mp_auto_play_ctrl_select_radio_cb(void *pUserData,
-                                                                                               Evas_Object * pObject,
-                                                                                               void *pEventInfo)
-{
-
-       if (!g_pAutoPlayHandle) {
-               VideoLogError("");
-               return;
-       }
-
-       int nIndex = (int) pUserData;
-
-       VideoLogError("====================nindex=%d", nIndex);
-       if (nIndex == 1) {
-               VideoLogError("====================vp_set_auto_play=true");
-               vp_set_auto_play(true);
-       } else {
-               VideoLogError("====================vp_set_auto_play=false");
-               vp_set_auto_play(false);
-       }
-       if (vp_is_auto_play_on()) {
-               VideoLogError("====================found vp_set_auto_play=true");
-       }
-       if (nIndex == g_pAutoPlayHandle->nAutoPlaySelect) {
-               VideoLogInfo("Current state");
-               mp_auto_play_ctrl_hide();
-       } else {
-               g_pAutoPlayHandle->nAutoPlaySelect = nIndex;
-               elm_radio_value_set(g_pAutoPlayHandle->pGroupRadio,
-                                                       g_pAutoPlayHandle->nAutoPlaySelect);
-
-               mp_auto_play_ctrl_set_type(g_pAutoPlayHandle->nAutoPlaySelect);
-
-               mp_auto_play_ctrl_hide();
-       }
-
-}
-
 /**
  *
  * @param pUserData
@@ -367,8 +315,7 @@ static void __mp_auto_play_ctrl_realized(void *data, Evas_Object * obj,
        Elm_Object_Item *pItem = elm_genlist_last_item_get(obj);
 
        if (pItem) {
-               elm_object_item_signal_emit(pItem, "elm,state,bottomline,hide",
-                                                                       "");
+               elm_object_item_signal_emit(pItem, "elm,state,bottomline,hide", "elm");
        }
 }
 
@@ -402,8 +349,6 @@ bool mp_auto_play_ctrl_show()
 {
        VideoLogInfo("");
 
-
-
        mp_auto_play_ctrl_delete_handle();
        g_pAutoPlayHandle =
                (stMpVideoAutoPlay *) calloc(1, sizeof(stMpVideoAutoPlay));
@@ -417,7 +362,7 @@ bool mp_auto_play_ctrl_show()
 
        g_pAutoPlayHandle->pPopUpHandle =
                elm_popup_add(mp_util_get_main_window_handle());
-       elm_object_style_set(g_pAutoPlayHandle->pPopUpHandle, "theme_bg");
+       elm_popup_align_set(g_pAutoPlayHandle->pPopUpHandle, ELM_NOTIFY_ALIGN_FILL, 0.5);
 
        elm_object_domain_translatable_part_text_set(g_pAutoPlayHandle->
                                                                                                 pPopUpHandle,
@@ -441,15 +386,17 @@ bool mp_auto_play_ctrl_show()
                                                                   mp_util_get_main_window_handle(),
                                                                   "rotation,changed",
                                                                   __mp_auto_play_ctrl_rotate_cb, NULL);
+       evas_object_smart_callback_add(g_pAutoPlayHandle->pPopUpHandle, "dismissed", __mp_auto_play_ctrl_popup_dismissed_cb, NULL);
+
+       g_pAutoPlayHandle->pBox = elm_box_add(g_pAutoPlayHandle->pPopUpHandle);
+       evas_object_size_hint_weight_set(g_pAutoPlayHandle->pBox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
 
        //  Set item of Genlist.
        MP_DEL_ITC(g_pAutoPlayHandle->stAutoPlayItc);
        g_pAutoPlayHandle->stAutoPlayItc = elm_genlist_item_class_new();
-       g_pAutoPlayHandle->stAutoPlayItc->item_style = "default";       //"1text.1icon.2/popup";
-       g_pAutoPlayHandle->stAutoPlayItc->func.text_get =
-               (void *) __mp_auto_play_ctrl_get_label_of_genlsit_item_cb;
-       g_pAutoPlayHandle->stAutoPlayItc->func.content_get =
-               (void *) __mp_auto_play_ctrl_get_icon_of_genlsit_item_cb;
+       g_pAutoPlayHandle->stAutoPlayItc->item_style = "1line";
+       g_pAutoPlayHandle->stAutoPlayItc->func.text_get =  __mp_auto_play_ctrl_get_label_of_genlsit_item_cb;
+       g_pAutoPlayHandle->stAutoPlayItc->func.content_get = __mp_auto_play_ctrl_get_icon_of_genlsit_item_cb;
        g_pAutoPlayHandle->stAutoPlayItc->func.state_get = NULL;
        g_pAutoPlayHandle->stAutoPlayItc->func.del = NULL;
 
@@ -463,17 +410,14 @@ bool mp_auto_play_ctrl_show()
        evas_object_smart_callback_add(g_pAutoPlayHandle->pGenList, "realized",
                                                                   __mp_auto_play_ctrl_realized, NULL);
 
-       g_pAutoPlayHandle->pGroupRadio =
-               elm_radio_add(g_pAutoPlayHandle->pGenList);
-       bool pref;
-       pref = mp_auto_play_config_get_auto_play_status();
-       if (pref) {
+       g_pAutoPlayHandle->pGroupRadio = elm_radio_add(g_pAutoPlayHandle->pGenList);
+
+       if (mp_auto_play_config_get_auto_play_status()) {
                g_pAutoPlayHandle->nAutoPlaySelect = MP_LIST_AUTO_PLAY_ON;
        } else {
                g_pAutoPlayHandle->nAutoPlaySelect = MP_LIST_AUTO_PLAY_OFF;
        }
-       elm_radio_value_set(g_pAutoPlayHandle->pGroupRadio,
-                                               g_pAutoPlayHandle->nAutoPlaySelect);
+       elm_radio_value_set(g_pAutoPlayHandle->pGroupRadio, g_pAutoPlayHandle->nAutoPlaySelect);
        int nMax_view_list = 0;
 
        if (!vp_is_auto_play_on())
@@ -483,6 +427,7 @@ bool mp_auto_play_ctrl_show()
                                                        (void *) MP_LIST_AUTO_PLAY_ON, NULL,
                                                        ELM_GENLIST_ITEM_NONE,
                                                        __mp_auto_play_ctrl_select_item_cb, NULL);
+       nMax_view_list++;
        elm_genlist_item_append(g_pAutoPlayHandle->pGenList,
                                                        g_pAutoPlayHandle->stAutoPlayItc,
                                                        (void *) MP_LIST_AUTO_PLAY_OFF, NULL,
@@ -490,23 +435,13 @@ bool mp_auto_play_ctrl_show()
                                                        __mp_auto_play_ctrl_select_item_cb, NULL);
        nMax_view_list++;
 
+       evas_object_show(g_pAutoPlayHandle->pGenList);
+       elm_box_pack_end(g_pAutoPlayHandle->pBox, g_pAutoPlayHandle->pGenList);
 
+       evas_object_size_hint_min_set(g_pAutoPlayHandle->pBox, -1, nMax_view_list*72);
 
+       elm_object_content_set(g_pAutoPlayHandle->pPopUpHandle, g_pAutoPlayHandle->pBox);
 
-       g_pAutoPlayHandle->pBox = elm_box_add(g_pAutoPlayHandle->pPopUpHandle);
-
-       mp_widget_ctrl_set_popup_min_size(g_pAutoPlayHandle->pBox, 2,
-                                                                         VIDEOS_POPUP_114);
-       evas_object_size_hint_weight_set(g_pAutoPlayHandle->pBox,
-                                                                        EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_size_hint_align_set(g_pAutoPlayHandle->pBox,
-                                                                       EVAS_HINT_FILL, EVAS_HINT_FILL);
-
-       elm_box_pack_end(g_pAutoPlayHandle->pBox, g_pAutoPlayHandle->pGenList);
-       elm_object_content_set(g_pAutoPlayHandle->pPopUpHandle,
-                                                  g_pAutoPlayHandle->pBox);
-
-       evas_object_show(g_pAutoPlayHandle->pGenList);
        evas_object_show(g_pAutoPlayHandle->pPopUpHandle);
 
        return TRUE;
index 929f3dd18968bf1c95885623fab537da9eff81c0..cd9d23d79ff3a2355e29ef255da0761d0dbfcc77 100755 (executable)
@@ -59,9 +59,6 @@ static void __mp_sort_ctrl_btn_asc_cb(void *pUserData,
 static void __mp_sort_ctrl_mouse_up_cb(void *pUserData, Evas * pEvas,
                                                                           Evas_Object * pObject,
                                                                           void *pEventInfo);
-static void __mp_sort_ctrl_select_radio_cb(void *pUserData,
-                                                                                  Evas_Object * pObject,
-                                                                                  void *pEventInfo);
 
 ////////////////////////////////////////////////////////////
 // Internal function
@@ -156,7 +153,7 @@ static char *mp_sort_ctrl_get_label_of_genlist_cb(void *pUserData,
 
 static void __mp_sort_ctrl_popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       mp_sort_ctrl_delete_handle();
+       mp_sort_ctrl_hide();
 }
 
 
@@ -204,9 +201,7 @@ static Evas_Object *mp_sort_ctrl_get_icon_of_genlist_cb(void *pUserData,
                        mp_sort_ctrl_set_sort_state(g_pSortCtrlHandle->
                                                                                nCurrListSortType);
                }
-               evas_object_smart_callback_add(pTmpRadio, "changed",
-                                                                          __mp_sort_ctrl_select_radio_cb,
-                                                                          (void *) pUserData);
+
                elm_object_signal_emit(pTmpRadio, "elm,activate,radio,on", "elm");
                elm_object_signal_callback_add(pTmpRadio, "animation,finished", "", __mp_sort_ctrl_radio_animation_finished, (void*)pUserData);
 
@@ -264,7 +259,7 @@ static void mp_sort_ctrl_select_item_cb(void *pUserData,
        nIndex = (int) elm_object_item_data_get(pItem);
        if (nIndex == g_pSortCtrlHandle->nCurrListSortType) {
                VideoLogInfo("Do nothing");
-               mp_sort_ctrl_hide();
+               elm_popup_dismiss(g_pSortCtrlHandle->pPopUpHandle);
        } else {
                g_pSortCtrlHandle->nCurrListSortType = nIndex;
                elm_radio_value_set(g_pSortCtrlHandle->pGroupRadio,
@@ -274,33 +269,6 @@ static void mp_sort_ctrl_select_item_cb(void *pUserData,
        }
 }
 
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pEventInfo
- */
-static void __mp_sort_ctrl_select_radio_cb(void *pUserData,
-                                                                                  Evas_Object * pObject,
-                                                                                  void *pEventInfo)
-{
-       if (!g_pSortCtrlHandle) {
-               VideoLogError("");
-               return;
-       }
-       int nIndex = (int) pUserData;
-
-       g_pSortCtrlHandle->nCurrListSortType = nIndex;
-       mp_sort_ctrl_set_sort_state(g_pSortCtrlHandle->nCurrListSortType);
-
-       ListSortCtrlCbFunc fFunc = g_pSortCtrlHandle->ListSortCtrlUserCbFunc;
-       mp_sort_ctrl_hide();
-
-       if (fFunc) {
-               fFunc();
-       }
-}
-
 static void __mp_sort_ctrl_mouse_up_cb(void *pUserData, Evas * pEvas,
                                                                           Evas_Object * pObject,
                                                                           void *pEventInfo)
@@ -372,7 +340,6 @@ bool mp_sort_ctrl_show(ListSortCtrlCbFunc pListSortCtrlCb)
 {
        VideoLogInfo("");
 
-       mp_sort_ctrl_delete_handle();
        g_pSortCtrlHandle =
                (stMpVideoListSort *) calloc(1, sizeof(stMpVideoListSort));
        if (!g_pSortCtrlHandle) {
index 7ec20efa4f56bc321c40a90c8f8f4b641a9a581d..f7f7e086cfd36ff0ce99f2c7a539ce87a74d251d 100755 (executable)
@@ -55,6 +55,7 @@ typedef struct _VideoRenamePopup {
        int nVideoIndex;
        bool bPersonalType;
        bool bSetToEnd;
+       Eina_Bool isWarningEnabled;
        Ecore_Idler *pSetLineEndIdler;
 } stRenamePopup;
 
@@ -98,6 +99,35 @@ static void __mp_rename_ctrl_timeout_cb(void *pUserData,
        elm_object_focus_set(g_pRenameHandle->pEntry, EINA_TRUE);
 }
 
+static void __mp_rename_ctrl_info_message_set(Evas_Object *layout, const char *message, Eina_Bool isWarning)
+{
+       if(layout == NULL || g_pRenameHandle == NULL)
+       {
+               VideoLogError("Layout is invalid, can't set message");
+               return;
+       }
+       if(isWarning) {
+               elm_object_signal_emit(layout, "info,msg,warning", "vp");
+               g_pRenameHandle->isWarningEnabled = EINA_TRUE;
+       } else {
+               elm_object_signal_emit(layout, "info,msg,default", "vp");
+               g_pRenameHandle->isWarningEnabled = EINA_FALSE;
+       }
+       elm_object_part_text_set(layout, "inputfield.message", message);
+}
+
+static void __mp_rename_ctrl_thumbnail_update_cb(int nError, const char *szPath,
+                                                                                 void *pUserData)
+{
+       if(g_pRenameHandle == NULL)
+       {
+               VideoLogError("Rename data handle is invalid");
+               return;
+       }
+       VideoLogInfo("Renamed thumbnail path: %s", szPath);
+}
+
+
 /**
  *
  * @param pUserData
@@ -116,12 +146,17 @@ static void __mp_rename_ctrl_ok_btn_cb(void *pUserData,
                return;
        }
 
+       Evas_Object *layout = elm_object_content_get(g_pRenameHandle->pPopUpHandle);
+       if(layout == NULL)
+       {
+               VideoLogError("content layout for popup is invalid.");
+               return;
+       }
+
        int nDstLen = 0;
        if (!__mp_rename_ctrl_check_valid_text
                (g_pRenameHandle->szSaveFileName, &nDstLen)) {
-               mp_util_ticker_toast_with_timeout_cb_popup
-                       (VIDEOS_NOTIPOP_MSG_INVALID_CHARACTERS,
-                        __mp_rename_ctrl_timeout_cb);
+               __mp_rename_ctrl_info_message_set(layout, VIDEOS_NOTIPOP_MSG_INVALID_CHARACTERS, EINA_TRUE);
                return;
        }
 
@@ -171,11 +206,7 @@ static void __mp_rename_ctrl_ok_btn_cb(void *pUserData,
                MP_FREE_STRING(szFilePath);
                MP_FREE_STRING(szFileExt);
                MP_FREE_STRING(szLocation);
-
-               mp_util_ticker_toast_with_timeout_cb_popup
-                       (VIDEOS_NOTIPOP_MSG_ALREADY_EXISTS,
-                        __mp_rename_ctrl_timeout_cb);
-
+               __mp_rename_ctrl_info_message_set(layout, VIDEOS_NOTIPOP_MSG_ALREADY_EXISTS, EINA_TRUE);
                return;
        }
 
@@ -185,6 +216,7 @@ static void __mp_rename_ctrl_ok_btn_cb(void *pUserData,
                int ret =
                        mp_util_rename_file((const char *) szFilePath,
                                                                (const char *) szNewFile, &szNewPath);
+               VideoLogDebug("======================> File Rename Return Value: %d\n", ret);
 
                if (!szNewPath) {
                        VideoLogError("szNewPath is NULL.");
@@ -201,15 +233,23 @@ static void __mp_rename_ctrl_ok_btn_cb(void *pUserData,
                } else {
                        mp_util_svc_move_to_db(g_pRenameHandle->nVideoIndex,
                                                                   szNewPath);
+                       VideoLogDebug("moving to db: %s index: %d", szNewPath, g_pRenameHandle->nVideoIndex);
+                       //this to update video item in video list
+                       mp_util_svc_update_video_item(szNewPath, g_pRenameHandle->nVideoIndex);
+                       mp_util_svc_register_thumbnail_update_func(g_pRenameHandle->nVideoIndex, __mp_rename_ctrl_thumbnail_update_cb, NULL);
                }
 
                char *szMediaUrl = mp_util_config_get_preview();
                if (szMediaUrl) {
                        if (!strcmp(szFilePath, szMediaUrl)) {
                                mp_util_config_set_preview(szNewFile);
+                               VideoLogDebug("Setting Preview URL:%s", szMediaUrl);
                        }
+               } else {
+                       VideoLogError("Failed to get preview url");
                }
 
+
                MP_FREE_STRING(szFilePath);
                MP_FREE_STRING(szFileExt);
                MP_FREE_STRING(szLocation);
@@ -237,9 +277,6 @@ static void __mp_rename_ctrl_entry_max_len_cb(void *pUserData,
                                                                                          void *pEventInfo)
 {
        VideoLogInfo("");
-
-       mp_util_ticker_toast_popup(VIDEOS_NOTIPOP_MSG_MAX_NUM_OF_CHARACTERS,
-                                                          false, false);
 }
 
 /**
@@ -350,6 +387,13 @@ static void __mp_rename_ctrl_entry_changed_cb(void *pUserData,
        }
        VideoLogInfo("");
 
+       Evas_Object *layout = elm_object_content_get(g_pRenameHandle->pPopUpHandle);
+       if(layout == NULL)
+       {
+               VideoLogError("content layout for popup is invalid.");
+               return;
+       }
+
        Evas_Object *en = pObj;
 
        char *entry_data = (char *) elm_entry_entry_get(en);
@@ -394,9 +438,8 @@ static void __mp_rename_ctrl_entry_changed_cb(void *pUserData,
                                                                                                                 szTempName));
                        elm_entry_cursor_begin_set(en);
                        elm_entry_cursor_pos_set(en, position - 1);
+                       __mp_rename_ctrl_info_message_set(layout, VIDEOS_NOTIPOP_MSG_INVALID_CHARACTERS, EINA_TRUE);
 
-                       mp_util_status_bar_noti_popup_show
-                               (VIDEOS_NOTIPOP_MSG_INVALID_CHARACTERS);
                        MP_FREE_STRING(szFileName);
                        return;
                }
@@ -413,6 +456,9 @@ static void __mp_rename_ctrl_entry_changed_cb(void *pUserData,
                                                                        EINA_FALSE);
                }
        }
+       if(g_pRenameHandle->isWarningEnabled == EINA_TRUE) {
+               __mp_rename_ctrl_info_message_set(layout, VIDEOS_NOTIPOP_MSG_MAX_NUM_OF_CHARACTERS, EINA_FALSE);
+       }
        MP_FREE_STRING(g_pRenameHandle->szTempName);
        g_pRenameHandle->szTempName = strdup(szFileName);
        if (g_pRenameHandle->bSetToEnd) {
@@ -583,6 +629,7 @@ static void __mp_rename_view_rotate_cb(void *data, Evas_Object * obj,
 ////////////////////////////////////////////////////////////
 // External function
 ////////////////////////////////////////////////////////////
+
 /**
  *
  * @param pNaviFrameHandle
@@ -614,6 +661,7 @@ Evas_Object *mp_rename_ctrl_show(void *pNaviFrameHandle, void *pUserData,
        g_pRenameHandle->RenameCtrlUserCbFunc = pRenameCtrlCb;
        g_pRenameHandle->nVideoIndex = nVideoItemIndex;
        g_pRenameHandle->bSetToEnd = TRUE;
+       g_pRenameHandle->isWarningEnabled = EINA_FALSE;
 
        char *pVideoFile =
                mp_util_svc_get_video_url(g_pRenameHandle->nVideoIndex);
@@ -650,6 +698,7 @@ Evas_Object *mp_rename_ctrl_show(void *pNaviFrameHandle, void *pUserData,
 
        pLayout = elm_layout_add(g_pRenameHandle->pPopUpHandle);
        elm_layout_file_set(pLayout, edj_path, "pv.popup.entry");
+       evas_object_size_hint_min_set(pLayout, -1, 76);
 
        //Create entry
        Evas_Object *en = NULL;
@@ -696,8 +745,8 @@ Evas_Object *mp_rename_ctrl_show(void *pNaviFrameHandle, void *pUserData,
        __mp_rename_ctrl_set_save_file_name();
        MP_FREE_STRING(g_pRenameHandle->szOldName);
        g_pRenameHandle->szOldName = g_strdup(g_pRenameHandle->szSaveFileName);
-       char *pNameUtf8 =
-               elm_entry_utf8_to_markup(g_pRenameHandle->szSaveFileName);
+       char *pNameUtf8 = elm_entry_utf8_to_markup(g_pRenameHandle->szSaveFileName);
+
        elm_entry_entry_set(en, pNameUtf8);
        MP_FREE_STRING(pNameUtf8);
        elm_object_focus_set(en, EINA_TRUE);
@@ -708,6 +757,9 @@ Evas_Object *mp_rename_ctrl_show(void *pNaviFrameHandle, void *pUserData,
        elm_object_part_content_set(pLayout, "elm.swallow.content", en);
        elm_object_content_set(g_pRenameHandle->pPopUpHandle, pLayout);
 
+       //Set Info Message
+       __mp_rename_ctrl_info_message_set(pLayout, VIDEOS_NOTIPOP_MSG_MAX_NUM_OF_CHARACTERS, EINA_FALSE);
+
        g_pRenameHandle->pEntryClearBtn = elm_button_add(pLayout);
        elm_object_style_set(g_pRenameHandle->pEntryClearBtn, "clear");
        elm_object_part_content_set(pLayout, "elm.swallow.end",
@@ -720,7 +772,7 @@ Evas_Object *mp_rename_ctrl_show(void *pNaviFrameHandle, void *pUserData,
 
        g_pRenameHandle->pPopupCancelBtn =
                elm_button_add(g_pRenameHandle->pPopUpHandle);
-       elm_object_style_set(g_pRenameHandle->pPopupCancelBtn, "popup");
+       elm_object_style_set(g_pRenameHandle->pPopupCancelBtn, "border");
        elm_object_domain_translatable_text_set(g_pRenameHandle->
                                                                                        pPopupCancelBtn, VIDEOS_STRING,
                                                                                        VIDEOS_COMMON_BUTTON_CANCEL_IDS);
@@ -733,7 +785,7 @@ Evas_Object *mp_rename_ctrl_show(void *pNaviFrameHandle, void *pUserData,
 
        g_pRenameHandle->pPopupOkBtn =
                elm_button_add(g_pRenameHandle->pPopUpHandle);
-       elm_object_style_set(g_pRenameHandle->pPopupOkBtn, "popup");
+       //elm_object_style_set(g_pRenameHandle->pPopupOkBtn, "border");
        elm_object_domain_translatable_text_set(g_pRenameHandle->pPopupOkBtn,
                                                                                        VIDEOS_STRING,
                                                                                        VIDEOS_COMMON_BUTTON_RENAME_IDS);
index b19560f908eceba8b1e3d8e9622bd02bb4663629..ca8c00bd4d5080e442b3b3602e63b278728bf915 100755 (executable)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<manifest xmlns="http://tizen.org/ns/packages" api-version="4.0" package="org.tizen.videos_common" version="1.0.0">
+<manifest xmlns="http://tizen.org/ns/packages" api-version="5.5" package="org.tizen.videos_common" version="1.0.0">
     <profile name="tizeniot"/>
     <ui-application appid="org.tizen.videos" exec="videos" launch_mode="single" hw-acceleration="on" multiple="false" nodisplay="false" taskmanage="true" type="capp">
         <label>Video</label>