From: Soohye Shin Date: Wed, 1 Jul 2015 08:18:20 +0000 (+0900) Subject: change user photo when icon is selected in icon list X-Git-Tag: accepted/tizen/tv/20150728.070602~35 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f5e2f335584396b4b135898191431291066312f;p=profile%2Ftv%2Fapps%2Fnative%2Fair_home.git change user photo when icon is selected in icon list Change-Id: If611b801f7590843f1b83f1f85aaf51178cb9c39 Signed-off-by: Soohye Shin --- diff --git a/images/ic_user_profile_current_02_foc.png b/images/ic_user_profile_current_02_foc.png new file mode 100644 index 0000000..d03ea9f Binary files /dev/null and b/images/ic_user_profile_current_02_foc.png differ diff --git a/images/ic_user_profile_current_02_nor.png b/images/ic_user_profile_current_02_nor.png new file mode 100644 index 0000000..9cd9343 Binary files /dev/null and b/images/ic_user_profile_current_02_nor.png differ diff --git a/images/ic_user_profile_current_03_foc.png b/images/ic_user_profile_current_03_foc.png new file mode 100644 index 0000000..07dec2e Binary files /dev/null and b/images/ic_user_profile_current_03_foc.png differ diff --git a/images/ic_user_profile_current_03_nor.png b/images/ic_user_profile_current_03_nor.png new file mode 100644 index 0000000..8386344 Binary files /dev/null and b/images/ic_user_profile_current_03_nor.png differ diff --git a/images/ic_user_profile_current_04_foc.png b/images/ic_user_profile_current_04_foc.png new file mode 100644 index 0000000..7d4a39d Binary files /dev/null and b/images/ic_user_profile_current_04_foc.png differ diff --git a/images/ic_user_profile_current_04_nor.png b/images/ic_user_profile_current_04_nor.png new file mode 100644 index 0000000..48f15e6 Binary files /dev/null and b/images/ic_user_profile_current_04_nor.png differ diff --git a/images/ic_user_profile_current_05_foc.png b/images/ic_user_profile_current_05_foc.png new file mode 100644 index 0000000..a92c1a8 Binary files /dev/null and b/images/ic_user_profile_current_05_foc.png differ diff --git a/images/ic_user_profile_current_05_nor.png b/images/ic_user_profile_current_05_nor.png new file mode 100644 index 0000000..367fa13 Binary files /dev/null and b/images/ic_user_profile_current_05_nor.png differ diff --git a/images/ic_user_profile_current_06_foc.png b/images/ic_user_profile_current_06_foc.png new file mode 100644 index 0000000..88aa794 Binary files /dev/null and b/images/ic_user_profile_current_06_foc.png differ diff --git a/images/ic_user_profile_current_06_nor.png b/images/ic_user_profile_current_06_nor.png new file mode 100644 index 0000000..ad0da2d Binary files /dev/null and b/images/ic_user_profile_current_06_nor.png differ diff --git a/images/ic_user_profile_current_07_foc.png b/images/ic_user_profile_current_07_foc.png new file mode 100644 index 0000000..b892435 Binary files /dev/null and b/images/ic_user_profile_current_07_foc.png differ diff --git a/images/ic_user_profile_current_07_nor.png b/images/ic_user_profile_current_07_nor.png new file mode 100644 index 0000000..9b43c98 Binary files /dev/null and b/images/ic_user_profile_current_07_nor.png differ diff --git a/images/ic_user_profile_current_08_foc.png b/images/ic_user_profile_current_08_foc.png new file mode 100644 index 0000000..b5d2328 Binary files /dev/null and b/images/ic_user_profile_current_08_foc.png differ diff --git a/images/ic_user_profile_current_08_nor.png b/images/ic_user_profile_current_08_nor.png new file mode 100644 index 0000000..f0edf55 Binary files /dev/null and b/images/ic_user_profile_current_08_nor.png differ diff --git a/images/ic_user_profile_current_09_foc.png b/images/ic_user_profile_current_09_foc.png new file mode 100644 index 0000000..290b766 Binary files /dev/null and b/images/ic_user_profile_current_09_foc.png differ diff --git a/images/ic_user_profile_current_09_nor.png b/images/ic_user_profile_current_09_nor.png new file mode 100644 index 0000000..fac5315 Binary files /dev/null and b/images/ic_user_profile_current_09_nor.png differ diff --git a/include/defs.h b/include/defs.h index b817842..8c15615 100644 --- a/include/defs.h +++ b/include/defs.h @@ -134,6 +134,18 @@ #define IMAGE_USER_DEFAULT_07_FOCUS IMAGEDIR"/ic_user_07_foc.png" #define IMAGE_USER_CURRENT_DEFAULT IMAGEDIR"/ic_user_profile_current_01_nor.png" #define IMAGE_USER_CURRENT_DEFAULT_FOCUS IMAGEDIR"/ic_user_profile_current_01_foc.png" +#define IMAGE_USER_CURRENT_DEFAULT_02 IMAGEDIR"/ic_user_profile_current_02_nor.png" +#define IMAGE_USER_CURRENT_DEFAULT_02_FOCUS IMAGEDIR"/ic_user_profile_current_02_foc.png" +#define IMAGE_USER_CURRENT_DEFAULT_03 IMAGEDIR"/ic_user_profile_current_03_nor.png" +#define IMAGE_USER_CURRENT_DEFAULT_03_FOCUS IMAGEDIR"/ic_user_profile_current_03_foc.png" +#define IMAGE_USER_CURRENT_DEFAULT_04 IMAGEDIR"/ic_user_profile_current_04_nor.png" +#define IMAGE_USER_CURRENT_DEFAULT_04_FOCUS IMAGEDIR"/ic_user_profile_current_04_foc.png" +#define IMAGE_USER_CURRENT_DEFAULT_05 IMAGEDIR"/ic_user_profile_current_05_nor.png" +#define IMAGE_USER_CURRENT_DEFAULT_05_FOCUS IMAGEDIR"/ic_user_profile_current_05_foc.png" +#define IMAGE_USER_CURRENT_DEFAULT_06 IMAGEDIR"/ic_user_profile_current_06_nor.png" +#define IMAGE_USER_CURRENT_DEFAULT_06_FOCUS IMAGEDIR"/ic_user_profile_current_06_foc.png" +#define IMAGE_USER_CURRENT_DEFAULT_07 IMAGEDIR"/ic_user_profile_current_07_nor.png" +#define IMAGE_USER_CURRENT_DEFAULT_07_FOCUS IMAGEDIR"/ic_user_profile_current_07_foc.png" #define IMAGE_RECENT_DELETE_NOR IMAGEDIR"/btn_bar_clearall_nor.png" #define IMAGE_RECENT_DELETE_FOC IMAGEDIR"/btn_bar_clearall_foc.png" #define IMAGE_RECENT_DELETE_DIS IMAGEDIR"/btn_bar_clearall_dis.png" diff --git a/src/view/view_user_edit.c b/src/view/view_user_edit.c index 89bdc30..124d5b5 100644 --- a/src/view/view_user_edit.c +++ b/src/view/view_user_edit.c @@ -33,19 +33,18 @@ #define MESSAGE_ENTRY_NAME "User Name" #define MESSAGE_ENTRY_ACCOUNT "sample@tizen.com" #define MESSAGE_ENTRY_PIN "Pin code" +#define ICON_ADD "add" +#define KEY_ICON "icon" +#define KEY_FOCUS_ICON "focusicon" #define CTXPOPUP_X 294 #define CTXPOPUP_Y 310 -static const char *icon_info[][2] = { - { IMAGE_USER_DEFAULT, IMAGE_USER_DEFAULT_FOCUS }, - { IMAGE_USER_DEFAULT_02, IMAGE_USER_DEFAULT_02_FOCUS }, - { IMAGE_USER_DEFAULT_03, IMAGE_USER_DEFAULT_03_FOCUS }, - { IMAGE_USER_DEFAULT_04, IMAGE_USER_DEFAULT_04_FOCUS }, - { IMAGE_USER_DEFAULT_05, IMAGE_USER_DEFAULT_05_FOCUS }, - { IMAGE_USER_DEFAULT_06, IMAGE_USER_DEFAULT_06_FOCUS }, - { IMAGE_USER_DEFAULT_07, IMAGE_USER_DEFAULT_07_FOCUS }, - { IMAGE_USER_ADD, IMAGE_USER_ADD_FOCUS } +struct _icon_info { + const char *file; + const char *focus_file; + const char *message; + const char *focus_message; }; struct _priv { @@ -130,17 +129,51 @@ static void _unfocused(int id, void *data, Evas_Object *obj, elm_object_signal_emit(obj, SIG_UNFOCUS, SRC_PROG); } +static void _load_user_icon(struct _priv *priv, const char *file, + const char *focus_file) +{ + Evas_Object *icon, *focus_icon; + + icon = utils_add_icon(priv->photo, file, PART_USER_EDIT_PHOTO); + if (!icon) + _ERR("failed to add icon"); + + focus_icon = utils_add_icon(priv->photo, focus_file, + PART_USER_EDIT_PHOTO_FOCUS); + if (!focus_icon) + _ERR("failed to add focus icon"); + + priv->icon = icon; + priv->focus_icon = focus_icon; +} + static void _eo_key_down(int id, void *data, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev) { + struct _priv *priv; + const char *file, *focus_file; + + if (!data) + return; + + priv = data; + if (!strcmp(ev->keyname, KEY_BACK) || !strcmp(ev->keyname, KEY_BACK_REMOTE)) { - evas_object_del(data); + evas_object_del(priv->ctxpopup); + priv->ctxpopup = NULL; } else if (!strcmp(ev->keyname, KEY_ENTER) || !strcmp(ev->keyname, KEY_ENTER_REMOTE)) { - /* It should be implemented later */ - evas_object_del(data); - viewmgr_push_view(VIEW_PHOTO); + evas_object_del(priv->ctxpopup); + priv->ctxpopup = NULL; + + file = evas_object_data_get(obj, KEY_ICON); + focus_file = evas_object_data_get(obj, KEY_FOCUS_ICON); + + if (!strcmp(file, ICON_ADD) || !strcmp(focus_file, ICON_ADD)) + viewmgr_push_view(VIEW_PHOTO); + else + _load_user_icon(priv, file, focus_file); } } @@ -150,8 +183,7 @@ static input_handler icon_handler = { .key_down = _eo_key_down }; -static Evas_Object *_pack_icon(Evas_Object *table, const char *icon_file, - const char *focus_icon_file, int i) +static Evas_Object *_pack_icon(Evas_Object *table, struct _icon_info *icon_info, int i) { Evas_Object *eo, *ic, *focus_ic; @@ -163,20 +195,22 @@ static Evas_Object *_pack_icon(Evas_Object *table, const char *icon_file, evas_object_show(eo); elm_table_pack(table, eo, i % 4, i / 4, 1, 1); - ic = utils_add_icon(eo, icon_file, PART_USER_EDIT_ICON_LIST_ITEM); + ic = utils_add_icon(eo, icon_info->file, PART_USER_EDIT_ICON_LIST_ITEM); if (!ic) { _ERR("failed to add icon"); evas_object_del(eo); return NULL; } - focus_ic = utils_add_icon(eo, focus_icon_file, + focus_ic = utils_add_icon(eo, icon_info->focus_file, PART_USER_EDIT_ICON_LIST_ITEM_FOCUS); if (!focus_ic) { _ERR("failed to add focus icon"); evas_object_del(eo); return NULL; } + evas_object_data_set(eo, KEY_ICON, icon_info->message); + evas_object_data_set(eo, KEY_FOCUS_ICON, icon_info->focus_message); return eo; } @@ -186,6 +220,56 @@ static void _add_icon_list(struct _priv *priv) Evas_Coord x, y, w, h; Evas_Object *ctxpopup, *ly, *table, *eo; int i; + struct _icon_info icon_info[] = { + { + IMAGE_USER_DEFAULT, + IMAGE_USER_DEFAULT_FOCUS, + IMAGE_USER_CURRENT_DEFAULT, + IMAGE_USER_CURRENT_DEFAULT_FOCUS + }, + { + IMAGE_USER_DEFAULT_02, + IMAGE_USER_DEFAULT_02_FOCUS, + IMAGE_USER_CURRENT_DEFAULT_02, + IMAGE_USER_CURRENT_DEFAULT_02_FOCUS + }, + { + IMAGE_USER_DEFAULT_03, + IMAGE_USER_DEFAULT_03_FOCUS, + IMAGE_USER_CURRENT_DEFAULT_03, + IMAGE_USER_CURRENT_DEFAULT_03_FOCUS + }, + { + IMAGE_USER_DEFAULT_04, + IMAGE_USER_DEFAULT_04_FOCUS, + IMAGE_USER_CURRENT_DEFAULT_04, + IMAGE_USER_CURRENT_DEFAULT_04_FOCUS + }, + { + IMAGE_USER_DEFAULT_05, + IMAGE_USER_DEFAULT_05_FOCUS, + IMAGE_USER_CURRENT_DEFAULT_05, + IMAGE_USER_CURRENT_DEFAULT_05_FOCUS + }, + { + IMAGE_USER_DEFAULT_06, + IMAGE_USER_DEFAULT_06_FOCUS, + IMAGE_USER_CURRENT_DEFAULT_06, + IMAGE_USER_CURRENT_DEFAULT_06_FOCUS + }, + { + IMAGE_USER_DEFAULT_07, + IMAGE_USER_DEFAULT_07_FOCUS, + IMAGE_USER_CURRENT_DEFAULT_07, + IMAGE_USER_CURRENT_DEFAULT_07_FOCUS + }, + { + IMAGE_USER_ADD, + IMAGE_USER_ADD_FOCUS, + ICON_ADD, + ICON_ADD + } + }; ctxpopup = elm_ctxpopup_add(priv->base); if (!ctxpopup) { @@ -222,11 +306,11 @@ static void _add_icon_list(struct _priv *priv) EVAS_HINT_EXPAND); for (i = 0; i < sizeof(icon_info) / sizeof(*icon_info); i++) { - eo = _pack_icon(table, icon_info[i][0], icon_info[i][1], i); + eo = _pack_icon(table, &icon_info[i], i); if (!eo) continue; - inputmgr_add_callback(eo, 0, &icon_handler, ctxpopup); + inputmgr_add_callback(eo, 0, &icon_handler, priv); if (i == 0) elm_object_focus_set(eo, EINA_TRUE); } @@ -365,29 +449,6 @@ static Evas_Object *_create(Evas_Object *win, void *data) return base; } -static void _load_user_edit(struct _priv *priv) -{ - Evas_Object *icon, *focus_icon; - - /* check state of user edit */ - - elm_object_part_text_set(priv->base, PART_USER_EDIT_TITLE, - MESSAGE_ADD_USER); - icon = utils_add_icon(priv->photo, IMAGE_USER_CURRENT_DEFAULT, - PART_USER_EDIT_PHOTO); - if (!icon) - _ERR("failed to add icon"); - - focus_icon = utils_add_icon(priv->photo, - IMAGE_USER_CURRENT_DEFAULT_FOCUS, - PART_USER_EDIT_PHOTO_FOCUS); - if (!focus_icon) - _ERR("failed to add focus icon"); - - priv->icon = icon; - priv->focus_icon = focus_icon; -} - static void _show(void *data) { struct _priv *priv; @@ -400,8 +461,10 @@ static void _show(void *data) priv = data; evas_object_show(priv->base); - - _load_user_edit(priv); + elm_object_part_text_set(priv->base, PART_USER_EDIT_TITLE, + MESSAGE_ADD_USER); + _load_user_icon(priv, IMAGE_USER_CURRENT_DEFAULT, + IMAGE_USER_CURRENT_DEFAULT_FOCUS); } static void _hide(void *data)