add exception handling popup for checking 8 users 30/43430/3
authorSoohye Shin <soohye.shin@samsung.com>
Thu, 9 Jul 2015 06:17:19 +0000 (15:17 +0900)
committerSoohye Shin <soohye.shin@samsung.com>
Fri, 10 Jul 2015 04:44:25 +0000 (13:44 +0900)
Change-Id: I601f4098e57cb351ec55c98639281043909e3f0c
Signed-off-by: Soohye Shin <soohye.shin@samsung.com>
edje/view/user.edc
include/defs.h
src/view/view_user.c
src/view/view_user_edit.c

index 419b781..f1244c4 100644 (file)
@@ -89,7 +89,7 @@ group {
                                        to, "pad.list";
                                        relative, 1.0 1.0;
                                }
-                               min, 1264 158;
+                               min, 1422 158;
                                align, 0.5 0.0;
                                fixed, 1 1;
                        }
index 5a7efbb..f423324 100644 (file)
 #define IMAGE_RECENT_APP IMAGEDIR"/ic_thumbnail_app.png"
 
 #define MAX_ITEM_COUNT 8
+#define MAX_USER_COUNT 9
+
+#define MESSAGE_ADD_USER "Add user"
+#define MESSAGE_EDIT_USER "Edit user"
+#define MESSAGE_DELETE_USER "Delete user"
+#define MESSAGE_DELETE "Delete"
+#define MESSAGE_CANCEL "Cancel"
+#define MESSAGE_OK "OK"
+#define MESSAGE_DONE "Done"
 
 #endif /* __AIR_HOME_DEFS_H__ */
index ec9e9ee..1a31ae3 100644 (file)
@@ -27,6 +27,8 @@
 #include "datamgr.h"
 #include "utils.h"
 
+#define MESSAGE_POPUP_CONTENT "Can not add users more than 8.<br>If you want to add another user, delete one of users"
+
 struct _priv {
        Evas_Object *win;
        Evas_Object *base;
@@ -45,6 +47,42 @@ struct _bar_item {
        struct _priv *priv;
 };
 
+static void _btn_key_down(int id, void *data, Evas *e, Evas_Object *obj,
+               Evas_Event_Key_Down *ev)
+{
+       if (!strcmp(ev->keyname, KEY_ENTER) ||
+                       !strcmp(ev->keyname, KEY_ENTER_REMOTE) ||
+                       !strcmp(ev->keyname, KEY_BACK) ||
+                       !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
+               evas_object_del(data);
+       }
+}
+
+static input_handler btn_handler = {
+       .key_down = _btn_key_down
+};
+
+static void _add_popup(struct _priv *priv)
+{
+       Evas_Object *popup, *btn;
+
+       popup = utils_add_popup(priv->base, MESSAGE_ADD_USER,
+                       MESSAGE_POPUP_CONTENT);
+       if (!popup) {
+               _ERR("failed to add popup");
+               return;
+       }
+
+       btn = utils_add_button(popup, MESSAGE_OK, PART_POPUP_BUTTON_1);
+       if (!btn) {
+               _ERR("failed to add button");
+               evas_object_del(popup);
+               return;
+       }
+       inputmgr_add_callback(btn, 0, &btn_handler, popup);
+       elm_object_focus_set(btn, EINA_TRUE);
+}
+
 static void _key_down(int id, void *data, Evas *e, Evas_Object *obj,
                Evas_Event_Key_Down *ev)
 {
@@ -59,6 +97,12 @@ static void _key_down(int id, void *data, Evas *e, Evas_Object *obj,
 
        if (!strcmp(ev->keyname, KEY_ENTER) ||
                        !strcmp(ev->keyname, KEY_ENTER_REMOTE)) {
+               if ((priv->foc->di->action == ITEM_SELECT_ACTION_PUSH) &&
+                               (eina_list_count(priv->list) >= MAX_USER_COUNT)) {
+                       _add_popup(priv);
+                       return;
+               }
+
                viewmgr_update_view(VIEW_USER_EDIT, 0, NULL);
                datamgr_select_item(priv->dm, priv->foc->di);
        } else if (!strcmp(ev->keyname, KEY_BACK) ||
index 76f8bd2..28ae20d 100644 (file)
 #include "datamgr.h"
 #include "utils.h"
 
-#define MESSAGE_BTN_DONE "Done"
-#define MESSAGE_BTN_CANCEL "Cancel"
-#define MESSAGE_ADD_USER "Add user"
-#define MESSAGE_EDIT_USER "Edit user"
-#define MESSAGE_DELETE_USER "Delete user"
 #define MESSAGE_DELETE_CONTENTS "If you delete this user, their data will also be deleted."
-#define MESSAGE_DELETE "Delete"
-#define MESSAGE_CANCEL "Cancel"
 
 #define MESSAGE_ENTRY_NAME "User Name"
 #define MESSAGE_ENTRY_ACCOUNT "sample@tizen.com"
@@ -131,7 +124,7 @@ static bool _add_btns(struct _priv *priv)
 {
        Evas_Object *done, *cancel;
 
-       done = utils_add_button(priv->base, MESSAGE_BTN_DONE,
+       done = utils_add_button(priv->base, MESSAGE_DONE,
                        PART_USER_EDIT_BTN_DONE);
        if (!done) {
                _ERR("failed to add done btn");
@@ -139,7 +132,7 @@ static bool _add_btns(struct _priv *priv)
        }
        inputmgr_add_callback(done, 0, &done_handler, priv);
 
-       cancel = utils_add_button(priv->base, MESSAGE_BTN_CANCEL,
+       cancel = utils_add_button(priv->base, MESSAGE_CANCEL,
                        PART_USER_EDIT_BTN_CANCEL);
        if (!cancel) {
                _ERR("failed to add cancel btn");