summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinkyu Kang <mk7.kang@samsung.com>2015-08-08 17:54:56 +0900
committerMinkyu Kang <mk7.kang@samsung.com>2015-08-08 17:54:56 +0900
commita45e3f59036b47fd99c661b09f047dbab33f7d43 (patch)
tree57696f6412f7e4f712ec32c759e26a6cf6d52ed6
parentea8bb99e37142a45c949a8b313a0e514425e5dfd (diff)
downloadair_mediahub-a45e3f59036b47fd99c661b09f047dbab33f7d43.tar.gz
air_mediahub-a45e3f59036b47fd99c661b09f047dbab33f7d43.tar.bz2
air_mediahub-a45e3f59036b47fd99c661b09f047dbab33f7d43.zip
Change-Id: I88bd4b429ef258057fc1bddb63d54235e8d3cfef Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
-rw-r--r--include/util/listmgr.h2
-rw-r--r--include/view.h2
-rw-r--r--src/layout/gallery.c5
-rw-r--r--src/layout/movie.c5
-rw-r--r--src/layout/music.c5
-rw-r--r--src/util/listmgr.c36
-rw-r--r--src/view/base.c34
7 files changed, 41 insertions, 48 deletions
diff --git a/include/util/listmgr.h b/include/util/listmgr.h
index 48f21fe..1f12061 100644
--- a/include/util/listmgr.h
+++ b/include/util/listmgr.h
@@ -57,4 +57,6 @@ bool listmgr_update_play_info(struct listmgr *lmgr, app_media_info *info);
bool listmgr_focus_content_list(struct listmgr *lmgr, int index, bool update);
bool listmgr_focus_play_info(struct listmgr *lmgr);
+void listmgr_set_focus_state(struct listmgr *lmgr, Eina_Bool state);
+
#endif /* __AIR_MEDIAHUB_LISTMGR_H__ */
diff --git a/include/view.h b/include/view.h
index 30a8a47..ebb5a0e 100644
--- a/include/view.h
+++ b/include/view.h
@@ -40,7 +40,7 @@ enum update_type {
UPDATE_PLAYER,
UPDATE_FAVORITE,
UPDATE_RECENT,
- UPDATE_RESUME,
+ UPDATE_FOCUS_STATE,
};
#endif /* __AIR_MEDIAHUB_VIEW_H__ */
diff --git a/src/layout/gallery.c b/src/layout/gallery.c
index 28db18e..c6a4086 100644
--- a/src/layout/gallery.c
+++ b/src/layout/gallery.c
@@ -450,9 +450,8 @@ static void _update(void *layout_data, int update_type, void *data)
_update_content_list(priv);
_recent_item_selected(priv, data);
break;
- case UPDATE_RESUME:
- listmgr_focus_content_list(priv->listmgr,
- priv->cur_index, false);
+ case UPDATE_FOCUS_STATE:
+ listmgr_set_focus_state(priv->listmgr, EINA_FALSE);
break;
default:
break;
diff --git a/src/layout/movie.c b/src/layout/movie.c
index 28f49f4..b863c90 100644
--- a/src/layout/movie.c
+++ b/src/layout/movie.c
@@ -699,9 +699,8 @@ static void _update(void *layout_data, int update_type, void *data)
_update_content_list(priv);
_recent_item_selected(priv, data);
break;
- case UPDATE_RESUME:
- listmgr_focus_content_list(priv->listmgr,
- priv->cur_index, false);
+ case UPDATE_FOCUS_STATE:
+ listmgr_set_focus_state(priv->listmgr, EINA_FALSE);
break;
default:
break;
diff --git a/src/layout/music.c b/src/layout/music.c
index bbf637a..30ecc98 100644
--- a/src/layout/music.c
+++ b/src/layout/music.c
@@ -628,9 +628,8 @@ static void _update(void *layout_data, int update_type, void *data)
_update_content_list(priv);
_recent_item_selected(priv, data);
break;
- case UPDATE_RESUME:
- listmgr_focus_content_list(priv->listmgr,
- priv->cur_index, false);
+ case UPDATE_FOCUS_STATE:
+ listmgr_set_focus_state(priv->listmgr, EINA_FALSE);
break;
default:
break;
diff --git a/src/util/listmgr.c b/src/util/listmgr.c
index 84eb251..0c4269b 100644
--- a/src/util/listmgr.c
+++ b/src/util/listmgr.c
@@ -50,7 +50,7 @@ struct listmgr {
struct listmgr_data *data;
Eina_Bool show_play_info;
- Eina_Bool scr_focus;
+ Eina_Bool focus_state;
};
static void _key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
@@ -66,9 +66,9 @@ static void _key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
switch (id) {
case LISTMGR_INDEX:
if (!strcmp(ev->keyname, KEY_BACK) ||
- !strcmp(ev->keyname, KEY_BACK_REMOTE))
+ !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
elm_object_focus_next(obj, ELM_FOCUS_UP);
- else if (!strcmp(ev->keyname, KEY_DOWN)) {
+ } else if (!strcmp(ev->keyname, KEY_DOWN)) {
Evas_Object *grid;
Elm_Object_Item *it;
@@ -109,7 +109,7 @@ static void _mouse_move_cb(int id, void *data, Evas *e, Evas_Object *obj,
case LISTMGR_INDEX:
case LISTMGR_PLAY_INFO:
if (!elm_object_focus_get(obj)) {
- lmgr->scr_focus = EINA_FALSE;
+ lmgr->focus_state = EINA_TRUE;
elm_object_focus_set(obj, EINA_TRUE);
}
@@ -122,9 +122,8 @@ static void _mouse_move_cb(int id, void *data, Evas *e, Evas_Object *obj,
return;
if (!elm_object_item_focus_get(it)) {
- lmgr->scr_focus = EINA_FALSE;
+ lmgr->focus_state = EINA_TRUE;
elm_object_item_focus_set(it, EINA_TRUE);
- lmgr->scr_focus = EINA_TRUE;
}
break;
@@ -160,7 +159,7 @@ static void _focused_cb(int id, void *data, Evas_Object *obj,
switch (id) {
case LISTMGR_SCROLLER:
- if (!lmgr->scr_focus)
+ if (lmgr->focus_state)
break;
btn = elm_object_part_content_get(lmgr->focused,
@@ -170,15 +169,14 @@ static void _focused_cb(int id, void *data, Evas_Object *obj,
return;
}
+ lmgr->focus_state = EINA_TRUE;
elm_object_focus_set(btn, EINA_TRUE);
break;
case LISTMGR_INDEX:
case LISTMGR_PLAY_INFO:
case LISTMGR_GRID:
- lmgr->focused = elm_object_parent_widget_get(obj);
- lmgr->scr_focus = EINA_TRUE;
-
+ lmgr->focused = elm_object_parent_widget_get(obj);
elm_object_signal_emit(lmgr->data->menu_btn, SIG_BTN_SELECTED,
SIG_SOURCE_SRC);
break;
@@ -389,12 +387,22 @@ bool _focus_to_content(struct listmgr *lmgr, Evas_Object *base)
return false;
}
- lmgr->scr_focus = EINA_FALSE;
+ lmgr->focus_state = EINA_TRUE;
elm_object_focus_set(content, EINA_TRUE);
return true;
}
+void listmgr_set_focus_state(struct listmgr *lmgr, Eina_Bool state)
+{
+ if (!lmgr) {
+ _ERR("failed to get listmgr");
+ return;
+ }
+
+ lmgr->focus_state = state;
+}
+
bool listmgr_focus_play_info(struct listmgr *lmgr)
{
if (!lmgr) {
@@ -456,7 +464,7 @@ bool listmgr_focus_content_list(struct listmgr *lmgr, int index, bool update)
elm_gengrid_item_bring_in(it, ELM_GENGRID_ITEM_SCROLLTO_MIDDLE);
- lmgr->scr_focus = EINA_FALSE;
+ lmgr->focus_state = EINA_TRUE;
elm_object_item_focus_set(it, EINA_TRUE);
return true;
@@ -620,9 +628,9 @@ struct listmgr *listmgr_create(Evas_Object *base, void *data)
lmgr->base = base;
lmgr->gmgr = gmgr;
- lmgr->data = (struct listmgr_data *)data;
+ lmgr->data = data;
lmgr->show_play_info = EINA_FALSE;
- lmgr->scr_focus = EINA_TRUE;
+ lmgr->focus_state = EINA_FALSE;
return lmgr;
}
diff --git a/src/view/base.c b/src/view/base.c
index 928dde1..6f18cdd 100644
--- a/src/view/base.c
+++ b/src/view/base.c
@@ -124,13 +124,6 @@ static void _focused_cb(int id, void *data, Evas_Object *obj,
priv = data;
- if (priv->focused_btn == obj)
- return;
-
- if (priv->focused_btn)
- elm_object_signal_emit(priv->focused_btn, SIG_BTN_UNSELECTED,
- SIG_SOURCE_SRC);
-
for (i = 0; i < E_LAYOUT_MAX; i++) {
if (priv->btn[i] == obj)
break;
@@ -139,6 +132,16 @@ static void _focused_cb(int id, void *data, Evas_Object *obj,
if (i == E_LAYOUT_MAX)
return;
+ layoutmgr_update_layout(priv->lmgr, g_menu_item[i].layout_id,
+ UPDATE_FOCUS_STATE, NULL);
+
+ if (priv->focused_btn == obj)
+ return;
+
+ if (priv->focused_btn)
+ elm_object_signal_emit(priv->focused_btn, SIG_BTN_UNSELECTED,
+ SIG_SOURCE_SRC);
+
_set_current_layout(priv, i);
layoutmgr_update_layout(priv->lmgr, g_menu_item[i].layout_id,
@@ -594,22 +597,6 @@ static void _pause(void *view_data)
viewmgr_update_view(VIEW_MPLAYER, UPDATE_PLAYER, NULL);
}
-static void _resume(void *view_data)
-{
- struct _priv *priv;
-
- if (!view_data) {
- _ERR("failed to get view data");
- return;
- }
-
- priv = view_data;
-
- layoutmgr_update_layout(priv->lmgr,
- g_menu_item[priv->current_layout].layout_id,
- UPDATE_RESUME, NULL);
-}
-
static void _destroy(void *view_data)
{
struct _priv *priv;
@@ -648,7 +635,6 @@ static view_class _vclass = {
.hide = _hide,
.update = _update,
.pause = _pause,
- .resume = _resume,
.destroy = _destroy,
};