summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyerim Kim <rimi.kim@samsung.com>2016-09-22 13:10:14 +0900
committerHyerim Kim <rimi.kim@samsung.com>2016-09-22 13:10:14 +0900
commitabf7945288515050c8de55a1e6fbd13653d65060 (patch)
treef92510658c109a899f3b9d66b311448b36b265b2
parentb29a4b760cc4492194e921eb18497859017100d1 (diff)
downloadair_home-abf7945288515050c8de55a1e6fbd13653d65060.tar.gz
air_home-abf7945288515050c8de55a1e6fbd13653d65060.tar.bz2
air_home-abf7945288515050c8de55a1e6fbd13653d65060.zip
Signed-off-by: Hyerim Kim <rimi.kim@samsung.com> Change-Id: I5f2f94fc5d73a94b15d6db199a1c28badb90ad90
-rwxr-xr-x[-rw-r--r--]src/view/view_user_edit.c50
1 files changed, 45 insertions, 5 deletions
diff --git a/src/view/view_user_edit.c b/src/view/view_user_edit.c
index 8bf533f..55d640e 100644..100755
--- a/src/view/view_user_edit.c
+++ b/src/view/view_user_edit.c
@@ -67,6 +67,8 @@ struct _priv {
Evas_Object *delete;
Eina_Bool locked;
+ Evas_Object *table_item[MAX_ITEM_COUNT];
+
char *selected_photo;
struct datamgr *dm;
@@ -276,7 +278,6 @@ static void _load_user_icon(struct _priv *priv, const char *file,
priv->icon = icon;
priv->focus_icon = focus_icon;
}
-
static Evas_Object *_pack_icon(Evas_Object *table, struct icon_info *_icon_info,
int i)
{
@@ -317,6 +318,35 @@ static void _dismissed(void *data, Evas_Object *obj, void *ei)
elm_object_focus_allow_set(priv->photo, EINA_TRUE);
}
+static void _set_focus_icon_list(struct _priv *priv)
+{
+ int i;
+
+ for (i = 0; i < MAX_ITEM_COUNT; i++) {
+ if (i/4 == 0) {
+ if (i == 0)
+ elm_object_focus_next_object_set(priv->table_item[i], priv->table_item[i+1], ELM_FOCUS_RIGHT);
+ else if (i == 3)
+ elm_object_focus_next_object_set(priv->table_item[i], priv->table_item[i-1], ELM_FOCUS_LEFT);
+ else {
+ elm_object_focus_next_object_set(priv->table_item[i], priv->table_item[i+1], ELM_FOCUS_RIGHT);
+ elm_object_focus_next_object_set(priv->table_item[i], priv->table_item[i-1], ELM_FOCUS_LEFT);
+ }
+ elm_object_focus_next_object_set(priv->table_item[i], priv->table_item[i+4], ELM_FOCUS_DOWN);
+ } else {
+ if (i == 4)
+ elm_object_focus_next_object_set(priv->table_item[i], priv->table_item[i+1], ELM_FOCUS_RIGHT);
+ else if (i == 7)
+ elm_object_focus_next_object_set(priv->table_item[i], priv->table_item[i-1], ELM_FOCUS_LEFT);
+ else {
+ elm_object_focus_next_object_set(priv->table_item[i], priv->table_item[i+1], ELM_FOCUS_RIGHT);
+ elm_object_focus_next_object_set(priv->table_item[i], priv->table_item[i-1], ELM_FOCUS_LEFT);
+ }
+ elm_object_focus_next_object_set(priv->table_item[i], priv->table_item[i-4], ELM_FOCUS_UP);
+ }
+ }
+}
+
static void _add_icon_list(struct _priv *priv)
{
Evas_Coord x, y, w, h;
@@ -331,6 +361,7 @@ static void _add_icon_list(struct _priv *priv)
}
elm_ctxpopup_horizontal_set(ctxpopup, EINA_TRUE);
elm_ctxpopup_auto_hide_disabled_set(ctxpopup, EINA_TRUE);
+ evas_object_resize(ctxpopup, 812,348);
evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed, priv);
ly = utils_add_layout(ctxpopup, GRP_USER_EDIT_ICON_LIST, false, NULL);
@@ -344,10 +375,7 @@ static void _add_icon_list(struct _priv *priv)
evas_object_show(ctxpopup);
evas_object_geometry_get(priv->photo, &x, &y, &w, &h);
- evas_object_move(ctxpopup,
- ELM_SCALE_SIZE(x + w + CTXPOPUP_X),
- ELM_SCALE_SIZE(y + CTXPOPUP_Y));
-
+ evas_object_move(ctxpopup, ELM_SCALE_SIZE(x + w), ELM_SCALE_SIZE(y-30));
table = utils_add_table(ly, true, PART_USER_EDIT_ICON_LIST);
if (!table) {
_ERR("failed to add table");
@@ -365,12 +393,19 @@ static void _add_icon_list(struct _priv *priv)
if (!eo)
continue;
+ priv->table_item[i] = eo;
inputmgr_add_callback(eo, INPUT_HANDLER_TYPE_EO, &handler,
priv);
if (i == 0)
elm_object_focus_set(eo, EINA_TRUE);
}
+ _set_focus_icon_list(priv);
+
+ elm_object_focus_allow_set(priv->name, EINA_FALSE);
+ elm_object_focus_allow_set(priv->delete, EINA_FALSE);
+ elm_object_focus_allow_set(priv->done, EINA_FALSE);
+ elm_object_focus_allow_set(priv->cancel, EINA_FALSE);
elm_object_focus_allow_set(priv->photo, EINA_FALSE);
priv->ctxpopup = ctxpopup;
}
@@ -486,7 +521,12 @@ static void _delete_ctxpopup(struct _priv *priv)
evas_object_del(priv->ctxpopup);
priv->ctxpopup = NULL;
+
+ elm_object_focus_allow_set(priv->name, EINA_TRUE);
elm_object_focus_allow_set(priv->photo, EINA_TRUE);
+ elm_object_focus_allow_set(priv->done, EINA_TRUE);
+ elm_object_focus_allow_set(priv->cancel, EINA_TRUE);
+ elm_object_focus_allow_set(priv->delete, EINA_TRUE);
}
static void _select_eo(struct _priv *priv, Evas_Object *obj)