diff options
author | Hyerim Kim <rimi.kim@samsung.com> | 2016-10-24 18:56:49 +0900 |
---|---|---|
committer | Hyerim Kim <rimi.kim@samsung.com> | 2016-10-24 18:56:49 +0900 |
commit | b3588a13caa769c92577dab7088d97ca152baac0 (patch) | |
tree | 18ece6920ee686d69fc9ca885f4ae92cb801666f | |
parent | c98ad68bb96425892b4e0537f383106b831f70d0 (diff) | |
download | air_home-b3588a13caa769c92577dab7088d97ca152baac0.tar.gz air_home-b3588a13caa769c92577dab7088d97ca152baac0.tar.bz2 air_home-b3588a13caa769c92577dab7088d97ca152baac0.zip |
Fixed JIRA issue - TSAM-9180, TSAM-9205submit/tizen_3.0/20161028.092424submit/tizen_3.0/20161028.062323submit/tizen/20161024.101000accepted/tizen/tv/20161024.234003accepted/tizen/3.0/tv/20161028.150609
- 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.c | 1 | ||||
-rwxr-xr-x | src/view/view_user_edit.c | 32 |
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"); |