modify user edit view 36/53936/1
authorSoohye Shin <soohye.shin@samsung.com>
Thu, 10 Dec 2015 08:39:32 +0000 (17:39 +0900)
committerSoohye Shin <soohye.shin@samsung.com>
Thu, 10 Dec 2015 08:39:32 +0000 (17:39 +0900)
Change-Id: I49c9e4ba1c54d6f9c0f090198ceb03efecb972e4
Signed-off-by: Soohye Shin <soohye.shin@samsung.com>
edje/view/useredit.edc
include/defs.h
src/data/data_user.c
src/view/view_user_edit.c

index 258ef38..8ddcddc 100644 (file)
@@ -140,7 +140,7 @@ group {
                                        to, "contents";
                                        relative, 0.5 0.5;
                                }
-                               min, 1128 378;
+                               min, 812 348;
                                fixed, 1 1;
                        }
                }
@@ -149,12 +149,6 @@ group {
 
 group {
        name, GRP_USER_EDIT_CONTENTS;
-       images {
-               image, "ic_user_require_01.png" COMP;
-               image, "ic_user_require_02.png" COMP;
-               image, "btn_user_del.png" COMP;
-               image, "search_searchbar_small_bg_nor.png" COMP;
-       }
        parts {
                part {
                        name, "bg";
@@ -162,20 +156,7 @@ group {
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               min, 1128 378;
-                               visible, 0;
-                       }
-               }
-               part {
-                       name, "pad";
-                       type, RECT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               min, 138 0;
-                               rel2.relative, 0.0 1.0;
-                               fixed, 1 0;
-                               align, 0.0 0.5;
+                               min, 812 348;
                                visible, 0;
                        }
                }
@@ -185,14 +166,7 @@ group {
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               rel1 {
-                                       to, "pad";
-                                       relative, 1.0 0.0;
-                               }
-                               rel2 {
-                                       to, "pad";
-                                       relative, 1.0 0.0;
-                               }
+                               rel2.relative, 0.0 0.0;
                                min, 90 32;
                                fixed, 1 1;
                                align, 0.0 0.0;
@@ -206,46 +180,6 @@ group {
                        }
                }
                part {
-                       name, "pad.photo.require";
-                       type, RECT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, "photo";
-                                       relative, 1.0 0.0;
-                               }
-                               rel2 {
-                                       to, "photo";
-                                       relative, 1.0 0.0;
-                               }
-                               min, 6 0;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                               visible, 0;
-                       }
-               }
-               part {
-                       name, "photo.require";
-                       type, IMAGE;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, "pad.photo.require";
-                                       relative, 1.0 0.0;
-                               }
-                               rel2 {
-                                       to, "pad.photo.require";
-                                       relative, 1.0 0.0;
-                               }
-                               min, 16 20;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                               image.normal, "ic_user_require_01.png";
-                       }
-               }
-               part {
                        name, "pad.photo";
                        type, RECT;
                        scale, 1;
@@ -285,89 +219,6 @@ group {
                        }
                }
                part {
-                       name, "pad.require";
-                       type, RECT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, PART_USER_EDIT_CONTENTS_PHOTO;
-                                       relative, 0.0 1.0;
-                               }
-                               rel2 {
-                                       to, PART_USER_EDIT_CONTENTS_PHOTO;
-                                       relative, 0.0 1.0;
-                               }
-                               min, 0 26;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                               visible, 0;
-                       }
-               }
-               part {
-                       name, "icon.require";
-                       type, IMAGE;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, "pad.require";
-                                       relative, 1.0 1.0;
-                               }
-                               rel2.to, "pad.require";
-                               min, 12 24;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                               image.normal, "ic_user_require_02.png";
-                       }
-               }
-               part {
-                       name, "pad.require.text";
-                       type, RECT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, "icon.require";
-                                       relative, 1.0 0.0;
-                               }
-                               rel2 {
-                                       to, "icon.require";
-                                       relative, 1.0 0.0;
-                               }
-                               min, 6 0;
-                               align, 0.0 0.0;
-                               fixed, 1 1;
-                               visible, 0;
-                       }
-               }
-               part {
-                       name, "require";
-                       type, TEXT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, "pad.require.text";
-                                       relative, 1.0 1.0;
-                               }
-                               rel2 {
-                                       to, "pad.require.text";
-                                       relative, 1.0 1.0;
-                               }
-                               min, 294 24;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                               text {
-                                       font, FONT_LIGHT;
-                                       size, 24;
-                                       align, 0.0 0.5;
-                                       text, "Required fields";
-                               }
-                               color, 64 136 211 255;
-                       }
-               }
-               part {
                        name, "pad.profile";
                        type, RECT;
                        scale, 1;
@@ -414,26 +265,6 @@ group {
                        }
                }
                part {
-                       name, "name.require";
-                       type, IMAGE;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, "name";
-                                       relative, 1.0 0.0;
-                               }
-                               rel2 {
-                                       to, "name";
-                                       relative, 1.0 0.0;
-                               }
-                               min, 16 20;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                               image.normal, "ic_user_require_01.png";
-                       }
-               }
-               part {
                        name, "pad.name";
                        type, RECT;
                        scale, 1;
@@ -463,13 +294,13 @@ group {
                                        relative, 1.0 1.0;
                                }
                                rel2.to, "pad.name";
-                               min, 436 64;
+                               min, 446 64;
                                fixed, 1 1;
                                align, 0.0 0.0;
                        }
                }
                part {
-                       name, "pad.pin";
+                       name, "pad.delete";
                        type, RECT;
                        scale, 1;
                        description {
@@ -489,144 +320,24 @@ group {
                        }
                }
                part {
-                       name, "pin";
-                       type, TEXT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, "pad.pin";
-                                       relative, 1.0 1.0;
-                               }
-                               rel2.to, "pad.pin";
-                               min, 436 32;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                               text {
-                                       font, FONT_LIGHT;
-                                       size, 32;
-                                       text, "Pin code";
-                                       align, 0.0 0.5;
-                               }
-                               color, 77 77 77 255;
-                       }
-               }
-               part {
-                       name, "pad.pin.down";
-                       type, RECT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, "pin";
-                                       relative, 0.0 1.0;
-                               }
-                               rel2 {
-                                       to, "pin";
-                                       relative, 0.0 1.0;
-                               }
-                               min, 0 22;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                               visible, 0;
-                       }
-               }
-               part {
-                       name, PART_USER_EDIT_CONTENTS_PIN;
+                       name, PART_USER_EDIT_CONTENTS_DELETE;
                        type, SWALLOW;
                        scale, 1;
                        description {
                                state, "default" 0.0;
                                rel1 {
-                                       to, "pad.pin.down";
-                                       relative, 0.0 1.0;
-                               }
-                               rel2 {
-                                       to, "pad.pin.down";
-                                       relative, 0.0 1.0;
-                               }
-                               min, 298 64;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                       }
-               }
-               part {
-                       name, "pad.lock";
-                       type, RECT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, PART_USER_EDIT_CONTENTS_PIN;
-                                       relative, 0.0 1.0;
-                               }
-                               rel2 {
-                                       to, PART_USER_EDIT_CONTENTS_PIN;
-                                       relative, 0.0 1.0;
-                               }
-                               min, 0 42;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                               visible, 0;
-                       }
-               }
-               part {
-                       name, "lock";
-                       type, TEXT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, "pad.lock";
-                                       relative, 1.0 1.0;
-                               }
-                               rel2.to, "pad.lock";
-                               min, 436 32;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                               text {
-                                       font, FONT_LIGHT;
-                                       size, 32;
-                                       text, "Privacy lock";
-                                       align, 0.0 0.5;
-                               }
-                               color, 77 77 77 255;
-                       }
-               }
-               part {
-                       name, "pad.lock.down";
-                       type, RECT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, "lock";
+                                       to, "pad.delete";
                                        relative, 0.0 1.0;
                                }
                                rel2 {
-                                       to, "lock";
+                                       to, "pad.delete";
                                        relative, 0.0 1.0;
                                }
-                               min, 0 22;
-                               fixed, 1 1;
-                               align, 0.0 0.0;
-                               visible, 0;
-                       }
-               }
-               part {
-                       name, PART_USER_EDIT_CONTENTS_LOCK;
-                       type, SWALLOW;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1 {
-                                       to, "pad.lock.down";
-                                       relative, 1.0 1.0;
-                               }
-                               rel2.to, "pad.lock.down";
-                               min, 104 54;
+                               min, 174 64;
                                fixed, 1 1;
                                align, 0.0 0.0;
+                               color, 0 0 255 255;
+                               visible, 1;
                        }
                }
        }
@@ -756,11 +467,7 @@ group {
 }
 
 group {
-       name, GRP_USER_EDIT_SWITCH;
-       images {
-               image, "btn_switch_off_nor.png" COMP;
-               image, "btn_switch_on_nor.png" COMP;
-       }
+       name, GRP_USER_EDIT_ICON_LIST;
        parts {
                part {
                        name, "bg";
@@ -768,36 +475,33 @@ group {
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               min, 104 54;
-                               visible, 0;
+                               min, 589 295;
+                               color, 194 194 194 255;
                        }
                }
                part {
-                       name, "switch";
-                       type, IMAGE;
+                       name, PART_USER_EDIT_ICON_LIST;
+                       type, SWALLOW;
                        scale, 1;
                        description {
                                state, "default" 0.0;
                                fixed, 1 1;
-                               image.normal, "btn_switch_on_nor.png";
-                       }
-                       description {
-                               state, "disable" 0.0;
-                               inherit, "default" 0.0;
-                               image.normal, "btn_switch_off_nor.png";
                        }
                }
+       }
+}
+
+group {
+       name, GRP_USER_EDIT_ICON_LIST_ITEM;
+       parts {
                part {
-                       name, "pad.up";
+                       name, "bg";
                        type, RECT;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               min, 0 3;
-                               rel2.relative, 1.0 0.0;
-                               fixed, 0 1;
-                               align, 0.5 0.0;
-                               color, 0 0 0 0;
+                               min, 146 146;
+                               color, 255 255 255 255;
                        }
                        description {
                                state, "focus" 0.0;
@@ -806,71 +510,41 @@ group {
                        }
                }
                part {
-                       name, "pad.left";
+                       name, "clip";
                        type, RECT;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               min, 3 0;
-                               rel1 {
-                                       to, "pad.up";
-                                       relative, 0.0 1.0;
-                               }
-                               rel2.relative, 0.0 1.0;
-                               fixed, 1 0;
-                               align, 0.0 0.5;
                                color, 0 0 0 0;
                        }
                        description {
                                state, "focus" 0.0;
                                inherit, "default" 0.0;
-                               color, 0 119 246 255;
+                               color, 255 255 255 255;
                        }
                }
                part {
-                       name, "pad.right";
-                       type, RECT;
+                       name, PART_USER_EDIT_ICON_LIST_ITEM;
+                       type, SWALLOW;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               min, 3 0;
-                               rel1 {
-                                       to, "pad.up";
-                                       relative, 1.0 1.0;
-                               }
-                               fixed, 1 0;
-                               align, 1.0 0.5;
-                               color, 0 0 0 0;
-                       }
-                       description {
-                               state, "focus" 0.0;
-                               inherit, "default" 0.0;
-                               color, 0 119 246 255;
+                               min, 70 70;
+                               rel1.relative, 0.5 0.5;
+                               rel2.relative, 0.5 0.5;
+                               fixed, 1 1;
                        }
                }
                part {
-                       name, "pad.down";
-                       type, RECT;
+                       name, PART_USER_EDIT_ICON_LIST_ITEM_FOCUS;
+                       type, SWALLOW;
                        scale, 1;
+                       clip_to, "clip";
                        description {
                                state, "default" 0.0;
-                               min, 0 3;
-                               rel1 {
-                                       to, "pad.left";
-                                       relative, 1.0 1.0;
-                               }
-                               rel2 {
-                                       to, "pad.right";
-                                       relative, 0.0 1.0;
-                               }
-                               fixed, 0 1;
-                               align, 0.5 1.0;
-                               color, 0 0 0 0;
-                       }
-                       description {
-                               state, "focus" 0.0;
-                               inherit, "default" 0.0;
-                               color, 0 119 246 255;
+                               rel1.to, PART_USER_EDIT_ICON_LIST_ITEM;
+                               rel2.to, PART_USER_EDIT_ICON_LIST_ITEM;
+                               fixed, 1 1;
                        }
                }
        }
@@ -880,42 +554,24 @@ group {
                        signal, SIG_FOCUS;
                        source, SRC_PROG;
                        action, STATE_SET "focus" 0.0;
-                       transition, TRANSITION_LINEAR;
-                       target, "pad.up";
-                       target, "pad.right";
-                       target, "pad.left";
-                       target, "pad.down";
+                       transition, TRANSITION_DECEL;
+                       target, "clip";
+                       target, "bg";
                }
                program {
                        name, "sig,unfocus";
                        signal, SIG_UNFOCUS;
                        source, SRC_PROG;
                        action, STATE_SET "default" 0.0;
-                       transition, TRANSITION_LINEAR;
-                       target, "pad.up";
-                       target, "pad.right";
-                       target, "pad.left";
-                       target, "pad.down";
-               }
-               program {
-                       name, "sig,disable";
-                       signal, SIG_DISABLE;
-                       source, SRC_PROG;
-                       action, STATE_SET "disable" 0.0;
-                       target, "switch";
-               }
-               program {
-                       name, "sig,enable";
-                       signal, SIG_ENABLE;
-                       source, SRC_PROG;
-                       action, STATE_SET "default" 0.0;
-                       target, "switch";
+                       transition, TRANSITION_DECEL;
+                       target, "clip";
+                       target, "bg";
                }
        }
 }
 
 group {
-       name, GRP_USER_EDIT_ICON_LIST;
+       name, GRP_USER_EDIT_DELETE;
        parts {
                part {
                        name, "bg";
@@ -923,76 +579,32 @@ group {
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               min, 589 295;
-                               color, 194 194 194 255;
-                       }
-               }
-               part {
-                       name, PART_USER_EDIT_ICON_LIST;
-                       type, SWALLOW;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               fixed, 1 1;
-                       }
-               }
-       }
-}
-
-group {
-       name, GRP_USER_EDIT_ICON_LIST_ITEM;
-       parts {
-               part {
-                       name, "bg";
-                       type, RECT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               min, 146 146;
-                               color, 255 255 255 255;
+                               min, 174 64;
+                               color, 126 145 172 255;
                        }
                        description {
                                state, "focus" 0.0;
                                inherit, "default" 0.0;
                                color, 0 119 246 255;
                        }
-               }
-               part {
-                       name, "clip";
-                       type, RECT;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               color, 0 0 0 0;
-                       }
                        description {
-                               state, "focus" 0.0;
+                               state, "disable" 0.0;
                                inherit, "default" 0.0;
-                               color, 255 255 255 255;
-                       }
-               }
-               part {
-                       name, PART_USER_EDIT_ICON_LIST_ITEM;
-                       type, SWALLOW;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               min, 70 70;
-                               rel1.relative, 0.5 0.5;
-                               rel2.relative, 0.5 0.5;
-                               fixed, 1 1;
+                               color, 166 166 166 255;
                        }
                }
                part {
-                       name, PART_USER_EDIT_ICON_LIST_ITEM_FOCUS;
-                       type, SWALLOW;
+                       name, "delete";
+                       type, TEXT;
                        scale, 1;
-                       clip_to, "clip";
                        description {
                                state, "default" 0.0;
-                               rel1.to, PART_USER_EDIT_ICON_LIST_ITEM;
-                               rel2.to, PART_USER_EDIT_ICON_LIST_ITEM;
                                fixed, 1 1;
+                               text {
+                                       text, "Delete user";
+                                       size, 28;
+                                       font, FONT_LIGHT;
+                               }
                        }
                }
        }
@@ -1002,8 +614,7 @@ group {
                        signal, SIG_FOCUS;
                        source, SRC_PROG;
                        action, STATE_SET "focus" 0.0;
-                       transition, TRANSITION_DECEL;
-                       target, "clip";
+                       transition, TRANSITION_LINEAR;
                        target, "bg";
                }
                program {
@@ -1011,8 +622,15 @@ group {
                        signal, SIG_UNFOCUS;
                        source, SRC_PROG;
                        action, STATE_SET "default" 0.0;
-                       transition, TRANSITION_DECEL;
-                       target, "clip";
+                       transition, TRANSITION_LINEAR;
+                       target, "bg";
+               }
+               program {
+                       name, "sig,disable";
+                       signal, SIG_DISABLE;
+                       source, SRC_PROG;
+                       action, STATE_SET "disable" 0.0;
+                       transition, TRANSITION_LINEAR;
                        target, "bg";
                }
        }
index 104719b..0218117 100644 (file)
@@ -45,6 +45,7 @@
 #define GRP_USER_EDIT_SWITCH "group.user.edit.switch"
 #define GRP_USER_EDIT_PHOTO "group.user.edit.photo"
 #define GRP_USER_EDIT_ENTRY "group.user.edit.entry"
+#define GRP_USER_EDIT_DELETE "group.user.edit.delete"
 #define GRP_USER_EDIT_ICON_LIST "group.user.edit.icon.list"
 #define GRP_USER_EDIT_ICON_LIST_ITEM "group.user.edit.icon.list.item"
 #define GRP_BAR_ITEM "group.bar.item"
@@ -77,6 +78,7 @@
 #define PART_USER_EDIT_CONTENTS_NAME "part.user.edit.contents.name"
 #define PART_USER_EDIT_CONTENTS_PIN "part.user.edit.contents.pin"
 #define PART_USER_EDIT_CONTENTS_LOCK "part.user.edit.contents.lock"
+#define PART_USER_EDIT_CONTENTS_DELETE "part.user.edit.contents.delete"
 #define PART_USER_EDIT_PHOTO "part.user.edit.photo"
 #define PART_USER_EDIT_PHOTO_FOCUS "part.user.edit.photo.focus"
 #define PART_USER_EDIT_ENTRY "part.user.edit.entry"
index fb2a1f1..6738568 100644 (file)
@@ -136,8 +136,7 @@ static int _update(struct datamgr_item *di)
                return ITEM_SELECT_ERROR_INVALID_OPERATION;
        }
 
-       g_object_set(G_OBJECT(user), GUM_ATTR_PASSWORD, di->parameter,
-                       GUM_ATTR_ICON, di->icon, NULL);
+       g_object_set(G_OBJECT(user), GUM_ATTR_ICON, di->icon, NULL);
 
        r = gum_user_update_sync(user);
        if (!r) {
index f85285f..e67b5d6 100644 (file)
 #define CTXPOPUP_Y 310
 #define MAX_BUF 128
 #define MAX_PHOTO 160
-#define COUNT_PIN 4
-#define PADDING_PIN 14
 
 #define CHARACTER_PATTERN "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
-#define PIN_PATTERN "0123456789"
 
 enum input_handler_type {
        INPUT_HANDLER_TYPE_PHOTO,
+       INPUT_HANDLER_TYPE_DELETE,
        INPUT_HANDLER_TYPE_EO,
        INPUT_HANDLER_TYPE_BTN_DONE,
        INPUT_HANDLER_TYPE_BTN_CANCEL,
        INPUT_HANDLER_TYPE_POPUP_BTN_DISCARD,
        INPUT_HANDLER_TYPE_POPUP_BTN_CANCEL,
-       INPUT_HANDLER_TYPE_ENTRY,
-       INPUT_HANDLER_TYPE_LOCK,
-       INPUT_HANDLER_TYPE_PIN
+       INPUT_HANDLER_TYPE_ENTRY
 };
 
 enum user_item_type {
@@ -68,8 +64,7 @@ struct _priv {
        Evas_Object *cancel;
        Evas_Object *ctxpopup;
        Evas_Object *popup;
-       Evas_Object *lock;
-       Evas_Object *pin[COUNT_PIN];
+       Evas_Object *delete;
        Eina_Bool locked;
 
        char *selected_photo;
@@ -80,32 +75,16 @@ struct _priv {
        enum user_item_type user_type;
 };
 
-static void _reset_pin(struct _priv *priv, bool focus)
-{
-       int i;
-
-       for (i = 0; i < COUNT_PIN; i++) {
-               elm_entry_entry_set(priv->pin[i], "");
-               elm_object_focus_allow_set(priv->pin[i], EINA_FALSE);
-               elm_object_signal_emit(priv->pin[i], SIG_ENABLE, SRC_ELM);
-       }
-
-       elm_object_focus_allow_set(priv->pin[0], EINA_TRUE);
-       if (focus)
-               elm_object_focus_set(priv->pin[0], EINA_TRUE);
-}
-
 static void _focused(int id, void *data, Evas_Object *obj,
                Elm_Object_Item *item)
 {
        switch (id) {
        case INPUT_HANDLER_TYPE_PHOTO:
+       case INPUT_HANDLER_TYPE_DELETE:
        case INPUT_HANDLER_TYPE_EO:
-       case INPUT_HANDLER_TYPE_LOCK:
                elm_object_signal_emit(obj, SIG_FOCUS, SRC_PROG);
                break;
        case INPUT_HANDLER_TYPE_ENTRY:
-       case INPUT_HANDLER_TYPE_PIN:
                elm_object_signal_emit(obj, SIG_SELECT, SRC_ELM);
                break;
        default:
@@ -119,11 +98,10 @@ static void _unfocused(int id, void *data, Evas_Object *obj,
        switch (id) {
        case INPUT_HANDLER_TYPE_PHOTO:
        case INPUT_HANDLER_TYPE_EO:
-       case INPUT_HANDLER_TYPE_LOCK:
+       case INPUT_HANDLER_TYPE_DELETE:
                elm_object_signal_emit(obj, SIG_UNFOCUS, SRC_PROG);
                break;
        case INPUT_HANDLER_TYPE_ENTRY:
-       case INPUT_HANDLER_TYPE_PIN:
                elm_object_signal_emit(obj, SIG_UNSELECT, SRC_ELM);
                break;
        default:
@@ -211,23 +189,13 @@ static void _add_discard_popup(struct _priv *priv)
 static bool _check_changed_input(struct _priv *priv)
 {
        const char *photo, *name;
-       int i;
 
        /**
         * Default value
         *
-        * locked is true, pin and name is empty.
         * Icon is user icon or default icon
         */
 
-       if (!priv->locked)
-               return true;
-
-       for (i = 0; i < COUNT_PIN; i++) {
-               if (!elm_entry_is_empty(priv->pin[i]))
-                       return true;
-       }
-
        _get_profile(priv, &name, &photo);
 
        if (priv->di) {
@@ -412,55 +380,9 @@ static void _add_icon_list(struct _priv *priv)
        priv->ctxpopup = ctxpopup;
 }
 
-static bool _add_pin(Evas_Object *ly, struct _priv *priv)
-{
-       Evas_Object *pin, *box;
-       Elm_Entry_Filter_Limit_Size pin_size = {
-               .max_char_count = 1,
-       };
-       Elm_Entry_Filter_Accept_Set pin_char = {
-               .accepted = PIN_PATTERN,
-       };
-       int i;
-
-       box = utils_add_box(ly, true);
-       if (!box) {
-               _ERR("failed to add box");
-               return false;
-       }
-       elm_object_part_content_set(ly, PART_USER_EDIT_CONTENTS_PIN, box);
-       elm_box_padding_set(box, PADDING_PIN, 0);
-
-       for (i = 0; i < COUNT_PIN; i++) {
-               pin = utils_add_entry(box, true, false, NULL,
-                               STYLE_INPUT_PIN);
-               if (!pin) {
-                       _ERR("failed to add entry");
-                       memset(priv->pin, 0x00, sizeof(priv->pin));
-                       evas_object_del(box);
-                       return false;
-               }
-               elm_entry_markup_filter_append(pin, elm_entry_filter_limit_size,
-                               &pin_size);
-               elm_entry_markup_filter_append(pin, elm_entry_filter_accept_set,
-                               &pin_char);
-
-               elm_box_pack_end(box, pin);
-
-               inputmgr_add_callback(pin, INPUT_HANDLER_TYPE_PIN, &handler,
-                               priv);
-               priv->pin[i] = pin;
-               if (i != 0)
-                       elm_object_focus_allow_set(pin, EINA_FALSE);
-
-       }
-
-       return true;
-}
-
 static Evas_Object *_add_layout(struct _priv *priv)
 {
-       Evas_Object *ly, *photo, *name, *lock;
+       Evas_Object *ly, *photo, *name;
        Elm_Entry_Filter_Accept_Set name_char = {
                .accepted = CHARACTER_PATTERN,
        };
@@ -484,23 +406,11 @@ static Evas_Object *_add_layout(struct _priv *priv)
        elm_entry_markup_filter_append(name, elm_entry_filter_accept_set,
                        &name_char);
 
-       lock = utils_add_layout(ly, GRP_USER_EDIT_SWITCH, true,
-                       PART_USER_EDIT_CONTENTS_LOCK);
-       if (!lock)
-               goto err;
-
-       if (!_add_pin(ly, priv)) {
-               _ERR("failed to add pin");
-               goto err;
-       }
-
        inputmgr_add_callback(photo, INPUT_HANDLER_TYPE_PHOTO, &handler, priv);
        inputmgr_add_callback(name, INPUT_HANDLER_TYPE_ENTRY, &handler, priv);
-       inputmgr_add_callback(lock, INPUT_HANDLER_TYPE_LOCK, &handler, priv);
 
        priv->photo = photo;
        priv->name = name;
-       priv->lock = lock;
 
        return ly;
 err:
@@ -607,19 +517,24 @@ static void _select_eo(struct _priv *priv, Evas_Object *obj)
 
 static void _reset(struct _priv *priv);
 
-static void _update_user(struct _priv *priv, const char *pincode)
+static void _update_user(struct _priv *priv)
 {
        const char *name, *photo;
        char buf[MAX_BUF];
 
        _get_profile(priv, &name, &photo);
 
+       if (!strcmp(name, "")) {
+               elm_object_focus_set(priv->name, EINA_TRUE);
+               return;
+       }
+
        if (priv->di) {
                priv->di->action = ITEM_SELECT_ACTION_UPDATE;
                priv->di->title = strdup(name ? name : "");
                priv->di->icon = strdup(photo ? photo :
                                IMAGE_USER_DEFAULT);
-               priv->di->parameter = strdup(pincode ? pincode : "");
+               priv->di->parameter = strdup("");
                snprintf(buf, sizeof(buf), "%s %s", name, MESSAGE_USER_UPDATE);
                if (datamgr_select_item(priv->dm, priv->di) !=
                                ITEM_SELECT_ERROR_NONE) {
@@ -628,8 +543,7 @@ static void _update_user(struct _priv *priv, const char *pincode)
                }
        } else {
                snprintf(buf, sizeof(buf), "%s %s", name, MESSAGE_USER_ADD);
-               if (!datamgr_add_item(priv->dm, name, photo,
-                               pincode ? pincode : "")) {
+               if (!datamgr_add_item(priv->dm, name, photo, "")) {
                        _reset(priv);
                        return;
                }
@@ -640,79 +554,28 @@ static void _update_user(struct _priv *priv, const char *pincode)
        viewmgr_pop_view();
 }
 
-static void _disable_pin(struct _priv *priv)
-{
-       int i;
-
-       for (i = 0; i < COUNT_PIN; i++) {
-               elm_entry_entry_set(priv->pin[i], "");
-               elm_object_focus_allow_set(priv->pin[i], EINA_FALSE);
-               elm_object_signal_emit(priv->pin[i], SIG_DISABLE, SRC_ELM);
-       }
-}
-
-static bool _check_done(struct _priv *priv)
-{
-       int i;
-       const char *entry;
-
-       entry = elm_entry_entry_get(priv->name);
-       if (!entry) {
-               _ERR("failed to get entry");
-               return false;
-       }
-
-       if (!strcmp(entry, "")) {
-               elm_object_focus_set(priv->name, EINA_TRUE);
-               return false;
-       }
-
-       if (!priv->locked) {
-               _update_user(priv, NULL);
-               return false;
-       }
-
-       for (i = 0; i < COUNT_PIN; i++) {
-               if (elm_entry_is_empty(priv->pin[i])) {
-                       elm_object_focus_set(priv->pin[i], EINA_TRUE);
-                       return false;
-               }
-       }
-
-       return true;
-}
-
-static void _select_done(struct _priv *priv)
+static void _delete_user(struct _priv *priv)
 {
-       char pincode[8];
+       char buf[MAX_BUF];
 
-       if (!_check_done(priv))
+       priv->di->action = ITEM_SELECT_ACTION_DELETE;
+       if (datamgr_select_item(priv->dm, priv->di) != ITEM_SELECT_ERROR_NONE) {
+               _ERR("failed to delete user");
                return;
+       }
 
-       snprintf(pincode, sizeof(pincode), "%s%s%s%s",
-                       elm_entry_entry_get(priv->pin[0]),
-                       elm_entry_entry_get(priv->pin[1]),
-                       elm_entry_entry_get(priv->pin[2]),
-                       elm_entry_entry_get(priv->pin[3]));
-
-       viewmgr_update_view(VIEW_PIN, UPDATE_TYPE_PIN_CODE, pincode);
-       viewmgr_show_view(VIEW_PIN);
+       snprintf(buf, sizeof(buf), "%s %s", priv->di->title,
+                       MESSAGE_USER_DELETE);
+       utils_add_toast(priv->win, buf);
+       priv->di = NULL;
+       viewmgr_pop_view();
 }
 
 static void _select(struct _priv *priv, int id, Evas_Object *obj)
 {
        switch (id) {
-       case INPUT_HANDLER_TYPE_LOCK:
-               if (priv->locked) {
-                       _disable_pin(priv);
-                       elm_object_signal_emit(priv->lock, SIG_DISABLE,
-                                       SRC_PROG);
-               } else {
-                       _reset_pin(priv, false);
-                       elm_object_signal_emit(priv->lock, SIG_ENABLE,
-                                       SRC_PROG);
-               }
-               priv->locked = !priv->locked;
+       case INPUT_HANDLER_TYPE_DELETE:
+               _delete_user(priv);
                break;
        case INPUT_HANDLER_TYPE_PHOTO:
                _add_icon_list(priv);
@@ -724,7 +587,7 @@ static void _select(struct _priv *priv, int id, Evas_Object *obj)
                elm_object_focus_set(priv->done, EINA_TRUE);
                break;
        case INPUT_HANDLER_TYPE_BTN_DONE:
-               _select_done(priv);
+               _update_user(priv);
                break;
        case INPUT_HANDLER_TYPE_BTN_CANCEL:
                if (_check_changed_input(priv)) {
@@ -745,36 +608,6 @@ static void _select(struct _priv *priv, int id, Evas_Object *obj)
        }
 }
 
-static void _select_pin(struct _priv *priv, Evas_Object *obj)
-{
-       int i, j, v;
-
-       for (i = 0; i < COUNT_PIN; i++) {
-               if (priv->pin[i] == obj)
-                       break;
-       }
-
-       if (i == 0) {
-               for (j = 1; j < COUNT_PIN; j++) {
-                       elm_entry_entry_set(priv->pin[j], "");
-                       elm_object_signal_emit(priv->pin[j],
-                                       SIG_ENABLE, SRC_ELM);
-               }
-       }
-
-       v = (i + 1) % COUNT_PIN;
-       elm_object_focus_allow_set(priv->pin[v], EINA_TRUE);
-       if (v == 0) {
-               elm_object_focus_set(priv->done, EINA_TRUE);
-               elm_object_signal_emit(priv->pin[v],
-                               SIG_ENABLE, SRC_ELM);
-       } else
-               elm_object_focus_set(priv->pin[v], EINA_TRUE);
-
-       elm_object_signal_emit(obj, SIG_DISABLE, SRC_ELM);
-       elm_object_focus_allow_set(obj, EINA_FALSE);
-}
-
 /*
        FIXME: block action menu
 */
@@ -822,7 +655,7 @@ static void _key_up(int id, void *data, Evas *e, Evas_Object *obj,
                }
                viewmgr_pop_view();
        } else if (!strcmp(ev->keyname, KEY_ENTER)) {
-               _select_done(priv);
+               _update_user(priv);
        }
 }
 
@@ -841,10 +674,9 @@ static void _key_down(int id, void *data, Evas *e, Evas_Object *obj,
                        !strcmp(ev->keyname, KEY_ESC)) {
                switch (id) {
                case INPUT_HANDLER_TYPE_PHOTO:
+               case INPUT_HANDLER_TYPE_DELETE:
                case INPUT_HANDLER_TYPE_BTN_CANCEL:
                case INPUT_HANDLER_TYPE_ENTRY:
-               case INPUT_HANDLER_TYPE_PIN:
-               case INPUT_HANDLER_TYPE_LOCK:
                        if (_check_changed_input(priv)) {
                                _add_discard_popup(priv);
                                return;
@@ -864,18 +696,6 @@ static void _key_down(int id, void *data, Evas *e, Evas_Object *obj,
        } else if (!strcmp(ev->keyname, KEY_ENTER)) {
                _select(priv, id, obj);
                ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
-       } else if (!strcmp(ev->keyname, KEY_0) ||
-                       !strcmp(ev->keyname, KEY_1) ||
-                       !strcmp(ev->keyname, KEY_2) ||
-                       !strcmp(ev->keyname, KEY_3) ||
-                       !strcmp(ev->keyname, KEY_4) ||
-                       !strcmp(ev->keyname, KEY_5) ||
-                       !strcmp(ev->keyname, KEY_6) ||
-                       !strcmp(ev->keyname, KEY_7) ||
-                       !strcmp(ev->keyname, KEY_8) ||
-                       !strcmp(ev->keyname, KEY_9)) {
-               if (id == INPUT_HANDLER_TYPE_PIN)
-                       _select_pin(priv, obj);
        }
 }
 
@@ -922,10 +742,21 @@ static void _reset(struct _priv *priv)
                _load_user_icon(priv, IMAGE_USER_CURRENT_DEFAULT,
                                        IMAGE_USER_CURRENT_DEFAULT_FOCUS);
        }
+}
 
-       _reset_pin(priv, false);
-       elm_object_signal_emit(priv->lock, SIG_ENABLE, SRC_PROG);
-       priv->locked = EINA_TRUE;
+static void _add_delete_user(struct _priv *priv)
+{
+       if (priv->user_type != USER_ITEM_ADMIN ||
+                       priv->di->type == USER_ITEM_ADMIN) {
+               priv->delete = utils_add_layout(priv->ly, GRP_USER_EDIT_DELETE,
+                               false, PART_USER_EDIT_CONTENTS_DELETE);
+               elm_object_signal_emit(priv->delete, SIG_DISABLE, SRC_PROG);
+       } else {
+               priv->delete = utils_add_layout(priv->ly, GRP_USER_EDIT_DELETE,
+                               true, PART_USER_EDIT_CONTENTS_DELETE);
+               inputmgr_add_callback(priv->delete, INPUT_HANDLER_TYPE_DELETE,
+                               &handler, priv);
+       }
 }
 
 static void _show(void *data)
@@ -944,6 +775,7 @@ static void _show(void *data)
                                MESSAGE_EDIT_USER);
                _change_entry(priv->name, EINA_FALSE, priv->di->title,
                                SIG_DISABLE);
+               _add_delete_user(priv);
        } else {
                elm_object_part_text_set(priv->base, PART_USER_EDIT_TITLE,
                                MESSAGE_ADD_USER);
@@ -970,6 +802,12 @@ static void _hide(void *data)
        _delete_popup(priv);
        _delete_ctxpopup(priv);
 
+       if (priv->delete) {
+               evas_object_del(priv->delete);
+               inputmgr_remove_callback(priv->delete, &handler);
+               priv->delete = NULL;
+       }
+
        priv->selected_photo = NULL;
        evas_object_hide(priv->base);
 }
@@ -989,7 +827,6 @@ static void _destroy(void *data)
        inputmgr_remove_callback(priv->done, &handler);
        inputmgr_remove_callback(priv->cancel, &handler);
        inputmgr_remove_callback(priv->name, &handler);
-       inputmgr_remove_callback(priv->lock, &handler);
        viewmgr_remove_view(VIEW_PHOTO);
        viewmgr_remove_view(VIEW_ACTION_MENU);
        evas_object_del(priv->base);
@@ -1020,12 +857,6 @@ static void _update(void *view_data, int update_type, void *data)
        case UPDATE_TYPE_RESET:
                _reset(priv);
                break;
-       case UPDATE_TYPE_PIN_RESULT:
-               if (!data)
-                       return;
-
-               _update_user(priv, data);
-               break;
        default:
                _ERR("Invalid type");
                return;