summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSoohye Shin <soohye.shin@samsung.com>2015-12-10 17:39:32 +0900
committerSoohye Shin <soohye.shin@samsung.com>2015-12-10 17:39:32 +0900
commit0c3863d34c4a95cd0b9733e5d8b2cea06e68d153 (patch)
treec390cc1a387d846415ab42da4f32a9f8efcb9645
parent42a1b2425ae76e166db7818105286a1cac861896 (diff)
downloadair_home-0c3863d34c4a95cd0b9733e5d8b2cea06e68d153.tar.gz
air_home-0c3863d34c4a95cd0b9733e5d8b2cea06e68d153.tar.bz2
air_home-0c3863d34c4a95cd0b9733e5d8b2cea06e68d153.zip
modify user edit view
Change-Id: I49c9e4ba1c54d6f9c0f090198ceb03efecb972e4 Signed-off-by: Soohye Shin <soohye.shin@samsung.com>
-rw-r--r--edje/view/useredit.edc516
-rw-r--r--include/defs.h2
-rw-r--r--src/data/data_user.c3
-rw-r--r--src/view/view_user_edit.c271
4 files changed, 121 insertions, 671 deletions
diff --git a/edje/view/useredit.edc b/edje/view/useredit.edc
index 258ef38..8ddcddc 100644
--- a/edje/view/useredit.edc
+++ b/edje/view/useredit.edc
@@ -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";
}
}
diff --git a/include/defs.h b/include/defs.h
index 104719b..0218117 100644
--- a/include/defs.h
+++ b/include/defs.h
@@ -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"
diff --git a/src/data/data_user.c b/src/data/data_user.c
index fb2a1f1..6738568 100644
--- a/src/data/data_user.c
+++ b/src/data/data_user.c
@@ -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) {
diff --git a/src/view/view_user_edit.c b/src/view/view_user_edit.c
index f85285f..e67b5d6 100644
--- a/src/view/view_user_edit.c
+++ b/src/view/view_user_edit.c
@@ -31,22 +31,18 @@
#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;