priv->channel_info = NULL;
}
- inputmgr_remove_callback(priv->base, &key_handler);
elm_layout_signal_callback_del(priv->base, SIGNAL_HIDE_FINISHED,
SOURCE_ELM, _hide_finished_cb);
if (priv->tune_timer)
ecore_timer_del(priv->tune_timer);
- inputmgr_remove_callback(priv->base, &key_handler);
elm_layout_signal_callback_del(priv->base, SIGNAL_HIDE_FINISHED,
SOURCE_ELM, _hide_finished_cb);
elm_layout_signal_callback_del(priv->base, SIGNAL_ANIM_FINISHED,
.mouse_move = _mouse_move_cb,
};
-static void _release_channel_handler(Evas_Object *obj)
-{
- Eina_List *child, *l;
- Evas_Object *ly;
-
- if (!obj)
- return;
-
- child = elm_box_children_get(obj);
-
- EINA_LIST_FOREACH(child, l, ly)
- inputmgr_remove_callback(ly, &channel_handler);
-
- if (child)
- eina_list_free(child);
-}
-
static void _load_channel_list(struct _priv *priv, Eina_List *channel_list)
{
Evas_Object *ly, *divider, *first;
DIVIDER_WIDTH, DIVIDER_HEIGHT);
evas_object_show(divider);
- _release_channel_handler(priv->box);
elm_box_clear(priv->box);
first = NULL;
priv = layout_data;
- _release_channel_handler(priv->box);
-
evas_object_del(priv->base);
free(priv);
}
#define FAVORITE_MAX 10
#define SCROLLER_STEP_SIZE 334
-#define TAG_FAVORITE "TAG_FAVORITE"
#define KEY_BUTTON "KEY_BUTTON"
#define STYLE_LIVETV_BTN "style.livetv.button"
channel_list = tv_channel_get_favorite_list();
- inputmgr_remove_all_by_tag(TAG_FAVORITE);
elm_box_clear(priv->favorite);
if (!channel_list) {
inputmgr_add_callback(btn, channel_info->service_id,
&favorite_handler, NULL);
- inputmgr_set_tags(btn, VIEW_ACTION_MENU, TAG_FAVORITE, NULL);
elm_box_pack_end(priv->favorite, btn);
evas_object_data_set(btn, KEY_BUTTON, &buttons[i]);
inputmgr_add_callback(btn, buttons[i].id,
&button_handler, priv);
- inputmgr_set_tags(btn, VIEW_ACTION_MENU);
col = i % ITEMS_IN_ROW;
row = i / ITEMS_IN_ROW;
}
inputmgr_add_callback(btn, BUTTON_MORE,
&button_handler, priv);
- inputmgr_set_tags(btn, VIEW_ACTION_MENU);
return true;
}
viewmgr_set_view_data(VIEW_ACTION_MENU, priv);
inputmgr_add_callback(priv->base, 0, &key_handler, priv);
- inputmgr_set_tags(priv->base, VIEW_ACTION_MENU);
elm_layout_signal_callback_add(priv->base, SIGNAL_HIDE_FINISHED,
SOURCE_ELM, _hide_finished_cb, priv);
elm_layout_signal_callback_del(priv->base, SIGNAL_HIDE_FINISHED,
SOURCE_ELM, _hide_finished_cb);
- inputmgr_remove_all_by_tag(VIEW_ACTION_MENU);
evas_object_del(priv->base);
.focused = _channel_focused_cb,
};
-static void _release_channel_handler(Evas_Object *obj)
-{
- Eina_List *child, *l;
- Evas_Object *ly;
-
- if (!obj)
- return;
-
- child = elm_box_children_get(obj);
-
- EINA_LIST_FOREACH(child, l, ly)
- inputmgr_remove_callback(ly, &channel_handler);
-
- if (child)
- eina_list_free(child);
-}
-
static void _update_channel_list(struct _priv *priv)
{
Evas_Object *ly, *first;
channel_list = tv_channel_search_by_number(priv->major, priv->minor);
- _release_channel_handler(priv->list);
elm_box_clear(priv->list);
if (!channel_list) {
priv->major = 0;
priv->minor = 0;
- _release_channel_handler(priv->list);
elm_box_clear(priv->list);
}
priv = view_data;
- inputmgr_remove_callback(priv->base, &key_handler);
-
evas_object_del(priv->base);
free(priv);