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,
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;
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);
}
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;
switch (id) {
case LISTMGR_SCROLLER:
- if (!lmgr->scr_focus)
+ if (lmgr->focus_state)
break;
btn = elm_object_part_content_get(lmgr->focused,
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;
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) {
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;
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;
}
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;
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,
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;
.hide = _hide,
.update = _update,
.pause = _pause,
- .resume = _resume,
.destroy = _destroy,
};