modify focus policy of pin 53/47153/3
authorSoohye Shin <soohye.shin@samsung.com>
Mon, 31 Aug 2015 08:40:46 +0000 (17:40 +0900)
committerSoohye Shin <soohye.shin@samsung.com>
Tue, 1 Sep 2015 08:24:41 +0000 (17:24 +0900)
Change-Id: If9c3c39b34ff4429579fc419d0e9c8dcedb781c6
Signed-off-by: Soohye Shin <soohye.shin@samsung.com>
src/view/view_user_edit.c

index e1479eb..57c054d 100644 (file)
@@ -403,7 +403,7 @@ static bool _add_pin(Evas_Object *ly, struct _priv *priv)
 {
        Evas_Object *pin, *box;
        Elm_Entry_Filter_Limit_Size pin_size = {
-               .max_char_count = 2,
+               .max_char_count = 1,
        };
        Elm_Entry_Filter_Accept_Set pin_char = {
                .accepted = "0123456789",
@@ -663,25 +663,32 @@ static void _select(struct _priv *priv, int id, Evas_Object *obj)
 
 static void _select_pin(struct _priv *priv, Evas_Object *obj)
 {
-       int i;
+       int i, j, v;
 
        for (i = 0; i < COUNT_PIN; i++) {
                if (priv->pin[i] == obj)
                        break;
        }
 
-       if (i == COUNT_PIN) {
-               _ERR("failed to get entry");
-               return;
-       } else if (i == COUNT_PIN -1) {
-               if (elm_entry_cursor_pos_get(obj) != 1)
-                       _reset_pin(priv, true);
-       } else {
-               elm_object_focus_allow_set(priv->pin[i + 1], EINA_TRUE);
-               elm_object_focus_set(priv->pin[i + 1], EINA_TRUE);
-               elm_object_signal_emit(obj, SIG_DISABLE, SRC_ELM);
-               elm_object_focus_allow_set(obj, EINA_FALSE);
+       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);
 }
 
 static void _key_down(int id, void *data, Evas *e, Evas_Object *obj,