diff options
-rw-r--r-- | edje/view/useredit.edc | 31 | ||||
-rw-r--r-- | src/view/view_user_edit.c | 27 |
2 files changed, 40 insertions, 18 deletions
diff --git a/edje/view/useredit.edc b/edje/view/useredit.edc index dc28a17..d9f3ddd 100644 --- a/edje/view/useredit.edc +++ b/edje/view/useredit.edc @@ -800,9 +800,6 @@ group { image, "btn_switch_off_nor.png" COMP; image, "btn_switch_on_nor.png" COMP; } - script { - public switch_on; - } parts { part { name, "bg"; @@ -835,7 +832,7 @@ group { scale, 1; description { state, "default" 0.0; - min, 0 4; + min, 0 3; rel2.relative, 1.0 0.0; fixed, 0 1; align, 0.5 0.0; @@ -853,7 +850,7 @@ group { scale, 1; description { state, "default" 0.0; - min, 4 0; + min, 3 0; rel1 { to, "pad.up"; relative, 0.0 1.0; @@ -875,7 +872,7 @@ group { scale, 1; description { state, "default" 0.0; - min, 4 0; + min, 3 0; rel1 { to, "pad.up"; relative, 1.0 1.0; @@ -896,7 +893,7 @@ group { scale, 1; description { state, "default" 0.0; - min, 0 4; + min, 0 3; rel1 { to, "pad.left"; relative, 1.0 1.0; @@ -941,17 +938,17 @@ group { } program { name, "sig,disable"; - signal, SIG_CHANGE; + signal, SIG_DISABLE; source, SRC_PROG; - script { - if (get_int(switch_on) == 0) { - set_state(PART:"switch", "disable", 0.0); - set_int(switch_on, 1); - } else { - set_state(PART:"switch", "default", 0.0); - set_int(switch_on, 0); - } - } + 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"; } } } diff --git a/src/view/view_user_edit.c b/src/view/view_user_edit.c index 2995101..3e48415 100644 --- a/src/view/view_user_edit.c +++ b/src/view/view_user_edit.c @@ -78,6 +78,7 @@ struct _priv { Evas_Object *popup; Evas_Object *lock; Evas_Object *pin[COUNT_PIN]; + Eina_Bool locked; char *selected_photo; @@ -643,11 +644,31 @@ static void _select_btn_done(struct _priv *priv) 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 void _select(struct _priv *priv, int id, Evas_Object *obj) { switch (id) { case INPUT_HANDLER_TYPE_LOCK: - elm_object_signal_emit(priv->lock, SIG_CHANGE, SRC_PROG); + 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; break; case INPUT_HANDLER_TYPE_PHOTO: _add_icon_list(priv); @@ -735,6 +756,8 @@ static void _key_down(int id, void *data, Evas *e, Evas_Object *obj, case INPUT_HANDLER_TYPE_BTN_CANCEL: case INPUT_HANDLER_TYPE_DELETE: 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; @@ -859,6 +882,8 @@ static void _reset(struct _priv *priv) } _reset_pin(priv, false); + elm_object_signal_emit(priv->lock, SIG_ENABLE, SRC_PROG); + priv->locked = EINA_TRUE; } static void _show(void *data) |