enable to switch lock button in view_user_edit 67/42767/2
authorSoohye Shin <soohye.shin@samsung.com>
Thu, 2 Jul 2015 07:24:29 +0000 (16:24 +0900)
committerSoohye Shin <soohye.shin@samsung.com>
Thu, 2 Jul 2015 08:36:51 +0000 (17:36 +0900)
Change-Id: Ib790886a1d95b7dc388daaf7e51680cc9cd76bb1
Signed-off-by: Soohye Shin <soohye.shin@samsung.com>
edje/view/useredit.edc
images/btn_switch_off_nor.png [moved from edje/images/btn_switch_off_nor.png with 100% similarity]
images/btn_switch_on_nor.png [moved from edje/images/btn_switch_on_nor.png with 100% similarity]
include/defs.h
src/view/view_user_edit.c

index 4fee726..6732ece 100644 (file)
@@ -853,10 +853,6 @@ group {
 
 group {
        name, GRP_USER_EDIT_SWITCH;
-       images {
-               image, "btn_switch_on_nor.png" COMP;
-               image, "btn_switch_off_nor.png" COMP;
-       }
        parts {
                part {
                        name, "bg";
@@ -865,21 +861,32 @@ group {
                        description {
                                state, "default" 0.0;
                                min, 104 54;
-                               visible, 0;
+                               color, 0 119 246 255;
                        }
                }
                part {
-                       name, "icon";
-                       type, IMAGE;
+                       name, "clip";
+                       type, RECT;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               image.normal, "btn_switch_on_nor.png";
                                fixed, 1 1;
                        }
                        description {
                                state, "focus" 0.0;
-                               image.normal, "btn_switch_off_nor.png";
+                               rel1.relative, 0.5 0.5;
+                               rel2.relative, 0.5 0.5;
+                               min, 98 48;
+                               fixed, 1 1;
+                       }
+               }
+               part {
+                       name, PART_USER_EDIT_SWITCH;
+                       type, SWALLOW;
+                       scale, 1;
+                       clip_to, "clip";
+                       description {
+                               state, "default" 0.0;
                                fixed, 1 1;
                        }
                }
@@ -890,16 +897,16 @@ group {
                        signal, SIG_FOCUS;
                        source, SRC_PROG;
                        action, STATE_SET "focus" 0.0;
-                       transition, ACCEL 0.2;
-                       target, "icon";
+                       transition, LINEAR 0.1;
+                       target, "clip";
                }
                program {
                        name, "sig,unfocus";
                        signal, SIG_UNFOCUS;
                        source, SRC_PROG;
                        action, STATE_SET "default" 0.0;
-                       transition, ACCEL 0.2;
-                       target, "icon";
+                       transition, LINEAR 0.1;
+                       target, "clip";
                }
        }
 }
index adcd83f..bea2b0e 100644 (file)
@@ -77,6 +77,7 @@
 #define PART_USER_EDIT_ICON_LIST "part.user.edit.icon.list"
 #define PART_USER_EDIT_ICON_LIST_ITEM "part.user.edit.icon.list.item"
 #define PART_USER_EDIT_ICON_LIST_ITEM_FOCUS "part.user.edit.icon.list.item.focus"
+#define PART_USER_EDIT_SWITCH "part.user.edit.switch"
 #define PART_BAR_ITEM_BG "part.bar.item.bg"
 #define PART_BAR_ITEM_ICON "part.bar.item.icon"
 #define PART_BAR_ITEM_ICON_FOCUS "part.bar.item.icon.focus"
 #define COLOR_DEFAULT_B 246
 #define COLOR_DEFAULT_A 255
 
+#define IMAGE_SWITCH_ON IMAGEDIR"/btn_switch_on_nor.png"
+#define IMAGE_SWITCH_OFF IMAGEDIR"/btn_switch_off_nor.png"
 #define IMAGE_BADGE IMAGEDIR"/badge_bg.png"
 #define IMAGE_USER_ADD IMAGEDIR"/btn_user_add_nor.png"
 #define IMAGE_USER_ADD_FOCUS IMAGEDIR"/btn_user_add_foc.png"
index 124d5b5..c72a3d9 100644 (file)
@@ -332,6 +332,40 @@ static input_handler photo_handler = {
        .key_down = _photo_key_down
 };
 
+static void _load_lock_icon(struct _priv *priv, Evas_Object *ly)
+{
+       Evas_Object *lock;
+       const char *file = NULL;
+
+       if (priv->lock) {
+               elm_image_file_get(priv->lock, &file, NULL);
+               elm_object_part_content_unset(priv->lock,
+                               PART_USER_EDIT_SWITCH);
+               evas_object_del(priv->lock);
+       }
+
+       if (!file || !strcmp(file, IMAGE_SWITCH_OFF))
+               file = IMAGE_SWITCH_ON;
+       else
+               file = IMAGE_SWITCH_OFF;
+       lock = utils_add_icon(ly, file, PART_USER_EDIT_SWITCH);
+
+       priv->lock = lock;
+}
+
+static void _lock_key_down(int id, void *data, Evas *e, Evas_Object *obj,
+               Evas_Event_Key_Down *ev)
+{
+       if (!strcmp(ev->keyname, KEY_ENTER))
+               _load_lock_icon(data, obj);
+}
+
+static input_handler lock_handler = {
+       .focused = _focused,
+       .unfocused = _unfocused,
+       .key_down = _lock_key_down
+};
+
 static Evas_Object *_add_layout(struct _priv *priv)
 {
        Evas_Object *ly, *photo, *name, *pin, *account, *lock;
@@ -368,13 +402,15 @@ static Evas_Object *_add_layout(struct _priv *priv)
        if (!lock)
                goto err;
 
+       _load_lock_icon(priv, lock);
+
+       inputmgr_add_callback(lock, 0, &lock_handler, priv);
        inputmgr_add_callback(photo, 0, &photo_handler, priv);
 
        priv->photo = photo;
        priv->name = name;
        priv->account = account;
        priv->pin = pin;
-       priv->lock = lock;
 
        return ly;
 err:
@@ -493,6 +529,7 @@ static void _destroy(void *data)
        priv = data;
 
        inputmgr_remove_callback(priv->photo, &photo_handler);
+       inputmgr_remove_callback(priv->photo, &lock_handler);
        inputmgr_remove_callback(priv->done, &done_handler);
        inputmgr_remove_callback(priv->cancel, &cancel_handler);
        viewmgr_remove_view(VIEW_PHOTO);