summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyerim Kim <rimi.kim@samsung.com>2016-10-24 18:56:49 +0900
committerHyerim Kim <rimi.kim@samsung.com>2016-10-24 18:56:49 +0900
commitb3588a13caa769c92577dab7088d97ca152baac0 (patch)
tree18ece6920ee686d69fc9ca885f4ae92cb801666f
parentc98ad68bb96425892b4e0537f383106b831f70d0 (diff)
downloadair_home-b3588a13caa769c92577dab7088d97ca152baac0.tar.gz
air_home-b3588a13caa769c92577dab7088d97ca152baac0.tar.bz2
air_home-b3588a13caa769c92577dab7088d97ca152baac0.zip
- When user screen is hide, unload user information. - change CHARACTER_PATTERN to include numeric character. Change-Id: I68ea9514a144f075a4e0783a3fe3f5aff78b3f9e Signed-off-by: Hyerim Kim <rimi.kim@samsung.com>
-rw-r--r--src/view/view_user.c1
-rwxr-xr-xsrc/view/view_user_edit.c32
2 files changed, 31 insertions, 2 deletions
diff --git a/src/view/view_user.c b/src/view/view_user.c
index afa78ad..faa2e5e 100644
--- a/src/view/view_user.c
+++ b/src/view/view_user.c
@@ -516,6 +516,7 @@ static void _hide(void *data)
priv = data;
+ _unload_user(priv);
_delete_popup(priv);
evas_object_hide(priv->base);
diff --git a/src/view/view_user_edit.c b/src/view/view_user_edit.c
index 55d640e..4e42bae 100755
--- a/src/view/view_user_edit.c
+++ b/src/view/view_user_edit.c
@@ -32,7 +32,7 @@
#define MAX_BUF 128
#define MAX_PHOTO 160
-#define CHARACTER_PATTERN "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+#define CHARACTER_PATTERN "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
enum input_handler_type {
INPUT_HANDLER_TYPE_PHOTO,
@@ -410,11 +410,37 @@ static void _add_icon_list(struct _priv *priv)
priv->ctxpopup = ctxpopup;
}
+static void _entry_text_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ const char *text = elm_entry_entry_get(obj);
+ char temp_buffer[1024] = {0, };
+ int length = strlen(text);
+ char temp[2] = {0, };
+
+ if (text != NULL && length > 0) {
+ strncpy(temp, text, 1);
+ temp[1] = '\0';
+ } else {
+ _DBG("text is null or length is 0");
+ return;
+ }
+
+ if (temp[0] >= '0' && temp[0] <= '9') {
+ if (length == 1)
+ elm_entry_entry_set(obj, "");
+ else if (length > 1) {
+ strncpy(temp_buffer, text+1 , length - 1);
+ temp_buffer[length-1] = '\0';
+ elm_entry_entry_set(obj, temp_buffer);
+ }
+ }
+}
+
static Evas_Object *_add_layout(struct _priv *priv)
{
Evas_Object *ly, *photo, *name;
Elm_Entry_Filter_Accept_Set name_char = {
- .accepted = CHARACTER_PATTERN,
+ .accepted = CHARACTER_PATTERN
};
ly = utils_add_layout(priv->base, GRP_USER_EDIT_CONTENTS, false,
@@ -442,6 +468,8 @@ static Evas_Object *_add_layout(struct _priv *priv)
priv->photo = photo;
priv->name = name;
+ evas_object_smart_callback_add(priv->name, "changed", _entry_text_changed_cb, priv);
+
return ly;
err:
_ERR("failed to add layout");