Implemented delete operation according to new ui guideline 90/237290/2 submit/tizen/20200629.133539
authoraman.jeph <aman.jeph@samsung.com>
Sun, 28 Jun 2020 19:01:57 +0000 (00:31 +0530)
committeraman.jeph <aman.jeph@samsung.com>
Sun, 28 Jun 2020 20:00:45 +0000 (01:30 +0530)
Change-Id: I91190ebc9b3ee1444558e031f640c8305e283dbe
Signed-off-by: aman.jeph <aman.jeph@samsung.com>
project_def.prop
res/edje/popup_progressbar.edc
res/edje/vp-remove-view-layouts.edc [new file with mode: 0755]
res/edje/vp-videolist-custom-gengrid.edc
res/images/select_all_panel_bg.png [new file with mode: 0755]
src/view/mp-video-list-remove-ctrl.c
src/view/mp-video-list-remove-view.c

index 4c19932d65323fdf4a660287faf72eb0b8c2f1b6..f50183c5d41e84735bcadaf586d9481e12f9a806 100755 (executable)
@@ -59,7 +59,7 @@ USER_EDCS_FONT_DIRS_ABS =
 # EDC Flags
 USER_EXT_EDC_KEYS = EDC0 
 
-USER_EXT_EDC0_EDCS = res/edje/vp-searchbar.edc res/edje/vp-custom-winset-style.edc playview/res/edje/pv-brightness-popup.edc playview/res/edje/pv-normal-top-control.edc res/edje/vp-main-listview-internal.edc playview/res/edje/pv-speed-popup.edc res/edje/vp-remove-list-internal.edc res/edje/vp-ctxpopup-option.edc res/edje/vp-device-list-internal.edc res/edje/vp-search-view-internal.edc playview/res/edje/pv-chapter-main-new.edc res/edje/vp-thumbnail-view.edc playview/res/edje/pv-trim-control.edc playview/res/edje/pv-volume.edc playview/res/edje/pv-progressbar.edc res/edje/vp-images.edc playview/res/edje/pv-normal-control.edc playview/res/edje/pv-tag-buddy.edc playview/res/edje/pv-gesture.edc playview/res/edje/pv-volume-popup.edc playview/res/edje/pv-multi-main.edc playview/res/edje/pv-minicontroller.edc playview/res/edje/pv-zoom-guide.edc res/edje/landscape_thumbnail.edc playview/res/edje/pv-subtitle-color-popup.edc playview/res/edje/pv-popup.edc res/shared/res/video.edc res/edje/panel.edc playview/res/edje/pv-sensor-popup.edc playview/res/edje/pv-bookmark-item.edc res/edje/vp-main-layout.edc playview/res/edje/pv-subtitle.edc res/edje/vp-motion-popup.edc res/edje/popup_progressbar.edc playview/res/edje/pv-custom-winset.edc res/edje/vp-main-listview-preview.edc res/edje/vp-naviframe.edc playview/res/edje/pv-resource.edc playview/res/edje/pv-bookmark.edc playview/res/edje/pv-trim-item.edc playview/res/edje/pv-normal-function.edc res/edje/vp-speedbox-popup.edc playview/res/edje/pv-trim-top-control.edc playview/res/edje/pv-normal-main.edc playview/res/edje/pv-tag-preview.edc playview/res/edje/pv-trim-main.edc res/edje/vp-genlist-no-item.edc playview/res/edje/pv-colorselector.edc playview/res/edje/pv-lockscreenmini.edc
+USER_EXT_EDC0_EDCS = res/edje/vp-remove-view-layouts.edc res/edje/vp-searchbar.edc res/edje/vp-custom-winset-style.edc playview/res/edje/pv-brightness-popup.edc playview/res/edje/pv-normal-top-control.edc res/edje/vp-main-listview-internal.edc playview/res/edje/pv-speed-popup.edc res/edje/vp-remove-list-internal.edc res/edje/vp-ctxpopup-option.edc res/edje/vp-device-list-internal.edc res/edje/vp-search-view-internal.edc playview/res/edje/pv-chapter-main-new.edc res/edje/vp-thumbnail-view.edc playview/res/edje/pv-trim-control.edc playview/res/edje/pv-volume.edc playview/res/edje/pv-progressbar.edc res/edje/vp-images.edc playview/res/edje/pv-normal-control.edc playview/res/edje/pv-tag-buddy.edc playview/res/edje/pv-gesture.edc playview/res/edje/pv-volume-popup.edc playview/res/edje/pv-multi-main.edc playview/res/edje/pv-minicontroller.edc playview/res/edje/pv-zoom-guide.edc res/edje/landscape_thumbnail.edc playview/res/edje/pv-subtitle-color-popup.edc playview/res/edje/pv-popup.edc res/shared/res/video.edc res/edje/panel.edc playview/res/edje/pv-sensor-popup.edc playview/res/edje/pv-bookmark-item.edc res/edje/vp-main-layout.edc playview/res/edje/pv-subtitle.edc res/edje/vp-motion-popup.edc res/edje/popup_progressbar.edc playview/res/edje/pv-custom-winset.edc res/edje/vp-main-listview-preview.edc res/edje/vp-naviframe.edc playview/res/edje/pv-resource.edc playview/res/edje/pv-bookmark.edc playview/res/edje/pv-trim-item.edc playview/res/edje/pv-normal-function.edc res/edje/vp-speedbox-popup.edc playview/res/edje/pv-trim-top-control.edc playview/res/edje/pv-normal-main.edc playview/res/edje/pv-tag-preview.edc playview/res/edje/pv-trim-main.edc res/edje/vp-genlist-no-item.edc playview/res/edje/pv-colorselector.edc playview/res/edje/pv-lockscreenmini.edc
 USER_EXT_EDC0_EDCS_IMAGE_DIRS = edje/images playview/res/edje/images res/images 
 USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS = 
 USER_EXT_EDC0_EDCS_SOUND_DIRS = edje/sounds res/edje 
index 8a37248878cb57b07cccd87fd5eab7fea5859d4b..1a625ba93410b28073be5c5c12b997b81c85d9a8 100755 (executable)
@@ -931,8 +931,9 @@ group {
           }
        }
 
-#define POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_MIN_INC 0 70
-#define POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC 15 27
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_MIN_INC 0 174
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_MAX_INC 400 174
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC 40 24
 #define POPUP_PROGRESSBAR_VIEW_LAYOUT_TEXT_FONT_SIZE_INC 0 38
 #define POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_INC 0 69
 #define POPUP_TEXT_FONT_SIZE 15
@@ -940,13 +941,8 @@ group {
 
 group { name: "popup_text_progressbar_view_layout";
    styles {
-      style { name: "popup_progress_style";
-         base: "font=Tizen:style=Regular align=right font_size="14" color=#FFFFFF wrap=mixed ellipsis=1.0";
-         tag:  "br" "\n";
-         tag:  "tab" "\t";
-      }
-  style { name: "popup_processing_style";
-         base: "font=Tizen:style=Regular align=left font_size="POPUP_TEXT_FONT_SIZE" color=#000000 wrap=mixed ellipsis=1.0";
+      style { name: "popup_processing_style";
+         base: "font=Tizen:weight=Regular:width=BreezeSans align=right font_size=22 color=#001447 wrap=mixed ellipsis=1.0";
          tag:  "br" "\n";
          tag:  "tab" "\t";
       }
@@ -958,6 +954,7 @@ group { name: "popup_text_progressbar_view_layout";
          scale: 1;
          description { state: "default" 0.0;
             min: POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_MIN_INC;
+            max: POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_MAX_INC;
             fixed: 1 0;
          }
       }
@@ -966,7 +963,6 @@ group { name: "popup_text_progressbar_view_layout";
          scale: 1;
          description { state: "default" 0.0;
             min: POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC;
-            max: POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC;
             fixed: 1 1;
             rel2.relative: 0.0 0.0;
             align: 0.0 0.0;
@@ -983,54 +979,78 @@ group { name: "popup_text_progressbar_view_layout";
             align: 1.0 1.0;
          }
       }
+      part { name: "content_area";
+        type: SPACER;
+        scale: 1;
+        description { state: "default" 0.0;
+               rel1.to: "pad_l_t";
+               rel1.relative: 1.0 1.0;
+               rel2.to: "pad_r_t";
+               rel2.relative: 0.0 0.0;
+               align: 0.0 0.0;
+        }
+      }
+      part { name: "content_layout_area";
+        type: SPACER;
+        scale: 1;
+        description { state: "default" 0.0;
+               min: 44 44;  // In case only progress bar is added
+               max: 240 52; //max width 44+20[gap0+176(max text width), max height 52 (max text height) ..according to ux guideline
+               rel1.to: "content_area";
+               align: 0.5 0.5;
+        }
+      }
+      part { name: "progressbar";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+           min: 44 44;
+           max: 44 44;
+            rel1.to: "content_layout_area";
+           rel1.relative: 0.0 0.0;
+            rel2.to: "content_layout_area";
+           rel2.relative: 0.0 1.0;
+           align: 0.0 0.5;
+         }
+      }
+      part { name: "progressbar.text.gap";
+        type: SPACER;
+        scale: 1;
+        description { state: "default" 0.0;
+           min: 20 0;
+           max: 20 -1;
+           rel1.to_x: "progressbar";
+           rel1.to_y: "content_layout_area";
+           rel1.relative: 1.0 0.0;
+           rel2.to_x: "progressbar";
+           rel2.to_y: "content_layout_area";
+           rel2.relative: 1.0 1.0;
+           align: 0.0 0.5;
+        }
+      }
       part { name: "elm.text.description";
          type: TEXTBLOCK;
          scale: 1;
          description { state: "default" 0.0;
-            fixed: 0 1;
-            min: POPUP_PROGRESSBAR_VIEW_LAYOUT_TEXT_FONT_SIZE_INC;
+            min: 0 26;
+           max: 176 52;
+           align: 0.0 0.5;
             rel1 {
-               relative: 0.2 0.4;
-               to: "bg";
+               relative: 1.0 0.0;
+               to_x: "progressbar.text.gap";
+               to_y: "content_layout_area";
             }
             rel2 {
-               relative: 0.0 0.6;
-               to_x: "pad_r_t";
-               to_y: "bg";
+               relative: 1.0 1.0;
+               to_x: "progressbar.text.gap";
+               to_y: "content_layout_area";
             }
             text {
                style: "popup_processing_style";
-               min: 0 1;
-            }
-         }
-      }
-      part { name: "progressbar_bg";
-         type: SPACER;
-         scale: 1;
-         description { state: "default" 0.0;
-            fixed: 0 1;
-            min: POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_INC;
-            rel1 {
-               relative: 0.0 0.0;
-               to_x: "bg";
-              to_y: "elm.text.description";
-            }
-            rel2 {
-               relative: 0.2 1.0;
-               to_x: "bg";
-              to_y: "elm.text.description";
+               min: 1 0;
             }
          }
       }
-      part { name: "progressbar";
-         type: SWALLOW;
-         scale: 1;
-         description { state: "default" 0.0;
-            fixed: 0 1;
-            rel1.to: "progressbar_bg";
-            rel2.to: "progressbar_bg";
-         }
-      }
    }
 }
 
diff --git a/res/edje/vp-remove-view-layouts.edc b/res/edje/vp-remove-view-layouts.edc
new file mode 100755 (executable)
index 0000000..9c8208a
--- /dev/null
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "vp-common.edc"
+
+collections {
+       base_scale: CURRENT_BASE_SCALE;
+       color_classes {
+               color_class { "title_content/button/text";
+                       color: 0 12 43 255; // #000C2B Opacity 1
+               }
+               color_class { "title_content/button/text_dim";
+                       color: 195 202 210 255; // #C3CAD2 Opacity 1
+               }
+       }
+       styles {
+               style { name: "title_content_button";
+                       base: "font=Tizen:weight=Regular:width=BreezeSans font_size=18 align=center color=#000C2B color_class=title_content/button/text ellipsis=1.0 wrap=none text_class=tizen";
+               }
+               style { name: "title_content_button_dim";
+                       base: "font=Tizen:weight=Regular:width=BreezeSans font_size=18 align=center color=#C3CAD2 color_class=title_content/button/text_dim ellipsis=1.0 wrap=none text_class=tizen";
+               }
+       }
+       group { "remove_view/title_content"
+               parts {
+                       spacer { "base"; scale;
+                               desc { "default";
+                                       min: 372 48;
+                                       max: 372 48;
+                               }
+                       }
+                       textblock { "cancel_text"; nomouse; scale;
+                               desc { "default";
+                                       min: 176 48;
+                                       max: 176 48;
+                                       rel1 {
+                                               to: "base";
+                                               relative: 0.0 0.0;
+                                       }
+                                       rel2 {
+                                               to: "base";
+                                               relative: 0.0 1.0;
+                                       }
+                                       align: 0.0 0.0;
+                                       fixed: 0 1;
+                                       text {
+                                               style: "title_content_button";
+                                       }
+                               }
+                               desc { "disable"
+                                       inherit: "default";
+                                       text.style: "title_content_button_dim";
+                               }
+                       }
+                       spacer { "button_gap"; scale;
+                               desc { "default";
+                                       min: 20 48;
+                                       max: 20 48;
+                                       fixed: 1 1;
+                                       align: 0.0 0.0;
+                                       rel1.to: "cancel_text";
+                                       rel1.relative: 1.0 0.0;
+                                       rel2.to: "cancel_text";
+                                       rel2.relative: 1.0 1.0;
+                               }
+                       }
+                       textblock { "done_text"; nomouse; scale;
+                               desc { "default";
+                                       min: 176 48;
+                                       max: 176 48;
+                                       rel1 {
+                                               to: "base";
+                                               relative: 1.0 0.0;
+                                       }
+                                       rel2 {
+                                               to: "base";
+                                               relative: 1.0 1.0;
+                                       }
+                                       align: 1.0 0.0;
+                                       fixed: 0 1;
+                                       text {
+                                               style: "title_content_button";
+                                       }
+                               }
+                               desc { "disable"
+                                       inherit: "default";
+                                       text.style: "title_content_button_dim";
+                               }
+                       }
+                       rect { "cancel_text_event"; scale;
+                               desc { "default";
+                                       rel.to: "cancel_text";
+                                       color: 0 0 0 0;
+                                       vis;
+                               }
+                               desc { "disable"
+                                       inherit: "default";
+                                       hid;
+                               }
+                       }
+                       rect { "done_text_event"; scale;
+                               desc { "default";
+                                       rel.to: "done_text";
+                                       color: 0 0 0 0;
+                                       vis;
+                               }
+                               desc { "disable"
+                                       inherit: "default";
+                                       hid;
+                               }
+                       }
+               }
+               programs {
+                       program { "cancel_clicked";
+                               signal: "mouse,clicked,1";
+                               source: "cancel_text_event";
+                               action: SIGNAL_EMIT "cancel_button,clicked" "vp";
+                       }
+                       program { "done_clicked"
+                               signal: "mouse,clicked,1";
+                               source: "done_text_event";
+                               action: SIGNAL_EMIT "done_button,clicked" "vp";
+                       }
+                       program { "cancel_disable";
+                               signal: "cancel_button,state,disable";
+                               source: "vp";
+                               action: STATE_SET "disable";
+                               target: "cancel_text_event";
+                               target: "cancel_text";
+                       }
+                       program { "cancel_enable";
+                               signal: "cancel_button,state,enable";
+                               source: "vp";
+                               action: STATE_SET "default";
+                               target: "cancel_text_event";
+                               target: "cancel_text";
+                       }
+                       program { "done_disable";
+                               signal: "done_button,state,disable";
+                               source: "vp";
+                               action: STATE_SET "disable";
+                               target: "done_text_event";
+                               target: "done_text";
+                       }
+                       program { "done_enable";
+                               signal: "done_button,state,enable";
+                               source: "vp";
+                               action: STATE_SET "default";
+                               target: "done_text_event";
+                               target: "done_text";
+                       }
+               }
+       }
+
+}
+
index adec142f13d7b4d15899e31457cf69172ba5b01d..a75d9d804d98cdb9343412aeed557f1c290a51fb 100755 (executable)
@@ -81,15 +81,78 @@ group { "gengrid/layout"
                                }
                        }
                }
+               swallow { "top.swallow"; scale;
+                       desc { "default";
+                               min: 0 0;
+                               max: -1 0;
+                               rel1 {
+                                       to: "left.padding";
+                                       relative: 1.0 0.0;
+                                       offset: 8 0;
+                               }
+                               rel2 {
+                                       to: "right.padding";
+                                       relative: 0.0 1.0;
+                                       offset: -8 0;
+                               }
+                               align: 0.0 0.0;
+                               hid;
+                       }
+                       desc { "show";
+                               inherit: "default";
+                               min: 0 72;
+                               max: -1 72;
+                               vis;
+                       }
+               }
+               spacer { "top.content.padding"
+                       desc { "default";
+                               min: 0 0;
+                               max: -1 0;
+                               rel1 {
+                                       to_x: "left.padding";
+                                       to_y: "top.swallow";
+                                       relative: 1.0 1.0;
+                               }
+                               rel2 {
+                                       to_x: "right.padding";
+                                       to_y: "top.swallow";
+                                       relative: 0.0 1.0;
+                               }
+                               align: 0.0 0.0;
+                       }
+                       desc { "show";
+                               inherit: "default";
+                               min: 0 24;
+                               max: -1 24;
+                       }
+               }
                swallow { "elm.content.swallow"; scale;
                        desc { "default";
-                               rel1.to: "left.padding";
-                               rel1.relative: 1.0 0.0;
+                               rel1.to_x: "left.padding";
+                               rel1.to_y: "top.content.padding";
+                               rel1.relative: 1.0 1.0;
                                rel2.to: "right.padding";
                                rel2.relative: 0.0 1.0;
                        }
                }
        }
+       programs {
+               program { "show_top_content";
+                       signal: "top_content,show";
+                       source: "vp";
+                       action: STATE_SET "show";
+                       target: "top.swallow";
+                       target: "top.content.padding";
+               }
+               program { "hide_top_content";
+                       signal: "top_content,hide";
+                       source: "vp";
+                       action: STATE_SET "default";
+                       target: "top.swallow";
+                       target: "top.content.padding";
+               }
+       }
 }
 
 group { "elm/gengrid/item/videolist_event/default"
@@ -201,7 +264,7 @@ group { "videolist/progressbar"
 
 group { "elm/gengrid/item/videolist/default";
        inherit: "elm/gengrid/item/videolist_event/default";
-       data.item: "contents" "elm.icon elm.progress";
+       data.item: "contents" "elm.icon elm.progress elm.check";
        data.item: "texts" "elm.text elm.sub.text";
 
        parts {
@@ -338,6 +401,20 @@ group { "elm/gengrid/item/videolist/default";
                                color_class: "gengrid_item/default/icon_disabled";
                        }
                }
+               swallow { "elm.check"; nomouse; scale;
+                       desc { "default";
+                               min: 38 38;
+                               max: 38 38;
+                               rel1.to: "elm.icon";
+                               rel1.relative: 1.0 0.0;
+                               //rel1.offset: 0 0;
+                               rel2.to: "elm.icon";
+                               rel2.relative: 1.0 0.0;
+                               //rel2.offset: 0 -6;
+                               align: 1.0 0.0;
+                               vis;
+                       }
+               }
                spacer { "progress_area"; nomouse; scale;
                        desc { "default";
                                min: 0 4;
@@ -432,6 +509,18 @@ group { "elm/gengrid/item/videolist/default";
                        action: STATE_SET "default";
                        target: "progress_area";
                }
+               program { "show_check";
+                       signal: "videolist,checkbox,show";
+                       signal: "elm";
+                       action: STATE_SET "show";
+                       target: "elm.check";
+               }
+               program { "hide_check";
+                       signal: "videolist,checkbox,hide";
+                       signal: "elm";
+                       action: STATE_SET "default";
+                       target: "elm.check";
+               }
                GENGRID_PROGRAM_DEFAULT(
                        target: "elm.icon";
                        target: "elm.progress";
@@ -439,6 +528,7 @@ group { "elm/gengrid/item/videolist/default";
                        target: "elm.text";
                        target: "elm.sub.text";
                        target: "event";
+                       target: "elm.check";
                )
        }
 }
diff --git a/res/images/select_all_panel_bg.png b/res/images/select_all_panel_bg.png
new file mode 100755 (executable)
index 0000000..cfda7f8
Binary files /dev/null and b/res/images/select_all_panel_bg.png differ
index d1efb481250b87b47eb6cba1e4ab3cc08b17b57c..dbe777465ccdd5af2ef7d3c802009321bf325095 100755 (executable)
@@ -323,57 +323,53 @@ bool mp_remove_ctrl_show(bool * pCheckedItemsEditList,
        }
 
        VideoLogInfo("nTotalDeleteItem : %d", g_pRemoveCtrl->nDelTotalItem);
+       if(g_pRemoveCtrl->nDelTotalItem <= 0)
+       {
+               VideoLogInfo("Nothing to delete");
+               free(g_pRemoveCtrl);
+               return;
+       }
 
-       g_pRemoveCtrl->pPopUpHandle =
-               elm_popup_add(mp_util_get_main_window_handle());
-       evas_object_size_hint_weight_set(g_pRemoveCtrl->pPopUpHandle,
-                                                                        EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       eext_object_event_callback_add(g_pRemoveCtrl->pPopUpHandle,
-                                                                  EEXT_CALLBACK_BACK,
-                                                                  mp_remove_ctrl_button_popup_cb, NULL);
+       g_pRemoveCtrl->pPopUpHandle = elm_popup_add(mp_util_get_main_window_handle());
+       elm_popup_orient_set(g_pRemoveCtrl->pPopUpHandle, ELM_POPUP_ORIENT_CENTER);
+       evas_object_size_hint_weight_set(g_pRemoveCtrl->pPopUpHandle, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       eext_object_event_callback_add(g_pRemoveCtrl->pPopUpHandle, EEXT_CALLBACK_BACK,
+                                                                                                                               mp_remove_ctrl_button_popup_cb, NULL);
 
        char edj_path[1024] = { 0 };
 
        char *path = app_get_resource_path();
-       snprintf(edj_path, 1024, "%s%s/%s", path, "edje",
-                        VIDEO_PLAYER_POPUP_PROGRESSBAR_EDJ);
+       snprintf(edj_path, 1024, "%s%s/%s", path, "edje", VIDEO_PLAYER_POPUP_PROGRESSBAR_EDJ);
        free(path);
-       Evas_Object *pPopupLayout =
-               elm_layout_add(g_pRemoveCtrl->pPopUpHandle);
-       elm_layout_file_set(pPopupLayout, edj_path,
-                                               "popup_text_progressbar_view_layout");
-       elm_object_part_text_set(pPopupLayout, "elm.text.description",
-                                                        VIDEOS_DELETEPOP_MSG_DELETING);
-       elm_object_part_text_set(pPopupLayout, "progress_text", "00/00");
-       evas_object_size_hint_weight_set(pPopupLayout, EVAS_HINT_EXPAND,
-                                                                        EVAS_HINT_EXPAND);
+
+       Evas_Object *pPopupLayout = elm_layout_add(g_pRemoveCtrl->pPopUpHandle);
+       elm_layout_file_set(pPopupLayout, edj_path, "popup_text_progressbar_view_layout");
+       evas_object_size_hint_weight_set(pPopupLayout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        evas_object_show(pPopupLayout);
 
-       Evas_Object *pProgressbar =
-               elm_progressbar_add(g_pRemoveCtrl->pPopUpHandle);
-       elm_object_style_set(pProgressbar, "wheel");
-       evas_object_size_hint_align_set(pProgressbar, EVAS_HINT_FILL,
-                                                                       EVAS_HINT_FILL);
-       evas_object_size_hint_weight_set(pProgressbar, EVAS_HINT_EXPAND,
-                                                                        EVAS_HINT_EXPAND);
+       Evas_Object *pProgressbar = elm_progressbar_add(g_pRemoveCtrl->pPopUpHandle);
+       elm_object_style_set(pProgressbar, "process_small");
+       evas_object_size_hint_align_set(pProgressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_size_hint_weight_set(pProgressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        elm_progressbar_pulse(pProgressbar, EINA_TRUE);
        elm_object_signal_emit(pProgressbar, "elm,units,show", "elm");
        evas_object_show(pProgressbar);
 
+       elm_object_part_text_set(pPopupLayout, "elm.text.description", VIDEOS_DELETEPOP_MSG_DELETING);
+
        elm_object_part_content_set(pPopupLayout, "progressbar", pProgressbar);
 
        g_pRemoveCtrl->pProgressbar = pProgressbar;
 
        elm_object_content_set(g_pRemoveCtrl->pPopUpHandle, pPopupLayout);
-       evas_object_data_set(g_pRemoveCtrl->pPopUpHandle, "progressbar",
-                                                pProgressbar);
+
+       evas_object_data_set(g_pRemoveCtrl->pPopUpHandle, "progressbar", pProgressbar);
 
        evas_object_show(g_pRemoveCtrl->pPopUpHandle);
 
        MP_DEL_TIMER(g_pRemoveCtrl->pStartDelTimer);
        g_pRemoveCtrl->pStartDelTimer =
-               ecore_timer_add(0.3, __mp_remove_ctrl_start_delete_timer_cb,
-                                               pUserData);
+               ecore_timer_add(0.3, __mp_remove_ctrl_start_delete_timer_cb, pUserData);
 
        return TRUE;
 }
index e430362460a01d09af2c3ee04963a2efc849f301..75b8398243246485edbf01b4c01d6d876d08848b 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 VIDEO_SELECTED_INFO_TIMER              4.0
+#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)
+
+typedef struct _stGengridItemData{
+       Elm_Object_Item *item;
+       Evas_Object *icon;
+       Evas_Object *progress_layout;
+       Evas_Object *checkbox;
+       int itemIndex;
+}stGengridItemData;
 
 typedef struct {
        void *pNaviFrameHandle;
        void *pNaviFrameItem;
        void *pObjVideosList;           //used for list view ,folder view,thumbnail view
 
-       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 *pRemoveListGIC;
+
        bool *pCheckedItemsEditListForRemoved;
        char **pSelectedList;           //save selected video id
        bool bSelectallCheckBoxState;
@@ -72,10 +81,7 @@ typedef struct {
        Evas_Object *pRemoveViewBaselayout;
        Evas_Object *pSelectallbtn;
        Evas_Object *pSelAllLayout;
-       Evas_Object *pSavebtn;
-       Evas_Object *pCancelbtn;
-
-       Ecore_Timer *pSelectedInfoLayoutTimer;
+       Evas_Object *pTitleContentLayout;
 } st_VideoListRemoveViewWidget;
 
 static st_VideoListRemoveViewHandle *g_pListRemoveViewHandle = NULL;
@@ -94,13 +100,9 @@ static bool __mp_remove_view_arrange_video_list(void *pObjVideosList,
 static bool __mp_remove_view_arrange_folder_list(void *pObjVideosList,
                                                                                                 MpVideoListTabType
                                                                                                 eTabType, bool bNeedSvc);
-void mp_remove_view_naviframe_transition_effect_cb(void *pUserData,
-                                                                                                  Evas_Object * pObject,
-                                                                                                  void *pEventInfo);
-void mp_remove_view_change_title_info(void);
-static void __mp_remove_view_base_layout_del_cb(void *pUserData, Evas * e,
-                                                                                               Evas_Object * pObject,
-                                                                                               void *pEventInfo);
+static void __mp_remove_view_trans_finished_callback(void *data, Evas_Object *obj, void *event_info);
+
+void mp_remove_view_change_done_button_state(void);
 static void __mp_remove_view_rotate_cb(void *data, Evas_Object * obj,
                                                                           void *event_info);
 
@@ -180,64 +182,22 @@ void mp_remove_view_update_all_check_box(void)
                return;
        }
 
-       Evas_Object *check_box = NULL;
-       Evas_Object *check_box_layout = NULL;
-       Elm_Object_Item *currentItem = NULL;
        Elm_Object_Item *currentItemGengrid = NULL;
        int nVideoItemIndex = 0;
-#ifdef VS_FEATURE_THUMBNAIL_VIEW       //
-       if (g_pListRemoveViewHandle->bThumbnailView) {
-               currentItem =
-                       elm_genlist_first_item_get(g_pListRemoveViewHandle->
-                                                                          pObjVideosList);
-               nVideoItemIndex = 0;
-               while (currentItem && (nVideoItemIndex < nVideoListSize)) {
-                       Evas_Object *gengrid =
-                               elm_object_item_part_content_get(currentItem, "elm.icon");
-                       currentItemGengrid = elm_gengrid_first_item_get(gengrid);
-                       while (currentItemGengrid
-                                  && (nVideoItemIndex < nVideoListSize)) {
-                               Evas_Object *check_box =
-                                       elm_object_item_part_content_get(currentItemGengrid,
-                                                                                                        "elm.swallow.end");
-                               if (check_box) {
-                                       elm_check_state_set(check_box,
-                                                                               g_pListRemoveViewHandle->
-                                                                               pCheckedItemsEditListForRemoved
-                                                                               [nVideoItemIndex]);
-                               }
-                               currentItemGengrid =
-                                       elm_gengrid_item_next_get(currentItemGengrid);
-                               nVideoItemIndex++;
-                       }
-                       currentItem = elm_genlist_item_next_get(currentItem);
-               }
-
-       } else
-#endif
-       {
-               currentItem =
-                       elm_genlist_first_item_get(g_pListRemoveViewHandle->
-                                                                          pObjVideosList);
-               nVideoItemIndex = 0;
-               while (currentItem && (nVideoItemIndex < nVideoListSize)) {
-                       check_box_layout =
-                               elm_object_item_part_content_get(currentItem,
-                                                                                                "elm.icon.2");
-                       check_box =
-                               elm_object_part_content_get(check_box_layout,
-                                                                                       "elm.swallow.content");
+       nVideoItemIndex = 0;
+       currentItemGengrid = elm_gengrid_first_item_get((Evas_Object*)g_pListRemoveViewHandle->pObjVideosList);
+       while (currentItemGengrid && (nVideoItemIndex < nVideoListSize)) {
+                       Evas_Object *check_box = elm_object_item_part_content_get(currentItemGengrid, "elm.check");
                        if (check_box) {
+                               VideoLogInfo("Select All : %d and Current Check: %d",
+                                                               g_pListRemoveViewHandle->bSelectallCheckBoxState,
+                                                               g_pListRemoveViewHandle->pCheckedItemsEditListForRemoved[nVideoItemIndex]);
                                elm_check_state_set(check_box,
-                                                                       g_pListRemoveViewHandle->
-                                                                       pCheckedItemsEditListForRemoved
-                                                                       [nVideoItemIndex]);
+                                                                               g_pListRemoveViewHandle->pCheckedItemsEditListForRemoved[nVideoItemIndex]);
                        }
-                       currentItem = elm_genlist_item_next_get(currentItem);
+                       currentItemGengrid = elm_gengrid_item_next_get(currentItemGengrid);
                        nVideoItemIndex++;
-               }
        }
-
 }
 
 /**
@@ -247,133 +207,44 @@ void mp_remove_view_destroy(void)
 {
        VideoLogInfo("");
 
-       if (g_pListRemoveViewHandle) {
-               evas_object_smart_callback_del(g_pListRemoveViewHandle->
-                                                                          pNaviFrameHandle,
-                                                                          "transition,finished",
-                                                                          mp_remove_view_naviframe_transition_effect_cb);
-               evas_object_smart_callback_del((Evas_Object *)
-                                                                          mp_util_get_main_window_handle(),
-                                                                          "wm,rotation,changed",
-                                                                          __mp_remove_view_rotate_cb);
-               __mp_remove_view_free_selected_list();
-               MP_DEL_ITC(g_pListRemoveViewHandle->pGenListItc);
-               MP_DEL_GRID_ITC(g_pListRemoveViewHandle->pGenGridItc_1);
-               MP_DEL_GRID_ITC(g_pListRemoveViewHandle->pGenGridItc_2);
-               MP_DEL_OBJ(g_pListRemoveViewHandle->pObjVideosList);
-               MP_FREE_STRING(g_pListRemoveViewHandle->
-                                          pCheckedItemsEditListForRemoved);
-               g_pListRemoveViewHandle->pChangeViewUserCbFunc = NULL;
-               g_pListRemoveViewHandle->pChangeViewUpdateFunc = NULL;
-               MP_FREE_STRING(g_pListRemoveViewHandle->pFolderPath);
-
-               free(g_pListRemoveViewHandle);
-               g_pListRemoveViewHandle = NULL;
-       }
-
        if (g_pListRemoveViewWidget) {
+               MP_DEL_OBJ(g_pListRemoveViewWidget->pTitleContentLayout);
                MP_DEL_OBJ(g_pListRemoveViewWidget->pSelectallbtn);
-               MP_DEL_OBJ(g_pListRemoveViewWidget->pSavebtn);
-               MP_DEL_OBJ(g_pListRemoveViewWidget->pCancelbtn);
                MP_DEL_OBJ(g_pListRemoveViewWidget->pSelAllLayout);
                MP_DEL_OBJ(g_pListRemoveViewWidget->pVideoListBox);
                MP_DEL_OBJ(g_pListRemoveViewWidget->pRemoveViewBaselayout);
-               MP_DEL_TIMER(g_pListRemoveViewWidget->pSelectedInfoLayoutTimer);
                free(g_pListRemoveViewWidget);
                g_pListRemoveViewWidget = NULL;
        }
-}
-
-/**
- *
- */
-static void __mp_remove_view_reset(void)
-{
-       VideoLogInfo("");
 
        if (g_pListRemoveViewHandle) {
-               mp_util_db_set_update_fun(g_pListRemoveViewHandle->euLev, NULL);
-               mp_util_db_set_backup_fun(g_pListRemoveViewHandle->euLev, NULL);
-               evas_object_smart_callback_del(g_pListRemoveViewHandle->
-                                                                          pNaviFrameHandle,
-                                                                          "transition,finished",
-                                                                          mp_remove_view_naviframe_transition_effect_cb);
                evas_object_smart_callback_del((Evas_Object *)
                                                                           mp_util_get_main_window_handle(),
                                                                           "wm,rotation,changed",
                                                                           __mp_remove_view_rotate_cb);
                __mp_remove_view_free_selected_list();
-               g_pListRemoveViewHandle->pObjVideosList = NULL;
-               MP_DEL_ITC(g_pListRemoveViewHandle->pGenListItc);
-               MP_DEL_GRID_ITC(g_pListRemoveViewHandle->pGenGridItc_1);
-               MP_DEL_GRID_ITC(g_pListRemoveViewHandle->pGenGridItc_2);
-               MP_FREE_STRING(g_pListRemoveViewHandle->
-                                          pCheckedItemsEditListForRemoved);
+               elm_gengrid_clear((Evas_Object*)g_pListRemoveViewHandle->pObjVideosList);
+               elm_gengrid_item_class_free(g_pListRemoveViewHandle->pRemoveListGIC);
+               MP_DEL_OBJ(g_pListRemoveViewHandle->pObjVideosList);
+               MP_FREE_STRING(g_pListRemoveViewHandle->pCheckedItemsEditListForRemoved);
                g_pListRemoveViewHandle->pChangeViewUserCbFunc = NULL;
                g_pListRemoveViewHandle->pChangeViewUpdateFunc = NULL;
                MP_FREE_STRING(g_pListRemoveViewHandle->pFolderPath);
+               elm_object_item_del(g_pListRemoveViewHandle->pNaviFrameItem);
 
                free(g_pListRemoveViewHandle);
                g_pListRemoveViewHandle = NULL;
        }
-
-       if (g_pListRemoveViewWidget) {
-
-               MP_DEL_OBJ(g_pListRemoveViewWidget->pSelectallbtn);
-               MP_DEL_OBJ(g_pListRemoveViewWidget->pCancelbtn);
-               MP_DEL_OBJ(g_pListRemoveViewWidget->pSavebtn);
-               g_pListRemoveViewWidget->pSelAllLayout = NULL;
-               if (g_pListRemoveViewWidget->pVideoListBox) {
-                       g_pListRemoveViewWidget->pVideoListBox = NULL;
-               }
-
-               if (g_pListRemoveViewWidget->pRemoveViewBaselayout) {
-                       g_pListRemoveViewWidget->pRemoveViewBaselayout = NULL;
-               }
-
-               MP_DEL_TIMER(g_pListRemoveViewWidget->pSelectedInfoLayoutTimer);
-
-               free(g_pListRemoveViewWidget);
-               g_pListRemoveViewWidget = NULL;
-       }
 }
 
-/**
- *
- */
-void mp_remove_view_reset_value(void)
-{
-       VideoLogInfo("");
-
-       if (!g_pListRemoveViewHandle) {
-               VideoLogError("[ERR] g_pListRemoveViewHandle is not existed.");
-               return;
-       }
-
-       g_pListRemoveViewHandle->pNaviFrameHandle = NULL;
-       g_pListRemoveViewHandle->pNaviFrameItem = NULL;
-       g_pListRemoveViewHandle->pChangeViewUserCbFunc = NULL;
-
-       g_pListRemoveViewHandle->bSelectallCheckBoxState = FALSE;
-       g_pListRemoveViewHandle->nSelectCounterForEditList = 0;
-       g_pListRemoveViewHandle->nSortType = MP_MEDIA_SORT_BY_RECENTLY_VIEWED;
-
-       if (g_pListRemoveViewHandle->pNaviFrameItem) {
-               elm_object_item_part_content_unset(g_pListRemoveViewHandle->
-                                                                                  pNaviFrameItem,
-                                                                                  "toolbar_more_btn");
-               elm_object_item_part_content_unset(g_pListRemoveViewHandle->
-                                                                                  pNaviFrameItem, "toolbar");
-               elm_object_item_part_content_unset(g_pListRemoveViewHandle->
-                                                                                  pNaviFrameItem,
-                                                                                  "toolbar_button2");
-       }
-}
-
-
 ////////////////////////////////////////////////////
 // Remove items. (Below functions are about the item deletion to call by button of toolbar.)
 
+static void __mp_remove_view_trans_finished_callback(void *data, Evas_Object *obj, void *event_info)
+{
+       mp_remove_view_destroy();
+       evas_object_smart_callback_del(obj, "transition,finished", __mp_remove_view_trans_finished_callback);
+}
 /**
  *
  */
@@ -429,65 +300,6 @@ void mp_remove_view_response_done_delete_items_popup_cb(void *pUserData,
        }
 }
 
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pEventInfo
- */
-void mp_remove_view_response_cancel_delete_items_popup_cb(void *pUserData,
-                                                                                                                 Evas_Object *
-                                                                                                                 pObject,
-                                                                                                                 void *pEventInfo)
-{
-       VideoLogInfo("");
-
-       mp_util_delete_popup_handle();
-}
-
-/**
- *
- * @param pUserData
- * @param pEvas
- * @param pObject
- * @param pEventInfo
- */
-void mp_remove_view_HW_mouse_back_popup_cb(void *pUserData, Evas * pEvas,
-                                                                                  Evas_Object * pObject,
-                                                                                  void *pEventInfo)
-{
-       Evas_Event_Mouse_Up *pEvent = pEventInfo;
-       if (!pEvent) {
-               VideoLogWarning("[ERR] pEvent is NULL.");
-               return;
-       }
-
-       if (pEvent->button == 3) {
-               mp_util_delete_popup_handle();
-       }
-}
-
-/**
- *
- * @param pUserData
- * @param pEvas
- * @param pObject
- * @param pEventInfo
- */
-void mp_remove_view_HW_key_back_popup_cb(void *pUserData, Evas * pEvas,
-                                                                                Evas_Object * pObject,
-                                                                                void *pEventInfo)
-{
-       Evas_Event_Key_Down *pEvent = pEventInfo;
-       if (!pEvent) {
-               VideoLogWarning("[ERR] pEvent is NULL.");
-               return;
-       }
-       if (!g_strcmp0(pEvent->keyname, "XF86Back")) {
-               mp_util_delete_popup_handle();
-       }
-}
-
 /**
  *
  * @param data
@@ -495,10 +307,7 @@ void mp_remove_view_HW_key_back_popup_cb(void *pUserData, Evas * pEvas,
  * @param emission
  * @param source
  */
-static void __mp_remove_view_run_cancel_items_cb(void *data,
-                                                                                                Evas_Object * obj,
-                                                                                                const char *emission,
-                                                                                                const char *source)
+static void __mp_remove_view_run_cancel_items_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
        if (!g_pListRemoveViewHandle->pNaviFrameHandle) {
                VideoLogError("g_pListRemoveViewHandle->pNaviFrameHandle is NULL");
@@ -507,7 +316,7 @@ static void __mp_remove_view_run_cancel_items_cb(void *data,
 
        VideoLogInfo("");
 
-       elm_naviframe_item_pop(g_pListRemoveViewHandle->pNaviFrameHandle);
+       mp_remove_view_done_delete_complete();
 }
 
 /**
@@ -517,10 +326,7 @@ static void __mp_remove_view_run_cancel_items_cb(void *data,
  * @param emission
  * @param source
  */
-static void __mp_remove_view_run_delete_items_cb(void *data,
-                                                                                                Evas_Object * obj,
-                                                                                                const char *emission,
-                                                                                                const char *source)
+static void __mp_remove_view_run_delete_items_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
        if (!g_pListRemoveViewHandle) {
                VideoLogError("[ERR] g_pMainViewHandle is NULL.");
@@ -529,35 +335,26 @@ static void __mp_remove_view_run_delete_items_cb(void *data,
 
        VideoLogInfo("");
 
-       if (!g_pListRemoveViewHandle->pObjVideosList) {
-               VideoLogError("No exist genlist object.");
-               return;
-       }
-
-       int nSelectCounter =
-               g_pListRemoveViewHandle->nSelectCounterForEditList;
-
-       if (nSelectCounter > 0) {
-               MpListViewAsType type = mp_view_as_ctrl_get_type();
-               bool bItemFolderView = mp_folder_item_view_is_current_view();
+       __mp_remove_view_release_selected_list();
+               //mp_util_delete_popup_handle();
+               g_pListRemoveViewHandle->bUpdateList = TRUE;
+               int nVideoListSize = 0;
 
-               if (type == MP_LIST_VIEW_AS_FOLDER_LIST && bItemFolderView) {
-                       type = MP_LIST_VIEW_AS_THUMBNAIL_LIST;
+               if (LIST_TAB_TYPE_PERSONAL == g_pListRemoveViewHandle->eTabType) {
+                       if (g_pListRemoveViewHandle->bFolderDel) {
+                               nVideoListSize = mp_util_svc_get_video_folder_size();
+                       } else {
+                               nVideoListSize =
+                                       mp_util_svc_get_number_of_video_item_by_type();
+                       }
+                       mp_remove_ctrl_show(g_pListRemoveViewHandle->
+                                                               pCheckedItemsEditListForRemoved,
+                                                               nVideoListSize,
+                                                               mp_remove_view_done_delete_complete,
+                                                               g_pListRemoveViewHandle->bFolderDel, NULL);
+               } else {
+                       VideoLogError("Can't handle this eTabType!");
                }
-
-               if (g_pListRemoveViewHandle->bSelectallCheckBoxState)
-                       mp_util_remove_all_videos_question_popup((void *) NULL, type,
-                                                                                                        mp_remove_view_response_done_delete_items_popup_cb,
-                                                                                                        mp_remove_view_response_cancel_delete_items_popup_cb,
-                                                                                                        mp_remove_view_HW_mouse_back_popup_cb,
-                                                                                                        mp_remove_view_HW_key_back_popup_cb);
-               else
-                       mp_util_remove_question_popup((-nSelectCounter), type,
-                                                                                 mp_remove_view_response_done_delete_items_popup_cb,
-                                                                                 mp_remove_view_response_cancel_delete_items_popup_cb,
-                                                                                 mp_remove_view_HW_mouse_back_popup_cb,
-                                                                                 mp_remove_view_HW_key_back_popup_cb);
-       }
 }
 
 /**
@@ -570,11 +367,11 @@ static void __mp_remove_view_trans_finished_cb(void *pUserData,
                                                                                           Evas_Object * obj,
                                                                                           void *event_info)
 {
-       if (!obj) {
+       if (!g_pListRemoveViewHandle) {
                VideoLogError("[ERR] g_pListRemoveViewHandle is NULL.");
                return;
        }
-
+       VideoLogInfo("");
        mp_widget_ctrl_enable_navi_handle_focus(obj);
 
        evas_object_smart_callback_del(obj, "transition,finished",
@@ -594,14 +391,11 @@ static Eina_Bool __mp_remove_view_back_btn_cb(void *pUserData,
                VideoLogInfo("[ERR] g_pListRemoveViewHandle is NULL.");
                return EINA_TRUE;
        }
+       VideoLogInfo("");
        // Register transition finished callback.
-       mp_widget_ctrl_disable_navi_handle_focus_except_item
-               (g_pListRemoveViewHandle->pNaviFrameHandle,
-                g_pListRemoveViewHandle->pNaviFrameItem);
-       evas_object_smart_callback_add(g_pListRemoveViewHandle->
-                                                                  pNaviFrameHandle, "transition,finished",
-                                                                  __mp_remove_view_trans_finished_cb,
-                                                                  NULL);
+       evas_object_smart_callback_add(g_pListRemoveViewHandle->pNaviFrameHandle, "transition,finished",
+                                                                                                                                                __mp_remove_view_trans_finished_callback,
+                                                                                                                                               NULL);
 
        mp_remove_view_pop();
 
@@ -611,27 +405,24 @@ static Eina_Bool __mp_remove_view_back_btn_cb(void *pUserData,
 /**
  *
  */
-void mp_remove_view_change_title_info(void)
+void mp_remove_view_change_done_button_state(void)
 {
+       if(g_pListRemoveViewHandle == NULL || g_pListRemoveViewWidget == NULL || g_pListRemoveViewWidget->pTitleContentLayout == NULL)
+       {
+               VideoLogError("g_pListRemoveViewHandle: %p, g_pListRemoveViewWidget: %p, g_pListRemoveViewWidget->pTitleContentLayout: %p may be invalid",
+                                                                                                                       g_pListRemoveViewHandle, g_pListRemoveViewWidget, g_pListRemoveViewWidget->pTitleContentLayout);
+               return;
+       }
        VideoLogInfo("nNumOfSelectdCount : %d",
                                 g_pListRemoveViewHandle->nSelectCounterForEditList);
 
        if (eina_list_count(g_pSelectedList) > 0) {
-               elm_object_disabled_set(g_pListRemoveViewWidget->pSavebtn,
-                                                               EINA_FALSE);
+               VideoLogInfo("Activate delete tab.");
+               elm_object_signal_emit(g_pListRemoveViewWidget->pTitleContentLayout, "done_button,state,enable", "vp");
        } else {
                VideoLogInfo("Unactivate delete tab.");
-               elm_object_disabled_set(g_pListRemoveViewWidget->pSavebtn,
-                                                               EINA_TRUE);
+               elm_object_signal_emit(g_pListRemoveViewWidget->pTitleContentLayout, "done_button,state,disable", "vp");
        }
-
-       char *szCheckingTotalItem =
-               g_strdup_printf(VIDEOS_SELECTVIEW_HEADER_PD_SELECTED,
-                                               eina_list_count(g_pSelectedList));
-       elm_object_item_domain_translatable_part_text_set
-               (g_pListRemoveViewHandle->pNaviFrameItem, "elm.text.title",
-                PACKAGE, szCheckingTotalItem);
-       MP_FREE_STRING(szCheckingTotalItem);
 }
 
 /**
@@ -647,6 +438,7 @@ static void __mp_remove_view_select_all_change_check_box_cb(void
                                                                                                                        void
                                                                                                                        *pEventInfo)
 {
+       VideoLogError("");
        if (!pObject) {
                VideoLogError("[ERR]");
                return;
@@ -672,25 +464,22 @@ static void __mp_remove_view_select_all_change_check_box_cb(void
                VideoLogError("Can't handle this eTabType!");
        }
 
-       VideoLogInfo("nVideoListSize : %d", nVideoListSize);
+       VideoLogInfo("nVideoListSize : %d SelectAll Chekbox current state: %d", nVideoListSize,
+                                                                                       g_pListRemoveViewHandle->bSelectallCheckBoxState);
 
        if (!g_pListRemoveViewHandle->bSelectallCheckBoxState) {
+               VideoLogInfo("Select all set to true");
                g_pListRemoveViewHandle->bSelectallCheckBoxState = TRUE;
-               g_pListRemoveViewHandle->nSelectCounterForEditList =
-                       nVideoListSize;
+               g_pListRemoveViewHandle->nSelectCounterForEditList = nVideoListSize;
        } else {
+               VideoLogInfo("Select all set to false");
                g_pListRemoveViewHandle->bSelectallCheckBoxState = FALSE;
                g_pListRemoveViewHandle->nSelectCounterForEditList = 0;
-
-               VideoLogInfo("Unactivate delete tab.");
-               elm_object_disabled_set(g_pListRemoveViewWidget->pSavebtn,
-                                                               EINA_TRUE);
        }
 
        for (nCounter = 0; nCounter < nVideoListSize; nCounter++) {
                g_pListRemoveViewHandle->
-                       pCheckedItemsEditListForRemoved[nCounter] =
-                       g_pListRemoveViewHandle->bSelectallCheckBoxState;
+                       pCheckedItemsEditListForRemoved[nCounter] = g_pListRemoveViewHandle->bSelectallCheckBoxState;
 
                char *pMediaID = NULL;
                if (g_pListRemoveViewHandle->bFolderDel) {
@@ -700,28 +489,14 @@ static void __mp_remove_view_select_all_change_check_box_cb(void
                }
 
 
-               __mp_remove_view_update_remove_selected_file(pMediaID,
-                                                                                                        g_pListRemoveViewHandle->
-                                                                                                        bSelectallCheckBoxState);
+               __mp_remove_view_update_remove_selected_file(pMediaID, g_pListRemoveViewHandle->bSelectallCheckBoxState);
        }
-       mp_remove_view_change_title_info();
+       mp_remove_view_change_done_button_state();
 
        mp_remove_view_update_all_check_box();
 
 }
 
-/**
- *
- */
-void mp_remove_view_delete_select_all(void)
-{
-       VideoLogInfo("");
-
-       g_pListRemoveViewHandle->bSelectallCheckBoxState = FALSE;
-       g_pListRemoveViewHandle->nSelectCounterForEditList = 0;
-
-       mp_remove_view_change_title_info();
-}
 
 ////////////////////////////////////////////////////
 
@@ -742,7 +517,7 @@ void mp_remove_view_change_check_box_state_cb(void *pUserData,
                VideoLogInfo("[ERR]");
                return;
        } else {
-               VideoLogInfo("pObject : %x", pObject);
+               VideoLogInfo("pObject : %p", pObject);
        }
 
        int nVideoListSize = 0;
@@ -790,201 +565,14 @@ void mp_remove_view_change_check_box_state_cb(void *pUserData,
                g_pListRemoveViewHandle->nSelectCounterForEditList--;
                if (g_pListRemoveViewHandle->nSelectCounterForEditList < 1) {
                        VideoLogInfo("Unactivate delete button.");
-                       elm_object_disabled_set(g_pListRemoveViewWidget->pSavebtn,
-                                                                       EINA_TRUE);
                }
        }
 
        elm_check_state_set(g_pListRemoveViewWidget->pSelectallbtn,
                                                g_pListRemoveViewHandle->bSelectallCheckBoxState);
-       mp_remove_view_change_title_info();
-}
-
-//
-////////////////////////////////////////////////////
-
-////////////////////////////////////////////////
-// Genlist callback
-
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pEventInfo
- */
-void mp_remove_view_naviframe_transition_effect_cb(void *pUserData,
-                                                                                                  Evas_Object * pObject,
-                                                                                                  void *pEventInfo)
-{
-       if (!g_pListRemoveViewHandle) {
-               VideoLogError("[ERR] No exist g_pListRemoveViewHandle.");
-               return;
-       }
-
-       VideoLogInfo("");
-
-       Evas_Object *pTmpContents = NULL;
-       Elm_Object_Item *pTmpItem = NULL;
-
-       if (!g_pListRemoveViewHandle->pNaviFrameHandle) {
-               VideoLogError("[ERR] No exist naviframe handle.");
-               return;
-       }
-
-       pTmpItem =
-               elm_naviframe_top_item_get(g_pListRemoveViewHandle->
-                                                                  pNaviFrameHandle);
-       pTmpContents = elm_object_item_content_get(pTmpItem);
-       if (pTmpContents) {
-               if (pTmpContents == g_pListRemoveViewWidget->pVideoListBox) {
-               } else {
-                       VideoLogInfo
-                               ("It's not pListRemoveViewTabbarLayout in top screen.");
-               }
-       } else {
-               VideoLogError("[ERR] No exist naviframe top item.");
-       }
-}
-
-/**
- *
- */
-void mp_remove_view_double_tap_cb(void)
-{
-       if (!g_pListRemoveViewHandle->pObjVideosList) {
-               VideoLogError("pObjVideosList is not exist.");
-               return;
-       }
-
-       VideoLogInfo("");
-
-       elm_genlist_item_bring_in(elm_genlist_first_item_get
-                                                         (g_pListRemoveViewHandle->pObjVideosList),
-                                                         ELM_GENLIST_ITEM_SCROLLTO_TOP);
+       mp_remove_view_change_done_button_state();
 }
 
-/**
- *
- * @param nVideoItemIndex
- * @return
- */
-char *mp_remove_view_get_duration_time(int nVideoItemIndex)
-{
-       VideoLogInfo("");
-
-       char szTmpStr[STR_LEN_MAX] = { 0, };
-       char szTmpStrDurationTime[STR_LEN_MAX] = { 0, };
-       char szTmpStrLastPlayedPos[STR_LEN_MAX] = { 0, };
-
-       unsigned int nVideoInfoDuration =
-               mp_util_svc_get_video_duration_time(nVideoItemIndex);
-       unsigned int nVideoInfoLastTime = 0;
-
-       mp_util_convert_time(nVideoInfoDuration, szTmpStrDurationTime, FALSE);
-       mp_util_convert_time(nVideoInfoLastTime, szTmpStrLastPlayedPos, TRUE);
-
-       snprintf(szTmpStr, STR_LEN_MAX, "%s/%s", szTmpStrLastPlayedPos,
-                        szTmpStrDurationTime);
-
-       return strdup(szTmpStr);
-}
-
-#ifdef VS_FEATURE_LIST_VIEW
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pEventInfo
- */
-static void __mp_remove_folder_view_select_video_item_cb(void *pUserData,
-                                                                                                                Evas_Object *
-                                                                                                                pObject,
-                                                                                                                void *pEventInfo)
-{
-       if (!g_pListRemoveViewHandle->pObjVideosList) {
-               VideoLogInfo("No exist genlist object.");
-               return;
-       }
-
-       VideoLogInfo("");
-
-       int nVideoItemIndex = 0;
-
-       Elm_Object_Item *pItem = (Elm_Object_Item *) pEventInfo;
-       Elm_Object_Item *pSelectedItem =
-               elm_genlist_selected_item_get(pObject);
-
-       if (pItem) {
-               int nVideoListSize = 0;
-               if (LIST_TAB_TYPE_PERSONAL == g_pListRemoveViewHandle->eTabType) {
-                       nVideoItemIndex = (int) elm_object_item_data_get(pItem);
-                       VideoLogInfo("nVideoItemIndex : %d", nVideoItemIndex);
-                       if (g_pListRemoveViewHandle->bFolderDel) {
-                               nVideoListSize = mp_util_svc_get_video_folder_size();
-                       } else {
-                               nVideoListSize =
-                                       mp_util_svc_get_number_of_video_item_by_type();
-                       }
-               } else {
-                       VideoLogError("Can't handle this eTabType!");
-               }
-
-               if (g_pListRemoveViewHandle->
-                       pCheckedItemsEditListForRemoved[nVideoItemIndex]) {
-                       g_pListRemoveViewHandle->
-                               pCheckedItemsEditListForRemoved[nVideoItemIndex] = FALSE;
-                       if (nVideoListSize ==
-                               g_pListRemoveViewHandle->nSelectCounterForEditList) {
-                               VideoLogInfo
-                                       ("All check box of edit list state are not true.");
-                               g_pListRemoveViewHandle->bSelectallCheckBoxState = FALSE;
-                       }
-
-                       g_pListRemoveViewHandle->nSelectCounterForEditList--;
-                       if (g_pListRemoveViewHandle->nSelectCounterForEditList < 1) {
-                               VideoLogInfo("Unactivate delete button.");
-                               elm_object_disabled_set(g_pListRemoveViewWidget->pSavebtn,
-                                                                               EINA_TRUE);
-                       }
-               } else {
-                       g_pListRemoveViewHandle->
-                               pCheckedItemsEditListForRemoved[nVideoItemIndex] = TRUE;
-                       g_pListRemoveViewHandle->nSelectCounterForEditList++;
-                       if (nVideoListSize ==
-                               g_pListRemoveViewHandle->nSelectCounterForEditList) {
-                               VideoLogInfo("All check box of edit list state are true.");
-                               g_pListRemoveViewHandle->bSelectallCheckBoxState = TRUE;
-                       }
-               }
-
-               elm_check_state_set(g_pListRemoveViewWidget->pSelectallbtn,
-                                                       g_pListRemoveViewHandle->
-                                                       bSelectallCheckBoxState);
-               mp_remove_view_change_title_info();
-               Evas_Object *check_box_layout =
-                       elm_object_item_part_content_get(pItem, "elm.icon.2");
-               Evas_Object *check_box =
-                       elm_object_part_content_get(check_box_layout,
-                                                                               "elm.swallow.content");
-
-               if (check_box) {
-                       elm_check_state_set(check_box,
-                                                               g_pListRemoveViewHandle->
-                                                               pCheckedItemsEditListForRemoved
-                                                               [nVideoItemIndex]);
-               }
-
-       } else {
-               VideoLogError("[ERR]Error item number.");
-       }
-
-       if (pSelectedItem) {
-               VideoLogInfo("[INFORM] --pSelectedItem --");
-               elm_genlist_item_selected_set(pSelectedItem, EINA_FALSE);
-       }
-}
-#endif
-
 /**
  *
  */
@@ -1056,87 +644,65 @@ static void __mp_remove_view_update_remove_selected_file(char *path,
  * @param pObject
  * @param pEventInfo
  */
-static void __mp_remove_view_select_grid_item_cb(void *pUserData,
-                                                                                                Evas_Object * pObject,
-                                                                                                void *pEventInfo)
+static void __mp_remove_view_select_grid_item_cb(void *pUserData, Evas_Object * pObject, void *pEventInfo)
 {
-       if (!g_pListRemoveViewHandle->pObjVideosList) {
-               VideoLogInfo("No exist genlist object.");
-               return;
-       }
-
        VideoLogInfo("");
 
-       int nVideoItemIndex = 0;
-
        Elm_Object_Item *pItem = (Elm_Object_Item *) pEventInfo;
+       stGengridItemData *item_data = (stGengridItemData*)pUserData;
+       int nVideoItemIndex = item_data->itemIndex;
+
+       VideoLogInfo("nVideoItemIndex : %d", nVideoItemIndex);
+
+       char *pMediaID = NULL;
 
        if (pItem) {
                int nVideoListSize = 0;
                if (LIST_TAB_TYPE_PERSONAL == g_pListRemoveViewHandle->eTabType) {
-                       nVideoItemIndex = (int) elm_object_item_data_get(pItem);
-                       VideoLogInfo("nVideoItemIndex : %d", nVideoItemIndex);
                        if (g_pListRemoveViewHandle->bFolderDel) {
                                nVideoListSize = mp_util_svc_get_video_folder_size();
+                               pMediaID = mp_util_svc_get_video_folder_id(nVideoItemIndex);
                        } else {
-                               nVideoListSize =
-                                       mp_util_svc_get_number_of_video_item_by_type();
+                               nVideoListSize = mp_util_svc_get_number_of_video_item_by_type();
+                               pMediaID = mp_util_svc_get_video_id_by_index(nVideoItemIndex);
                        }
                } else {
                        VideoLogError("Can't handle this eTabType!");
                }
 
-               char *pMediaID = NULL;
-               if (g_pListRemoveViewHandle->bFolderDel) {
-                       pMediaID = mp_util_svc_get_video_folder_id(nVideoItemIndex);
-               } else {
-                       pMediaID = mp_util_svc_get_video_id_by_index(nVideoItemIndex);
-               }
+               if (g_pListRemoveViewHandle->pCheckedItemsEditListForRemoved[nVideoItemIndex]) {
+                       g_pListRemoveViewHandle->pCheckedItemsEditListForRemoved[nVideoItemIndex] = FALSE;
 
-
-               if (g_pListRemoveViewHandle->
-                       pCheckedItemsEditListForRemoved[nVideoItemIndex]) {
-                       g_pListRemoveViewHandle->
-                               pCheckedItemsEditListForRemoved[nVideoItemIndex] = FALSE;
-
-                       if (nVideoListSize ==
-                               g_pListRemoveViewHandle->nSelectCounterForEditList) {
-                               VideoLogInfo
-                                       ("All check box of edit list state are not true.");
+                       if (nVideoListSize == g_pListRemoveViewHandle->nSelectCounterForEditList) {
+                               VideoLogInfo("All check box of edit list state are not true.");
                                g_pListRemoveViewHandle->bSelectallCheckBoxState = FALSE;
                        }
 
                        g_pListRemoveViewHandle->nSelectCounterForEditList--;
                        if (g_pListRemoveViewHandle->nSelectCounterForEditList < 1) {
                                VideoLogInfo("Unactivate delete button.");
-                               elm_object_disabled_set(g_pListRemoveViewWidget->pSavebtn,
-                                                                               EINA_TRUE);
-
                        }
-
-                       __mp_remove_view_update_remove_selected_file(pMediaID,
-                                                                                                                EINA_FALSE);
-
+                       __mp_remove_view_update_remove_selected_file(pMediaID, EINA_FALSE);
                } else {
-                       g_pListRemoveViewHandle->
-                               pCheckedItemsEditListForRemoved[nVideoItemIndex] = TRUE;
+                       g_pListRemoveViewHandle->pCheckedItemsEditListForRemoved[nVideoItemIndex] = TRUE;
                        g_pListRemoveViewHandle->nSelectCounterForEditList++;
-                       if (nVideoListSize ==
-                               g_pListRemoveViewHandle->nSelectCounterForEditList) {
+                       if (nVideoListSize == g_pListRemoveViewHandle->nSelectCounterForEditList) {
                                VideoLogInfo("All check box of edit list state are true.");
                                g_pListRemoveViewHandle->bSelectallCheckBoxState = TRUE;
                        }
-                       __mp_remove_view_update_remove_selected_file(pMediaID,
-                                                                                                                EINA_TRUE);
+                       __mp_remove_view_update_remove_selected_file(pMediaID, EINA_TRUE);
                }
 
-               elm_check_state_set(g_pListRemoveViewWidget->pSelectallbtn,
-                                                       g_pListRemoveViewHandle->
-                                                       bSelectallCheckBoxState);
+               //Set Item Check state.
+               //Eina_Bool curr_state = elm_check_state_get(item_data->checkbox);
+               elm_check_state_set(item_data->checkbox, g_pListRemoveViewHandle->pCheckedItemsEditListForRemoved[nVideoItemIndex]);
 
-               mp_remove_view_change_title_info();
+               //Set Select all check state
+               elm_check_state_set(g_pListRemoveViewWidget->pSelectallbtn, g_pListRemoveViewHandle->bSelectallCheckBoxState);
 
-               elm_gengrid_item_update(pItem);
+               mp_remove_view_change_done_button_state();
+
+//             elm_gengrid_item_update(pItem);
                //keep checkbox animation effect
                elm_gengrid_item_selected_set(pItem, EINA_FALSE);
        } else {
@@ -1184,16 +750,13 @@ char *mp_remove_view_get_label_of_video_item_cb(const void *pUserData,
  * @param pPart
  * @return
  */
-static char *__mp_remove_view_get_label_of_grid_item_cb(const void
-                                                                                                               *pUserData,
-                                                                                                               Evas_Object *
-                                                                                                               pObject,
-                                                                                                               const char *pPart)
+static char *__mp_remove_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->itemIndex;
 
        if (!strcmp(pPart, "elm.text")) {
-               char *szTitle = NULL;
+               char *szTitle;
                szTitle = mp_util_svc_get_video_title(nVideoItemIndex);
                char *szTitleUtf8 = elm_entry_utf8_to_markup(szTitle);
 
@@ -1203,10 +766,9 @@ static char *__mp_remove_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;
 }
 #endif
@@ -1241,23 +803,35 @@ static char *__mp_remove_view_get_label_of_folder_cb(const void *pUserData,
                                                                                                         Evas_Object * pObject,
                                                                                                         const char *pPart)
 {
-       int nFolderItemIndex = (int) pUserData;
-
-       if (!strcmp(pPart, "elm.text.main.left.top")
-               || !strcmp(pPart, "elm.text")) {
-               char *szTitle = NULL;
-               char *title = NULL;
-               char buffer[10] = { 0, };
-               szTitle = mp_util_svc_get_video_folder_name(nFolderItemIndex);
-               int nVideoListSize =
-                       mp_remove_view_get_respective_video_no(nFolderItemIndex);
-               snprintf(buffer, 10, "%d", nVideoListSize);
-               title = g_strconcat(szTitle, "(", buffer, ")", NULL);
-               char *szTitleUtf8 = elm_entry_utf8_to_markup(title);
-
-               MP_FREE_STRING(szTitle);
-               MP_FREE_STRING(title);
-               return szTitleUtf8;
+       stGengridItemData *item_data = (void *)pUserData;
+       int nFolderItemIndex = item_data->itemIndex;
+
+       if (!strcmp(pPart, "elm.text")) {
+               char *szTitle1 = NULL;
+               szTitle1 = mp_util_svc_get_video_folder_name(nFolderItemIndex);
+               if(szTitle1 == NULL)
+               {
+                       VideoLogError("Folder name is invalid");
+                       return NULL;
+               }
+               char *szTitleUtf8 = elm_entry_utf8_to_markup(szTitle1);
+               int nVideoListSize = mp_remove_view_get_respective_video_no(nFolderItemIndex);
+               // 10 is for number and brackets e.g. (10)
+               // To DO make it dynamic
+               int len = strlen(szTitleUtf8) + 10;
+               char *folder_title = malloc(strlen(szTitleUtf8)+10);
+               if(folder_title == NULL)
+               {
+                       VideoLogError("Failed to allocate memory for folder title");
+                       return NULL;
+               }
+               snprintf(folder_title, len, "%s(%d)", szTitleUtf8, nVideoListSize);
+
+               MP_FREE_STRING(szTitle1);
+               MP_FREE_STRING(szTitleUtf8);
+               VideoLogInfo("Setting Label: %s", folder_title);
+
+               return folder_title;
        }
 
        return NULL;
@@ -1272,49 +846,45 @@ static char *__mp_remove_view_get_label_of_folder_cb(const void *pUserData,
  * @param pPart
  * @return
  */
-static Evas_Object *__mp_remove_folder_view_get_grid_icon_cb(const void
-                                                                                                                        *pUserData,
-                                                                                                                        Evas_Object *
-                                                                                                                        pObject,
-                                                                                                                        const char
-                                                                                                                        *pPart)
+static Evas_Object *__mp_remove_folder_view_get_grid_icon_cb(void *pUserData, Evas_Object *pObject,
+                                                                                                                                                                                               const char*pPart)
 {
-       int nFolderItemIndex = (int) pUserData;
-
-       if (!strcmp(pPart, "elm.swallow.icon")) {
-               char *pThumbIconUri =
-                       mp_util_get_folder_thumbnail(nFolderItemIndex,
-                                                                                mp_sort_ctrl_get_sort_state());
-               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);
+       stGengridItemData *item_data = pUserData;
+       int nFolderItemIndex = item_data->itemIndex;
+
+       if (!strcmp(pPart, "elm.icon")) {
+               char *pThumbIconUri = mp_util_get_folder_thumbnail(nFolderItemIndex, mp_sort_ctrl_get_sort_state());
+               if(pThumbIconUri == NULL)
+               {
+                       VideoLogError("thumbnail url is invalid");
+                       return NULL;
                }
+               Evas_Object *img = elm_image_add(pObject);
+               elm_image_file_set(img, pThumbIconUri, NULL);
+               elm_image_aspect_fixed_set(img, EINA_FALSE);
+               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);
 
-               MP_FREE_STRING(pThumbIconUri);
-
-               return pBg;
-       } else if (!strcmp(pPart, "elm.swallow.end")) {
-               Evas_Object *pCheckBox = elm_check_add(pObject);
-               elm_object_style_set(pCheckBox, "default");
-               evas_object_propagate_events_set(pCheckBox, EINA_TRUE);
-               elm_check_state_pointer_set(pCheckBox,
-                                                                       (Eina_Bool *) &
-                                                                       (g_pListRemoveViewHandle->
-                                                                        pCheckedItemsEditListForRemoved
-                                                                        [nFolderItemIndex]));
-
-               evas_object_show(pCheckBox);
+               item_data->icon = img;
+               VideoLogInfo("Setting ICON: %p", img);
 
-               return pCheckBox;
+               return img;
+       }
+       else if(!strcmp(pPart, "elm.check"))
+       {
+               VideoLogError("Adding check to delect item view");
+
+               //enable check\r
+               elm_object_item_signal_emit(item_data->item, "videolist,checkbox,show", "elm");
+               //Add Check
+               Evas_Object *checkbox = elm_check_add(pObject);
+               elm_object_style_set(checkbox, "default");
+               evas_object_propagate_events_set(checkbox, EINA_TRUE);
+               elm_check_state_pointer_set(checkbox, (Eina_Bool *) &(g_pListRemoveViewHandle->pCheckedItemsEditListForRemoved[nFolderItemIndex]));
+               evas_object_show(checkbox);
+               item_data->checkbox = checkbox;
+               return checkbox;
        }
        return NULL;
 }
@@ -1326,176 +896,67 @@ static Evas_Object *__mp_remove_folder_view_get_grid_icon_cb(const void
  * @param pPart
  * @return
  */
-static Evas_Object *__mp_remove_view_get_grid_icon_cb(const void
-                                                                                                         *pUserData,
-                                                                                                         Evas_Object *
-                                                                                                         pObject,
-                                                                                                         const char *pPart)
+static Evas_Object *__mp_remove_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->itemIndex;
 
+       char edj_path[1024] = { 0 };
        char *path = app_get_resource_path();
-       snprintf(edj_path, 1024, "%s%s/%s", path, "edje",
-                        VIDEO_PLAYER_IMAGE_NAME_EDJ);
+       snprintf(edj_path, 1024, "%s%s/%s", path, "edje", VIDEO_CUSTOM_THEME);
        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);
-               }
-
-               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 {
+       if (!strcmp(pPart, "elm.icon")) {
+               char *pThumbIconUri = mp_util_svc_get_video_thumbnail(nVideoItemIndex);
+               if(pThumbIconUri == NULL)
+               {
+                       VideoLogError("thumbnail url is invalid");
                        return NULL;
                }
-       } else if (!strcmp(pPart, "elm.swallow.end")) {
-               Evas_Object *pCheckBox = elm_check_add(pObject);
-               elm_object_style_set(pCheckBox, "grid");
-               evas_object_propagate_events_set(pCheckBox, EINA_TRUE);
-               elm_check_state_pointer_set(pCheckBox,
-                                                                       (Eina_Bool *) &
-                                                                       (g_pListRemoveViewHandle->
-                                                                        pCheckedItemsEditListForRemoved
-                                                                        [nVideoItemIndex]));
-
-               evas_object_show(pCheckBox);
-
-               return pCheckBox;
-       }
-       return NULL;
-}
-#endif
-
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pPart
- * @return
- */
-Evas_Object *mp_remove_view_get_icon_of_video_item_cb(const void
-                                                                                                         *pUserData,
-                                                                                                         Evas_Object *
-                                                                                                         pObject,
-                                                                                                         const char *pPart)
-{
+               Evas_Object *img = elm_image_add(pObject);
+               elm_image_file_set(img, pThumbIconUri, NULL);
+               elm_image_aspect_fixed_set(img, EINA_FALSE);
+               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);
 
-       int nVideoItemIndex = (int) pUserData;
-       Evas_Object *pLayout = NULL;
+               item_data->icon = img;
+               free(pThumbIconUri);
 
-       if (!pPart || !pObject) {
-               return NULL;
+               return img;
        }
-
-       if (!strcmp(pPart, "elm.icon.1")) {
-               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);
-               }
-
-               return pLayout;
-       } else if (!strcmp(pPart, "elm.icon.2")) {
-               pLayout = elm_layout_add(pObject);
-
-               Evas_Object *pCheckBox = elm_check_add(pLayout);
-
-               elm_layout_theme_set(pLayout, "layout", "list/C/type.2",
-                                                        "default");
-
-               elm_object_style_set(pCheckBox, "default");
-               evas_object_propagate_events_set(pCheckBox, EINA_FALSE);
-               evas_object_smart_callback_add(pCheckBox, "changed",
-                                                                          mp_remove_view_change_check_box_state_cb,
-                                                                          pUserData);
-
-               elm_check_state_pointer_set(pCheckBox,
-                                                                       (Eina_Bool *) &
-                                                                       (g_pListRemoveViewHandle->
-                                                                        pCheckedItemsEditListForRemoved
-                                                                        [nVideoItemIndex]));
-               elm_layout_content_set(pLayout, "elm.swallow.content", pCheckBox);
-
-               evas_object_show(pCheckBox);
-
-               return pLayout;
+       else if(!strcmp(pPart, "elm.progress"))
+       {
+               //enable progess for video items
+               elm_object_item_signal_emit(item_data->item, "elm,state,progess,show", "elm");
+               // Add progess bar
+               Evas_Object *progessbar = elm_layout_add(pObject);
+               Eina_Bool ret = elm_layout_file_set(progessbar, edj_path, "videolist/progressbar");
+               VideoLogInfo("layout file set %s %s",(ret? "Successful": "Failed"), pPart);
+               evas_object_size_hint_weight_set(progessbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               evas_object_size_hint_align_set(progessbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+               double value = (((double) rand() ) / RAND_MAX );
+               edje_object_part_drag_value_set(elm_layout_edje_get(progessbar), "elm.cur.progressbar", value, 0.0);
+               //__mp_thumbnail_view_get_playback_progress(nVideoItemIndex);
+               item_data->progress_layout = progessbar;
+               return progessbar;
+       }
+       else if(!strcmp(pPart, "elm.check"))
+       {
+               //enable check\r
+               elm_object_item_signal_emit(item_data->item, "videolist,checkbox,show", "elm");
+               //Add Check
+               Evas_Object *checkbox = elm_check_add(pObject);
+               elm_object_style_set(checkbox, "default");
+               evas_object_propagate_events_set(checkbox, EINA_TRUE);
+               elm_check_state_pointer_set(checkbox, (Eina_Bool *) &(g_pListRemoveViewHandle->pCheckedItemsEditListForRemoved[nVideoItemIndex]));
+               evas_object_show(checkbox);
+               item_data->checkbox = checkbox;
+               return checkbox;
        }
-
        return NULL;
 }
+#endif
 
 /**
  *
@@ -1519,254 +980,68 @@ int mp_remove_view_get_sort_type(void)
        return g_pListRemoveViewHandle->nSortType;
 }
 
-/**
- *
- * @param pObjVideosList
- */
-void mp_remove_view_append_video_items(void *pObjVideosList)
+#ifdef VS_FEATURE_THUMBNAIL_VIEW       //
+
+
+static void __mp_remove_view_grid_item_del_cb(void *pUserdata, Evas_Object * obj, void *event_info)
 {
-       if (!g_pListRemoveViewHandle) {
-               VideoLogInfo("invalid handle");
+       if(g_pListRemoveViewHandle == NULL)
+       {
+               VideoLogError("g_pListRemoveViewHandle is invalid");
                return;
        }
-       int nIndex = 0;
-       int nVideoListSize = mp_util_svc_get_number_of_video_item_by_type();
-       MP_DEL_ITC(g_pListRemoveViewHandle->pGenListItc);
-       g_pListRemoveViewHandle->pGenListItc = elm_genlist_item_class_new();
-       g_pListRemoveViewHandle->pGenListItc->item_style = "2line.top"; //"video/edit_list";
-       g_pListRemoveViewHandle->pGenListItc->func.text_get =
-               (void *) mp_remove_view_get_label_of_video_item_cb;
-       g_pListRemoveViewHandle->pGenListItc->func.content_get =
-               (void *) mp_remove_view_get_icon_of_video_item_cb;
-       g_pListRemoveViewHandle->pGenListItc->func.state_get = NULL;
-       g_pListRemoveViewHandle->pGenListItc->func.del = NULL;
-
-       for (nIndex = 0; nIndex < nVideoListSize; nIndex++) {
-               elm_genlist_item_append(pObjVideosList,
-                                                               g_pListRemoveViewHandle->pGenListItc,
-                                                               (void *) nIndex, NULL,
-                                                               ELM_GENLIST_ITEM_NONE, NULL, NULL);
-       }
+       stGengridItemData *item_data = (stGengridItemData*)pUserdata;
+       elm_object_item_data_set(item_data->item, NULL);
+       free(item_data);
 }
 
-#ifdef VS_FEATURE_THUMBNAIL_VIEW       //
-
 /**
  *
  * @param pObjVideosList
  * @param nGenItemIndex
  */
-static void __mp_remove_view_append_grid_items(void *pObjVideosList,
-                                                                                          int nGenItemIndex)
+static void __mp_remove_view_append_grid_items(void *pObjVideosList)
 {
        if (!g_pListRemoveViewHandle) {
                VideoLogInfo("invalid handle");
                return;
        }
-       MP_DEL_GRID_ITC(g_pListRemoveViewHandle->pGenGridItc_1);
-       MP_DEL_GRID_ITC(g_pListRemoveViewHandle->pGenGridItc_2);
-       g_pListRemoveViewHandle->pGenGridItc_1 = elm_gengrid_item_class_new();
-       g_pListRemoveViewHandle->pGenGridItc_1->item_style =
-               "video/album_grid";
-       g_pListRemoveViewHandle->pGenGridItc_1->func.text_get =
-               (void *) __mp_remove_view_get_label_of_grid_item_cb;
-       g_pListRemoveViewHandle->pGenGridItc_1->func.content_get =
-               (void *) __mp_remove_view_get_grid_icon_cb;
-       g_pListRemoveViewHandle->pGenGridItc_1->func.state_get = NULL;
-       g_pListRemoveViewHandle->pGenGridItc_1->func.del = NULL;
-
-       int nCount =
-               (mp_rotate_ctrl_check_landspace_by_win
-                ((Evas_Object *) mp_util_get_main_window_handle()) ?
-                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++) {
-               gridItem =
-                       elm_gengrid_item_append(pObjVideosList,
-                                                                       g_pListRemoveViewHandle->pGenGridItc_1,
-                                                                       (void *) nIndex,
-                                                                       __mp_remove_view_select_grid_item_cb,
-                                                                       (void *) nIndex);
-               elm_gengrid_item_select_mode_set(gridItem,
-                                                                                ELM_OBJECT_SELECT_MODE_ALWAYS);
-               elm_object_item_data_set(gridItem, (void *) nIndex);
-       }
-}
-
-/**
- *
- * @param parent
- * @param nWidth
- * @param nHeight
- * @return
- */
-static Evas_Object *__mp_remove_view_create_gengrid(Evas_Object * parent,
-                                                                                                       int nWidth,
-                                                                                                       int nHeight)
-{
-       Evas_Object *pGengrid = NULL;
-       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 height
- * @param width
- */
-static void mp_remove_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);
+       VideoLogInfo("");
 
-       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;
+       if (!pObjVideosList) {
+               VideoLogInfo("gengrid object is invalid.");
+               return;
        }
-       *height = VP_ALBUM_THUMB_ICON_HEIGHT * MP_SCALE;
-}
 
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pPart
- * @return
- */
-static Evas_Object *__mp_remove_view_get_icon_of_grid_cb(const void
-                                                                                                                *pUserData,
-                                                                                                                Evas_Object *
-                                                                                                                pObject,
-                                                                                                                const char *pPart)
-{
-       if (!g_pListRemoveViewHandle || !pObject) {
-               VideoLogError("g_pMainViewWidgetOfShareList is NULL");
-               return NULL;
+       if(g_pListRemoveViewHandle->pRemoveListGIC == NULL)
+       {
+               g_pListRemoveViewHandle->pRemoveListGIC = elm_gengrid_item_class_new();
+               g_pListRemoveViewHandle->pRemoveListGIC->item_style = "videolist";
+               g_pListRemoveViewHandle->pRemoveListGIC->func.text_get = __mp_remove_view_get_label_of_grid_item_cb;;
+               g_pListRemoveViewHandle->pRemoveListGIC->func.content_get = __mp_remove_view_get_grid_icon_cb;
+               g_pListRemoveViewHandle->pRemoveListGIC->func.state_get = NULL;
+               g_pListRemoveViewHandle->pRemoveListGIC->func.del = NULL;
        }
 
-       int nGenItemIndex = (int) pUserData;
-       int nHeight = 0;
-       int nWidth = 0;
-       mp_remove_view_get_icon_dimensions(&nHeight, &nWidth);
-
-       Evas_Object *pGengrid =
-               __mp_remove_view_create_gengrid(pObject, nWidth, nHeight);
-       __mp_remove_view_append_grid_items(pGengrid, nGenItemIndex);
-
-       return pGengrid;
-}
-
-/**
- *
- * @param nVideoItemIndex
- * @return
- */
-int mp_remove_view_thumbnail_to_genlist_index(int nVideoItemIndex)
-{
-       if (nVideoItemIndex < 0) {
-               VideoLogDebug("invalid nVideoItemIndex");
-               return 0;
-       }
-       int nGenlistIndex = 0;
-       int nItemCount =
-               (mp_rotate_ctrl_check_landspace_by_win
-                ((Evas_Object *) mp_util_get_main_window_handle()) ?
-                VP_GENLIST_THUMB_LANDSPACE_COUNT :
-                VP_GENLIST_THUMB_PORTRAIT_COUNT);
-       nGenlistIndex = nVideoItemIndex / nItemCount;
-       return nGenlistIndex;
-}
+       int nVideoListSize = mp_util_svc_get_number_of_video_item_by_type();
 
-/**
- *
- * @param pGenlist
- * @return
- */
-static bool __mp_remove_view_append_grid_layout(void *pGenlist)
-{
-       if (!pGenlist || !g_pListRemoveViewHandle) {
-               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_pListRemoveViewHandle->pGenListItc);
-       g_pListRemoveViewHandle->pGenListItc = elm_genlist_item_class_new();
-       g_pListRemoveViewHandle->pGenListItc->item_style =
-               "video/1icon.thumbnail";
-       g_pListRemoveViewHandle->pGenListItc->func.text_get = NULL;
-       g_pListRemoveViewHandle->pGenListItc->func.content_get =
-               (void *) __mp_remove_view_get_icon_of_grid_cb;
-       g_pListRemoveViewHandle->pGenListItc->func.state_get = NULL;
-       g_pListRemoveViewHandle->pGenListItc->func.del = NULL;
-       g_pListRemoveViewHandle->pGenListItc->decorate_item_style = NULL;
-
-       MP_DEL_ITC(g_pListRemoveViewHandle->pGenListLandscapeItc);
-       g_pListRemoveViewHandle->pGenListLandscapeItc =
-               elm_genlist_item_class_new();
-       g_pListRemoveViewHandle->pGenListLandscapeItc->item_style =
-               "video/1icon.thumbnail.landscape";
-       g_pListRemoveViewHandle->pGenListLandscapeItc->func.text_get = NULL;
-       g_pListRemoveViewHandle->pGenListLandscapeItc->func.content_get =
-               (void *) __mp_remove_view_get_icon_of_grid_cb;
-       g_pListRemoveViewHandle->pGenListLandscapeItc->func.state_get = NULL;
-       g_pListRemoveViewHandle->pGenListLandscapeItc->func.del = NULL;
-       g_pListRemoveViewHandle->pGenListLandscapeItc->decorate_item_style =
-               NULL;
-
-       int nGenlistRow = 0;
-       nGenlistRow =
-               mp_remove_view_thumbnail_to_genlist_index(nVideoListSize - 1);
-
-       if (mp_rotate_ctrl_check_landspace_by_win
-               ((Evas_Object *) mp_util_get_main_window_handle())) {
-               for (nIndex = 0; nIndex <= nGenlistRow; nIndex++) {
-                       elm_genlist_item_append(pGenlist,
-                                                                       g_pListRemoveViewHandle->
-                                                                       pGenListLandscapeItc, (void *) nIndex,
-                                                                       NULL, ELM_GENLIST_ITEM_NONE, NULL,
-                                                                       NULL);
-               }
-       } else {
-               for (nIndex = 0; nIndex <= nGenlistRow; nIndex++) {
-                       elm_genlist_item_append(pGenlist,
-                                                                       g_pListRemoveViewHandle->pGenListItc,
-                                                                       (void *) nIndex, NULL,
-                                                                       ELM_GENLIST_ITEM_NONE, NULL, NULL);
+
+       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->itemIndex = nIndex;
+               item_data->item = elm_gengrid_item_append(pObjVideosList, g_pListRemoveViewHandle->pRemoveListGIC,
+                                                                               (void *) item_data,
+                                                                               __mp_remove_view_select_grid_item_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_remove_view_grid_item_del_cb);
        }
-
-       return TRUE;
 }
 
 /**
@@ -1802,7 +1077,7 @@ static void __mp_remove_view_rotate_cb(void *data, Evas_Object * obj,
                __mp_remove_view_arrange_folder_list(g_pListRemoveViewHandle->
                                                                                         pObjVideosList,
                                                                                         LIST_TAB_TYPE_PERSONAL, TRUE);
-       mp_remove_view_change_title_info();
+       mp_remove_view_change_done_button_state();
        g_pListRemoveViewHandle->update_view_data = false;
 }
 
@@ -1811,139 +1086,50 @@ static void __mp_remove_view_rotate_cb(void *data, Evas_Object * obj,
  * @param pObjVideosList
  * @param nGenItemIndex
  */
-static void __mp_remove_folder_view_append_grid_items(void *pObjVideosList,
-                                                                                                         int nGenItemIndex)
+static void __mp_remove_folder_view_append_grid_items(void *pObjVideosList)
 {
-       if (!g_pListRemoveViewHandle) {
+       if (!g_pListRemoveViewHandle ) {
                VideoLogInfo("invalid handle");
                return;
        }
-       MP_DEL_GRID_ITC(g_pListRemoveViewHandle->pGenGridItc_1);
-       g_pListRemoveViewHandle->pGenGridItc_1 = elm_gengrid_item_class_new();
-       g_pListRemoveViewHandle->pGenGridItc_1->item_style =
-               "video/album_grid";
-       g_pListRemoveViewHandle->pGenGridItc_1->func.text_get =
-               (void *) __mp_remove_view_get_label_of_folder_cb;
-       g_pListRemoveViewHandle->pGenGridItc_1->func.content_get =
-               (void *) __mp_remove_folder_view_get_grid_icon_cb;
-       g_pListRemoveViewHandle->pGenGridItc_1->func.state_get = NULL;
-       g_pListRemoveViewHandle->pGenGridItc_1->func.del = NULL;
-
-       int nCount =
-               (mp_rotate_ctrl_check_landspace_by_win
-                ((Evas_Object *) mp_util_get_main_window_handle()) ?
-                VP_GENLIST_THUMB_LANDSPACE_COUNT :
-                VP_GENLIST_THUMB_PORTRAIT_COUNT);
-       int nIndex = nGenItemIndex * nCount;
-       int nMaxIndex = nIndex + nCount;
-       int nFolderListSize = mp_util_svc_get_video_folder_size();
 
-       Elm_Object_Item *gridItem = NULL;
-       for (; (nIndex < nMaxIndex) && (nIndex < nFolderListSize); nIndex++) {
-               gridItem =
-                       elm_gengrid_item_append(pObjVideosList,
-                                                                       g_pListRemoveViewHandle->pGenGridItc_1,
-                                                                       (void *) nIndex,
-                                                                       __mp_remove_view_select_grid_item_cb,
-                                                                       (void *) nIndex);
-               elm_gengrid_item_select_mode_set(gridItem,
-                                                                                ELM_OBJECT_SELECT_MODE_ALWAYS);
-               elm_object_item_data_set(gridItem, (void *) nIndex);
-       }
-}
+       VideoLogInfo("");
 
-/**
- *
- * @param pUserData
- * @param pObject
- * @param pPart
- * @return
- */
-static Evas_Object *__mp_remove_folder_view_get_icon_of_grid_cb(const void
-                                                                                                                               *pUserData,
-                                                                                                                               Evas_Object
-                                                                                                                               *pObject,
-                                                                                                                               const char
-                                                                                                                               *pPart)
-{
-       if (!g_pListRemoveViewHandle || !pObject) {
-               VideoLogError("g_pMainViewWidgetOfShareList is NULL");
-               return NULL;
+       if (!pObjVideosList) {
+               VideoLogInfo("gengrid object is invalid.");
+               return;
        }
 
-       int nGenItemIndex = (int) pUserData;
-       int nHeight = 0;
-       int nWidth = 0;
-       mp_remove_view_get_icon_dimensions(&nHeight, &nWidth);
-
-       Evas_Object *pGengrid =
-               __mp_remove_view_create_gengrid(pObject, nWidth, nHeight);
-       __mp_remove_folder_view_append_grid_items(pGengrid, nGenItemIndex);
+       if(g_pListRemoveViewHandle->pRemoveListGIC == NULL)
+       {
+               g_pListRemoveViewHandle->pRemoveListGIC = elm_gengrid_item_class_new();
+               g_pListRemoveViewHandle->pRemoveListGIC->item_style = "videolist";
+               g_pListRemoveViewHandle->pRemoveListGIC->func.text_get = __mp_remove_view_get_label_of_folder_cb;;
+               g_pListRemoveViewHandle->pRemoveListGIC->func.content_get = __mp_remove_folder_view_get_grid_icon_cb;
+               g_pListRemoveViewHandle->pRemoveListGIC->func.state_get = NULL;
+               g_pListRemoveViewHandle->pRemoveListGIC->func.del = NULL;
+       }
 
-       return pGengrid;
-}
+       int nFolderListSize = mp_util_svc_get_video_folder_size();
 
-static bool __mp_remove_view_append_folder_grid_layout(void *pGenlist)
-{
-       if (!pGenlist || !g_pListRemoveViewHandle) {
-               VideoLogError("error handle.");
-               return FALSE;
-       }
        int nIndex = 0;
-       int nFolderListSize = mp_util_svc_get_video_folder_size();
-       if (nFolderListSize <= 0) {
-               VideoLogWarning("nFolderListSize = %d", nFolderListSize);
-               return FALSE;
-       } else
-               VideoLogWarning("nFolderListSize = %d", nFolderListSize);
-
-       MP_DEL_ITC(g_pListRemoveViewHandle->pGenListItc);
-       g_pListRemoveViewHandle->pGenListItc = elm_genlist_item_class_new();
-       g_pListRemoveViewHandle->pGenListItc->item_style =
-               "video/1icon.thumbnail";
-       g_pListRemoveViewHandle->pGenListItc->func.text_get = NULL;
-       g_pListRemoveViewHandle->pGenListItc->func.content_get =
-               (void *) __mp_remove_folder_view_get_icon_of_grid_cb;
-       g_pListRemoveViewHandle->pGenListItc->func.state_get = NULL;
-       g_pListRemoveViewHandle->pGenListItc->func.del = NULL;
-       g_pListRemoveViewHandle->pGenListItc->decorate_item_style = NULL;
-
-       MP_DEL_ITC(g_pListRemoveViewHandle->pGenListLandscapeItc);
-       g_pListRemoveViewHandle->pGenListLandscapeItc =
-               elm_genlist_item_class_new();
-       g_pListRemoveViewHandle->pGenListLandscapeItc->item_style =
-               "video/1icon.thumbnail.landscape";
-       g_pListRemoveViewHandle->pGenListLandscapeItc->func.text_get = NULL;
-       g_pListRemoveViewHandle->pGenListLandscapeItc->func.content_get =
-               (void *) __mp_remove_folder_view_get_icon_of_grid_cb;
-       g_pListRemoveViewHandle->pGenListLandscapeItc->func.state_get = NULL;
-       g_pListRemoveViewHandle->pGenListLandscapeItc->func.del = NULL;
-       g_pListRemoveViewHandle->pGenListLandscapeItc->decorate_item_style =
-               NULL;
-
-       int nGenlistRow = 0;
-       nGenlistRow =
-               mp_remove_view_thumbnail_to_genlist_index(nFolderListSize - 1);
-
-       if (mp_rotate_ctrl_check_landspace_by_win
-               ((Evas_Object *) mp_util_get_main_window_handle())) {
-               for (nIndex = 0; nIndex <= nGenlistRow; nIndex++) {
-                       elm_genlist_item_append(pGenlist,
-                                                                       g_pListRemoveViewHandle->
-                                                                       pGenListLandscapeItc, (void *) nIndex,
-                                                                       NULL, ELM_GENLIST_ITEM_NONE, NULL,
-                                                                       NULL);
-               }
-       } else {
-               for (nIndex = 0; nIndex <= nGenlistRow; nIndex++) {
-                       elm_genlist_item_append(pGenlist,
-                                                                       g_pListRemoveViewHandle->pGenListItc,
-                                                                       (void *) nIndex, NULL,
-                                                                       ELM_GENLIST_ITEM_NONE, NULL, NULL);
+
+       for (nIndex = 0; nIndex < nFolderListSize; nIndex++) {
+               stGengridItemData *item_data = calloc(1, sizeof(stGengridItemData));
+               if(item_data == NULL)
+               {
+                       VideoLogError("Failed to allocate memory for item data");
+                       return;
                }
+               item_data->itemIndex = nIndex;
+               item_data->item = elm_gengrid_item_append(pObjVideosList, g_pListRemoveViewHandle->pRemoveListGIC,
+                                                                               (void *) item_data,
+                                                                               __mp_remove_view_select_grid_item_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_remove_view_grid_item_del_cb);
        }
 
-       return TRUE;
 }
 #endif
 
@@ -1981,7 +1167,7 @@ static bool __mp_remove_view_arrange_folder_list(void *pObjVideosList,
                                                                                                 eTabType, bool bNeedSvc)
 {
        if (!g_pListRemoveViewWidget || !g_pListRemoveViewHandle) {
-               VideoLogError("No exist g_pRemoveListViewWidget.");
+               VideoLogError("No exist g_pListRemoveViewWidget.");
                return FALSE;
        }
 
@@ -1992,13 +1178,11 @@ static bool __mp_remove_view_arrange_folder_list(void *pObjVideosList,
        int nFolderListSize = 0;
 
        mp_util_svc_destory_video_folder_list();
-       mp_util_svc_extract_video_folder_list_by_type
-               (mp_sort_ctrl_get_sort_state(), MP_LIST_VIEW_PHONE);
+       mp_util_svc_extract_video_folder_list_by_type(mp_sort_ctrl_get_sort_state(), MP_LIST_VIEW_PHONE);
        nFolderListSize = mp_util_svc_get_video_folder_size();
 
        if (elm_check_state_get(g_pListRemoveViewWidget->pSelectallbtn)) {
-               g_pListRemoveViewHandle->nSelectCounterForEditList =
-                       nFolderListSize;
+               g_pListRemoveViewHandle->nSelectCounterForEditList = nFolderListSize;
        }
        if (!g_pListRemoveViewHandle->update_view_data) {
                if (bNeedSvc) {
@@ -2012,22 +1196,19 @@ static bool __mp_remove_view_arrange_folder_list(void *pObjVideosList,
        if (LIST_TAB_TYPE_PERSONAL == eTabType) {
                VideoLogInfo("nFolderListSize : %d", nFolderListSize);
 
-               elm_genlist_clear(pObjVideosList);
+               elm_gengrid_clear(pObjVideosList);
 
                if (nFolderListSize > 0) {
-                       __mp_remove_view_append_folder_grid_layout(pObjVideosList);
+                       __mp_remove_folder_view_append_grid_items(pObjVideosList);
                } else {
-                       elm_naviframe_item_pop(g_pListRemoveViewHandle->
-                                                                  pNaviFrameHandle);
+                       elm_naviframe_item_pop(g_pListRemoveViewHandle->pNaviFrameHandle);
                        return FALSE;
                }
        } else {
                VideoLogError("invalid Tabbar type!");
        }
 
-       mp_remove_view_change_title_info();
-
-       elm_genlist_decorate_mode_set(pObjVideosList, EINA_TRUE);
+       mp_remove_view_change_done_button_state();
 
        evas_object_show(pObjVideosList);
        return TRUE;
@@ -2045,7 +1226,7 @@ static bool __mp_remove_view_arrange_video_list(void *pObjVideosList,
                                                                                                eTabType, bool bNeedSvc)
 {
        if (!g_pListRemoveViewWidget || !g_pListRemoveViewHandle) {
-               VideoLogError("No exist g_pRemoveListViewWidget.");
+               VideoLogError("No exist g_pListRemoveViewWidget.");
                return FALSE;
        }
 
@@ -2058,12 +1239,10 @@ static bool __mp_remove_view_arrange_video_list(void *pObjVideosList,
 
        if (LIST_TAB_TYPE_PERSONAL == eTabType) {
                int nSortType = mp_remove_view_get_sort_type();
-               int nViewType = mp_view_as_ctrl_get_type();
-               if ((nViewType == MP_LIST_VIEW_AS_FOLDER_LIST)
-                       && g_pListRemoveViewHandle->pFolderPath) {
-                       if (g_pListRemoveViewHandle->pFolderPath) {
-                               VideoSecureLogInfo("szFolderPath : %s",
-                                                                  g_pListRemoveViewHandle->pFolderPath);
+               int nViewType = mp_list_view_view_type_get();
+               if ((nViewType == MP_LIST_VIEW_AS_FOLDER_LIST) && g_pListRemoveViewHandle->pFolderPath) {
+
+                               VideoSecureLogInfo("szFolderPath : %s", g_pListRemoveViewHandle->pFolderPath);
                                if (vp_file_exists(g_pListRemoveViewHandle->pFolderPath)) {
                                        //update video-list
                                        mp_util_svc_destory_video_item_list();
@@ -2075,17 +1254,14 @@ static bool __mp_remove_view_arrange_video_list(void *pObjVideosList,
                                                        __mp_remove_view_update_selected_video_list();
                                                } else {
                                                        nVideoListSize =
-                                                               mp_util_svc_get_number_of_video_item_by_type
-                                                               ();
+                                                               mp_util_svc_get_number_of_video_item_by_type();
                                                        mp_remove_view_set_value(nVideoListSize);
                                                }
                                        }
                                } else {
-                                       elm_naviframe_item_pop(g_pListRemoveViewHandle->
-                                                                                  pNaviFrameHandle);
+                                       elm_naviframe_item_pop(g_pListRemoveViewHandle->pNaviFrameHandle);
                                        return FALSE;
                                }
-                       }
                } else {
                        mp_util_svc_destory_video_list();
                        mp_util_svc_extract_video_list_by_item_type(nSortType,
@@ -2111,13 +1287,13 @@ static bool __mp_remove_view_arrange_video_list(void *pObjVideosList,
                if (nVideoListSize > 0) {
 #ifdef VS_FEATURE_THUMBNAIL_VIEW       //
                        if (g_pListRemoveViewHandle->bThumbnailView) {
-                               elm_genlist_clear(pObjVideosList);
-                               __mp_remove_view_append_grid_layout(pObjVideosList);
+                               elm_gengrid_clear(pObjVideosList);
+                               __mp_remove_view_append_grid_items(pObjVideosList);
                        } else
 #endif
                        {
-                               elm_genlist_clear(pObjVideosList);
-                               mp_remove_view_append_video_items(pObjVideosList);
+                               elm_gengrid_clear(pObjVideosList);
+                               __mp_remove_view_append_grid_items(pObjVideosList);
                        }
                } else {
                        elm_naviframe_item_pop(g_pListRemoveViewHandle->
@@ -2127,11 +1303,7 @@ static bool __mp_remove_view_arrange_video_list(void *pObjVideosList,
        } else {
                VideoLogError("invalid Tabbar type!");
        }
-#ifdef VS_FEATURE_THUMBNAIL_VIEW_TODO  //
-       if (!g_pListRemoveViewHandle->bThumbnailView) {
-               elm_genlist_decorate_mode_set(pObjVideosList, EINA_TRUE);
-       }
-#endif                                                 //
+       mp_remove_view_change_done_button_state();
        evas_object_show(pObjVideosList);
        return TRUE;
 }
@@ -2143,8 +1315,8 @@ static bool __mp_remove_view_arrange_video_list(void *pObjVideosList,
  */
 Evas_Object *mp_remove_view_init_internal_layout(void *pParent)
 {
-       if (!pParent) {
-               VideoLogError("[ERR]");
+       if (g_pListRemoveViewWidget == NULL || pParent == NULL) {
+               VideoLogInfo("g_pListRemoveViewWidget [%p] or pParent [%p] is invalid.", g_pListRemoveViewWidget, pParent);
                return NULL;
        }
 
@@ -2155,21 +1327,16 @@ Evas_Object *mp_remove_view_init_internal_layout(void *pParent)
                g_pListRemoveViewWidget->pRemoveViewBaselayout = 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_pListRemoveViewWidget->pRemoveViewBaselayout =
-               elm_layout_add(pParent);
-       elm_layout_file_set(g_pListRemoveViewWidget->pRemoveViewBaselayout,
-                                               edj_path, REMOVE_LIST_EDJ_GROUP);
-       evas_object_size_hint_weight_set(g_pListRemoveViewWidget->
-                                                                        pRemoveViewBaselayout,
-                                                                        EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_size_hint_align_set(g_pListRemoveViewWidget->
-                                                                       pRemoveViewBaselayout, EVAS_HINT_FILL,
-                                                                       EVAS_HINT_FILL);
+
+       g_pListRemoveViewWidget->pRemoveViewBaselayout = elm_layout_add(pParent);
+       elm_layout_file_set(g_pListRemoveViewWidget->pRemoveViewBaselayout, edj_path, "gengrid/layout");
+       evas_object_size_hint_weight_set(g_pListRemoveViewWidget->pRemoveViewBaselayout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(g_pListRemoveViewWidget->pRemoveViewBaselayout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+       elm_object_signal_emit(g_pListRemoveViewWidget->pRemoveViewBaselayout, "top_content,show", "vp");
 
        return g_pListRemoveViewWidget->pRemoveViewBaselayout;
 }
@@ -2359,14 +1526,8 @@ static void __mp_remove_view_update_selected_video_list(void)
        //update select all button state
        __mp_remove_view_update_select_all();
 
-       mp_remove_view_change_title_info();
+       mp_remove_view_change_done_button_state();
 
-       if (eina_list_count(g_pSelectedList) > 0)
-               elm_object_disabled_set(g_pListRemoveViewWidget->pSavebtn,
-                                                               EINA_FALSE);
-       else
-               elm_object_disabled_set(g_pListRemoveViewWidget->pSavebtn,
-                                                               EINA_TRUE);
 }
 
 /**
@@ -2402,25 +1563,21 @@ static void __mp_remove_view_db_changed_cb(void *pUserData)
                        return;
                }
        }
-       mp_remove_view_change_title_info();
+       mp_remove_view_change_done_button_state();
 
        Elm_Object_Item *pItem = NULL;
 #ifdef VS_FEATURE_THUMBNAIL_VIEW_TODO  //
        if (g_pListRemoveViewHandle->bThumbnailView) {
-               pItem =
-                       elm_gengrid_first_item_get(g_pListRemoveViewHandle->
-                                                                          pObjVideosList);
+               pItem = elm_gengrid_first_item_get(g_pListRemoveViewHandle->pObjVideosList);
                if (pItem) {
                        elm_gengrid_item_bring_in(pItem, ELM_GENGRID_ITEM_SCROLLTO_IN);
                }
        } else
 #endif                                                 //
        {
-               pItem =
-                       elm_genlist_first_item_get(g_pListRemoveViewHandle->
-                                                                          pObjVideosList);
+               pItem = elm_gengrid_first_item_get(g_pListRemoveViewHandle->pObjVideosList);
                if (pItem) {
-                       elm_genlist_item_bring_in(pItem, ELM_GENLIST_ITEM_SCROLLTO_IN);
+                       elm_gengrid_item_bring_in(pItem, ELM_GENGRID_ITEM_SCROLLTO_IN);
                }
        }
 
@@ -2440,28 +1597,115 @@ static void __mp_remove_view_db_backup_cb(void *pUserData)
                                                                                         nSelectCounterForEditList);
 }
 
-/**
- *
- * @param data
- * @param evas
- * @param obj
- * @param event_info
- */
-static void __mp_remove_select_all_layout_down_cb(void *data, Evas * evas,
-                                                                                                 Evas_Object * obj,
-                                                                                                 void *event_info)
+static void __mp_remove_select_all_layout_down_cb(void *data, Evas * evas, Evas_Object * obj,
+                                                                                                                                                                                       void *event_info)
 {
        if (!g_pListRemoveViewHandle || !g_pListRemoveViewWidget) {
                VideoLogError("Main handles of list view are not existed.");
                return;
        }
+       __mp_remove_view_select_all_change_check_box_cb(data, g_pListRemoveViewWidget->pSelectallbtn, NULL);
+}
+
+
+static Evas_Object* __mp_remove_create_select_all_panel(Evas_Object* parent)
+{
+       if(parent == NULL || g_pListRemoveViewWidget == NULL)
+       {
+               VideoLogError("parent[%p] or g_pListRemoveViewWidget[%p] is invalid, can't create select all panel", parent, g_pListRemoveViewWidget);
+               return NULL;
+       }
+       VideoLogError("");
+       Evas_Object* grid = elm_grid_add(parent);
+       elm_grid_size_set(grid, 1200, 72);
+       evas_object_resize(grid, 1200, 72);
+       evas_object_event_callback_add(grid, EVAS_CALLBACK_MOUSE_DOWN,
+                                               __mp_remove_select_all_layout_down_cb,
+                                               NULL);
+
+       Evas_Object* bg_image = elm_image_add(grid);
+       
+       char *res_path = app_get_resource_path();
+       char path[1024] = {0,};
+       if(res_path)
+       {
+               snprintf(path, 1024, "%s%s/%s", res_path, "images", "select_all_panel_bg.png");
+               free(res_path);
+               VideoLogError("File Path: %s", path);
+       }
+
+       elm_image_file_set(bg_image, path, NULL);
+       evas_object_resize(bg_image, ELM_SCALE_SIZE(1200), ELM_SCALE_SIZE(72));
+       elm_grid_pack(grid, bg_image, 0, 0, ELM_SCALE_SIZE(1200), ELM_SCALE_SIZE(72));
+       evas_object_show(bg_image);
+
+
+       Evas_Object *checkbox = elm_check_add(grid);
+       // If we regiser the mouse down and check state change callback both then check state callback is executed twice so as of now we
+       // only using the mouse down callback..and also, mouse down callback cover the entire select all panel which is better.
+       //evas_object_smart_callback_add(checkbox, "changed", __mp_remove_view_select_all_change_check_box_cb, NULL);
+       elm_object_domain_translatable_part_text_set(checkbox, "elm.text", VIDEOS_STRING, VIDEOS_SELECTVIEW_BODY_SELECT_ALL_IDS);
+       elm_object_signal_emit(checkbox, "elm,state,text,visible", "elm");
+       evas_object_show(checkbox);
+       elm_grid_pack(grid, checkbox, ELM_SCALE_SIZE(40), ELM_SCALE_SIZE(0), ELM_SCALE_SIZE(1120), ELM_SCALE_SIZE(72));
+       g_pListRemoveViewWidget->pSelectallbtn = checkbox;
+
+       return grid;
+}
+
+static Evas_Object* _create_gengrid(Evas_Object *parent)
+{
+       if(parent == NULL)
+       {
+               VideoLogError("gengrid parent [%p] maybe be invalid", parent);
+               return NULL;
+       }
+       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);
+
+       return gengrid;
+}
+
+static Evas_Object* __mp_remove_view_create_title_content(Evas_Object* parent)
+{
+       if(parent == NULL || g_pListRemoveViewWidget == NULL || g_pListRemoveViewHandle == NULL)
+       {
+               VideoLogError("parent [%p], widget [%p] or handle [%p] may not be valid",
+                                                                                                                                       parent,
+                                                                                                                                       g_pListRemoveViewWidget,
+                                                                                                                                       g_pListRemoveViewHandle);
+               return NULL;
+       }
+       VideoLogError("");
+
+       char *res_path = app_get_resource_path();
+       if(res_path == NULL)
+       {
+               VideoLogError("Failed to get valid resouce path");
+               return NULL;
+       }
+       char path[1024] = {0,};
+       snprintf(path, 1024, "%s%s/%s", res_path, "edje", "vp-remove-view-layouts.edj");
+       free(res_path);
+
+       Evas_Object *layout = elm_layout_add(parent);
+       Eina_Bool ret = elm_layout_file_set(layout, path, "remove_view/title_content");
+       VideoLogInfo("Layout File Set: %s", ret?"Successful": "Failed");
+       //evas_object_size_hint_min_set(layout, 372, 48);
+
+       elm_object_domain_part_text_translatable_set(layout, "cancel_text", VIDEOS_STRING, EINA_TRUE);
+       elm_object_domain_part_text_translatable_set(layout, "done_text", VIDEOS_STRING, EINA_TRUE);
+
+       elm_object_part_text_set(layout, "cancel_text", VIDEOS_DELETEVIEW_CANCEL_IDS);
+       elm_object_part_text_set(layout, "done_text", VIDEOS_SHAREVIEW_DONE_IDS);
+
+       elm_object_signal_callback_add(layout, "cancel_button,clicked", "vp", __mp_remove_view_run_cancel_items_cb, (void*)g_pListRemoveViewHandle );
+       elm_object_signal_callback_add(layout, "done_button,clicked", "vp", __mp_remove_view_run_delete_items_cb, (void*)g_pListRemoveViewHandle );
+
+       return layout;
 
-       Evas_Object *check =
-               elm_object_part_content_get(g_pListRemoveViewWidget->pSelAllLayout,
-                                                                       "elm.icon");
-       Eina_Bool state = elm_check_state_get(check);
-       elm_check_state_set(check, !state);
-       __mp_remove_view_select_all_change_check_box_cb(data, check, NULL);
 }
 
 /**
@@ -2477,125 +1721,44 @@ void mp_remove_view_init(void *pParent, MpVideoListTabType eTabType)
        }
 
        VideoLogInfo("");
-       g_pListRemoveViewWidget->pRemoveViewBaselayout =
-               mp_remove_view_init_internal_layout(pParent);
+       g_pListRemoveViewWidget->pRemoveViewBaselayout = mp_remove_view_init_internal_layout(pParent);
        if (!g_pListRemoveViewWidget->pRemoveViewBaselayout) {
-               VideoLogError("pRemoveViewBaselayout is not existed.");
-               return;
-       }
-
-       evas_object_event_callback_add(g_pListRemoveViewWidget->
-                                                                  pRemoveViewBaselayout,
-                                                                  EVAS_CALLBACK_DEL,
-                                                                  __mp_remove_view_base_layout_del_cb,
-                                                                  NULL);
-
-       g_pListRemoveViewWidget->pVideoListBox =
-               elm_box_add(g_pListRemoveViewWidget->pRemoveViewBaselayout);
-       if (!g_pListRemoveViewWidget->pVideoListBox) {
-               VideoLogError("pVideoListBox is not existed.");
+               VideoLogError("Failed to create pRemoveViewBaselayout.");
                return;
        }
 
-       evas_object_size_hint_weight_set(g_pListRemoveViewWidget->
-                                                                        pVideoListBox, EVAS_HINT_EXPAND,
-                                                                        EVAS_HINT_EXPAND);
-       evas_object_size_hint_align_set(g_pListRemoveViewWidget->pVideoListBox,
-                                                                       EVAS_HINT_FILL, EVAS_HINT_FILL);
-
-       mp_widget_ctrl_create_select_all_layout(g_pListRemoveViewWidget->
-                                                                                       pVideoListBox,
-                                                                                       __mp_remove_view_select_all_change_check_box_cb,
-                                                                                       __mp_remove_select_all_layout_down_cb,
-                                                                                       (void *)
-                                                                                       g_pListRemoveViewWidget,
-                                                                                       &g_pListRemoveViewWidget->
-                                                                                       pSelectallbtn,
-                                                                                       &g_pListRemoveViewWidget->
-                                                                                       pSelAllLayout);
+       g_pListRemoveViewWidget->pSelAllLayout = __mp_remove_create_select_all_panel(g_pListRemoveViewWidget->pRemoveViewBaselayout);
+       elm_object_part_content_set(g_pListRemoveViewWidget->pRemoveViewBaselayout, "top.swallow", g_pListRemoveViewWidget->pSelAllLayout);
 
        if (!g_pListRemoveViewWidget->pSelAllLayout) {
-               VideoLogError("pSelAllLayout is not existed.");
+               VideoLogError("Failed to create select all panel.");
                return;
        }
 
-       elm_box_pack_start(g_pListRemoveViewWidget->pVideoListBox,
-                                          g_pListRemoveViewWidget->pSelAllLayout);
-
-#ifdef VS_FEATURE_THUMBNAIL_VIEW_TODO  //
-       if (g_pListRemoveViewHandle->bThumbnailView) {
-               g_pListRemoveViewHandle->pObjVideosList =
-                       elm_gengrid_add(g_pListRemoveViewWidget->pVideoListBox);
-               if (!g_pListRemoveViewHandle->pObjVideosList) {
-                       VideoLogError("pVideoGrid is not existed.");
-                       return;
-               }
-               evas_object_size_hint_weight_set(g_pListRemoveViewHandle->
-                                                                                pObjVideosList, EVAS_HINT_EXPAND,
-                                                                                EVAS_HINT_EXPAND);
-               evas_object_size_hint_align_set(g_pListRemoveViewHandle->
-                                                                               pObjVideosList, EVAS_HINT_FILL,
-                                                                               EVAS_HINT_FILL);
-               int nHeight = VP_ALBUM_THUMB_ICON_HEIGHT * MP_SCALE;
-               int nWidth = VIDEO_GENGRID_ICON_WIDTH * MP_SCALE;
-               elm_gengrid_item_size_set(g_pListRemoveViewHandle->pObjVideosList,
-                                                                 nWidth, nHeight);
-               elm_gengrid_align_set(g_pListRemoveViewHandle->pObjVideosList, 0.0,
-                                                         0.0);
-               elm_gengrid_horizontal_set(g_pListRemoveViewHandle->pObjVideosList,
-                                                                  EINA_FALSE);
-       } else
-#endif
+       g_pListRemoveViewHandle->pObjVideosList = _create_gengrid(g_pListRemoveViewWidget->pRemoveViewBaselayout);
+       if(g_pListRemoveViewHandle->pObjVideosList == NULL)
        {
-               g_pListRemoveViewHandle->pObjVideosList =
-                       elm_genlist_add(g_pListRemoveViewWidget->pVideoListBox);
-               if (!g_pListRemoveViewHandle->pObjVideosList) {
-                       VideoLogError("pObjVideosList is not existed.");
-                       return;
-               }
-               elm_scroller_bounce_set(g_pListRemoveViewHandle->pObjVideosList,
-                                                               EINA_FALSE, EINA_TRUE);
-               evas_object_size_hint_weight_set(g_pListRemoveViewHandle->
-                                                                                pObjVideosList, EVAS_HINT_EXPAND,
-                                                                                EVAS_HINT_EXPAND);
-               evas_object_size_hint_align_set(g_pListRemoveViewHandle->
-                                                                               pObjVideosList, EVAS_HINT_FILL,
-                                                                               EVAS_HINT_FILL);
-               elm_genlist_block_count_set(g_pListRemoveViewHandle->
-                                                                       pObjVideosList,
-                                                                       VIDEO_GENLIST_BLOCK_COUNT);
-               elm_genlist_homogeneous_set(g_pListRemoveViewHandle->
-                                                                       pObjVideosList, EINA_TRUE);
-               elm_genlist_mode_set(g_pListRemoveViewHandle->pObjVideosList,
-                                                        ELM_LIST_COMPRESS);
-               elm_genlist_select_mode_set(g_pListRemoveViewWidget->pVideoListBox,
-                                                                       ELM_OBJECT_SELECT_MODE_NONE);
+               VideoLogError("Failed to create gengrid");
+               return;
        }
        g_pListRemoveViewHandle->eTabType = eTabType;
 
-       elm_box_pack_end(g_pListRemoveViewWidget->pVideoListBox,
-                                        g_pListRemoveViewHandle->pObjVideosList);
-       elm_object_part_content_set(g_pListRemoveViewWidget->
-                                                               pRemoveViewBaselayout,
-                                                               SWALLOW_LISTVIEW_CONTENT,
-                                                               g_pListRemoveViewWidget->pVideoListBox);
+       elm_object_part_content_set(g_pListRemoveViewWidget->pRemoveViewBaselayout,
+                                                               "elm.content.swallow",
+                                                               g_pListRemoveViewHandle->pObjVideosList);
 
        bool bNormalShow = TRUE;
 
        if (g_pListRemoveViewHandle->bFolderDel) {
                bNormalShow =
-                       __mp_remove_view_arrange_folder_list(g_pListRemoveViewHandle->
-                                                                                                pObjVideosList, eTabType,
-                                                                                                FALSE);
+                       __mp_remove_view_arrange_folder_list(g_pListRemoveViewHandle->pObjVideosList, eTabType, FALSE);
                if (!bNormalShow) {
                        VideoLogError("invalid view");
                        return;
                }
        } else {
                bNormalShow =
-                       __mp_remove_view_arrange_video_list(g_pListRemoveViewHandle->
-                                                                                               pObjVideosList, eTabType,
-                                                                                               FALSE);
+                       __mp_remove_view_arrange_video_list(g_pListRemoveViewHandle->pObjVideosList, eTabType, FALSE);
                if (!bNormalShow) {
                        VideoLogError("invalid view");
                        return;
@@ -2609,59 +1772,28 @@ void mp_remove_view_init(void *pParent, MpVideoListTabType eTabType)
 
        g_pListRemoveViewHandle->pNaviFrameItem =
                elm_naviframe_item_push(g_pListRemoveViewHandle->pNaviFrameHandle,
-                                                               szTitle, NULL, NULL,
-                                                               g_pListRemoveViewWidget->
-                                                               pRemoveViewBaselayout, NULL);
-       elm_object_item_domain_text_translatable_set(g_pListRemoveViewHandle->
-                                                                                                pNaviFrameItem,
-                                                                                                VIDEOS_STRING, EINA_TRUE);
+                                                               "Select videos", NULL, NULL,
+                                                               g_pListRemoveViewWidget->pRemoveViewBaselayout, NULL);
+       elm_object_item_domain_text_translatable_set(g_pListRemoveViewHandle->pNaviFrameItem, VIDEOS_STRING, EINA_TRUE);
        elm_naviframe_item_pop_cb_set(g_pListRemoveViewHandle->pNaviFrameItem,
                                                                  __mp_remove_view_back_btn_cb,
                                                                  g_pListRemoveViewHandle);
 
-       elm_naviframe_item_title_enabled_set(g_pListRemoveViewHandle->
-                                                                                pNaviFrameItem, EINA_TRUE,
-                                                                                EINA_FALSE);
-       evas_object_smart_callback_add(g_pListRemoveViewHandle->
-                                                                  pNaviFrameHandle, "transition,finished",
-                                                                  mp_remove_view_naviframe_transition_effect_cb,
-                                                                  NULL);
-
-       g_pListRemoveViewWidget->pCancelbtn =
-               elm_button_add(g_pListRemoveViewHandle->pNaviFrameHandle);
-       elm_object_style_set(g_pListRemoveViewWidget->pCancelbtn,
-                                                "naviframe/title_left");
-       mp_util_set_translate_str(g_pListRemoveViewWidget->pCancelbtn,
-                                                         "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB");
-       elm_object_signal_callback_add(g_pListRemoveViewWidget->pCancelbtn,
-                                                                  "elm,action,click", "",
-                                                                  __mp_remove_view_run_cancel_items_cb,
-                                                                  (void *) g_pListRemoveViewHandle);
-       elm_object_item_part_content_set(g_pListRemoveViewHandle->
-                                                                        pNaviFrameItem, "title_left_btn",
-                                                                        g_pListRemoveViewWidget->pCancelbtn);
-       evas_object_show(g_pListRemoveViewWidget->pCancelbtn);
-
-       g_pListRemoveViewWidget->pSavebtn =
-               elm_button_add(g_pListRemoveViewHandle->pNaviFrameHandle);
-       elm_object_style_set(g_pListRemoveViewWidget->pSavebtn,
-                                                "naviframe/title_right");
-       mp_util_set_translate_str(g_pListRemoveViewWidget->pSavebtn,
-                                                         "IDS_TPLATFORM_ACBUTTON_DELETE_ABB");
-       elm_object_signal_callback_add(g_pListRemoveViewWidget->pSavebtn,
-                                                                  "elm,action,click", "",
-                                                                  __mp_remove_view_run_delete_items_cb,
-                                                                  (void *) g_pListRemoveViewHandle);
-       elm_object_item_part_content_set(g_pListRemoveViewHandle->
-                                                                        pNaviFrameItem, "title_right_btn",
-                                                                        g_pListRemoveViewWidget->pSavebtn);
-       evas_object_show(g_pListRemoveViewWidget->pSavebtn);
+       elm_naviframe_item_title_enabled_set(g_pListRemoveViewHandle->pNaviFrameItem, EINA_TRUE, EINA_FALSE);
 
-       elm_object_disabled_set(g_pListRemoveViewWidget->pSavebtn, EINA_TRUE);
+       g_pListRemoveViewWidget->pTitleContentLayout = __mp_remove_view_create_title_content(g_pListRemoveViewHandle->pNaviFrameItem);
+       if(g_pListRemoveViewWidget->pTitleContentLayout == NULL)
+       {
+               VideoLogError("Failed to create title content ");
+       \r}
+       elm_object_item_part_content_set(g_pListRemoveViewHandle->pNaviFrameItem, "title_content", g_pListRemoveViewWidget->pTitleContentLayout);
+       elm_object_item_signal_emit(g_pListRemoveViewHandle->pNaviFrameItem, "elm,state,title_content,show", "elm");
 
        evas_object_show(g_pListRemoveViewHandle->pObjVideosList);
        evas_object_show(g_pListRemoveViewWidget->pRemoveViewBaselayout);
 
+       mp_remove_view_change_done_button_state();
+
        mp_util_db_set_update_fun(g_pListRemoveViewHandle->euLev,
                                                          __mp_remove_view_db_changed_cb);
        mp_util_db_set_backup_fun(g_pListRemoveViewHandle->euLev,
@@ -2689,23 +1821,17 @@ void mp_remove_view_push(void *pNaviFrame,
        VideoLogInfo("");
        mp_remove_view_destroy();
        g_pListRemoveViewHandle =
-               (st_VideoListRemoveViewHandle *) calloc(1,
-                                                                                               sizeof
-                                                                                               (st_VideoListRemoveViewHandle));
+               (st_VideoListRemoveViewHandle *) calloc(1, sizeof(st_VideoListRemoveViewHandle));
        g_pListRemoveViewWidget =
-               (st_VideoListRemoveViewWidget *) calloc(1,
-                                                                                               sizeof
-                                                                                               (st_VideoListRemoveViewWidget));
+               (st_VideoListRemoveViewWidget *) calloc(1, sizeof(st_VideoListRemoveViewWidget));
 
-       memset(g_pListRemoveViewHandle, 0,
-                  sizeof(st_VideoListRemoveViewHandle));
-       memset(g_pListRemoveViewWidget, 0,
-                  sizeof(st_VideoListRemoveViewWidget));
-       mp_remove_view_reset_value();
+       memset(g_pListRemoveViewHandle, 0, sizeof(st_VideoListRemoveViewHandle));
+       memset(g_pListRemoveViewWidget, 0, sizeof(st_VideoListRemoveViewWidget));
 
        g_pListRemoveViewHandle->pNaviFrameHandle = pNaviFrame;
        g_pListRemoveViewHandle->pChangeViewUserCbFunc = pChangeViewCb;
        g_pListRemoveViewHandle->pChangeViewUpdateFunc = pUpdateViewCb;
+       g_pListRemoveViewHandle->nSortType = MP_MEDIA_SORT_BY_RECENTLY_VIEWED;
 
        if (pFolderPath) {
                g_pListRemoveViewHandle->pFolderPath = strdup(pFolderPath);
@@ -2713,7 +1839,7 @@ void mp_remove_view_push(void *pNaviFrame,
        g_pListRemoveViewHandle->bUpdateList = FALSE;
        g_pListRemoveViewHandle->euLev = MP_DB_UPDATE_LEV_1;
 
-       int nViewType = mp_view_as_ctrl_get_type();
+       int nViewType = mp_list_view_view_type_get();
        if (nViewType == MP_LIST_VIEW_AS_FOLDER_LIST
                && g_pListRemoveViewHandle->pFolderPath) {
                g_pListRemoveViewHandle->euLev = MP_DB_UPDATE_LEV_2;
@@ -2796,20 +1922,5 @@ void mp_remove_view_change_language(void)
 
        VideoLogInfo("");
 
-       mp_remove_view_change_title_info();
-}
-
-/**
- *
- * @param pUserData
- * @param e
- * @param pObject
- * @param pEventInfo
- */
-static void
-__mp_remove_view_base_layout_del_cb(void *pUserData, Evas * e,
-                                                                       Evas_Object * pObject,
-                                                                       void *pEventInfo)
-{
-       __mp_remove_view_reset();
+       mp_remove_view_change_done_button_state();
 }