#define SIG_UNFOCUSED "unfocused"
#define SIG_SELECTED "selected"
#define SIG_UNSELECTED "unselected"
-#define SIG_ITEM_FOCUSED "item_focused"
-#define SIG_ITEM_SELECTED "item_selected"
#define SIG_SOURCE_EDC "edc"
#define SIG_FAVORITE "favorite"
#define SIG_UNFAVORITE "unfavorite"
target, "part.focus.down";
target, "part.focus.right";
transition, TRANSITION_FOCUS;
- after, "item_focused";
}
program {
}
program {
- name, "item_focused";
- action, SIGNAL_EMIT SIG_ITEM_FOCUSED SIG_SOURCE_EDC;
- }
-
- program {
- name, "selected";
- signal, "elm,state,selected";
- source, "elm";
- action, SIGNAL_EMIT SIG_ITEM_SELECTED SIG_SOURCE_EDC;
- }
-
- program {
signal, "elm,state,is_browser,active";
source, "elm";
action, STATE_SET "visible" 0.0;
elm_object_item_focus_set(it, EINA_TRUE);
}
-static void _grid_item_selected_cb(void *data, Elm_Object_Item *it,
- const char *emission, const char *source)
+static void _grid_selected_cb(int id, void *data, Evas_Object *obj,
+ Elm_Object_Item *item)
{
struct app_data *adata;
- if (!it) {
+ if (!item) {
_ERR("Invalid argument.");
return;
}
- adata = elm_object_item_data_get(it);
+ adata = elm_object_item_data_get(item);
if (!utils_launch_app(get_app_id(adata), NULL, NULL))
_ERR("Launch app failed.");
-
- elm_gengrid_item_selected_set(it, EINA_FALSE);
-}
-
-static void _grid_realized_cb(int id, void *data, Evas_Object *obj,
- Elm_Object_Item *item)
-{
- if (!data || !item) {
- _ERR("Invalid argument.");
- return;
- }
-
- elm_object_item_signal_callback_add(item, SIG_ITEM_SELECTED,
- SIG_SOURCE_EDC, _grid_item_selected_cb, data);
-}
-
-static void _grid_unrealized_cb(int id, void *data, Evas_Object *obj,
- Elm_Object_Item *item)
-{
- if (!item) {
- _ERR("Invalid argument.");
- return;
- }
-
- elm_object_item_signal_callback_del(item, SIG_ITEM_SELECTED,
- SIG_SOURCE_EDC, _grid_item_selected_cb);
}
static input_handler _btn_input_handler = {
static input_handler _grid_input_handler = {
.mouse_move = _grid_mouse_move_cb,
- .realized = _grid_realized_cb,
- .unrealized = _grid_unrealized_cb,
+ .selected = _grid_selected_cb,
.key_down = _key_down_cb
};
priv = data;
elm_object_signal_emit(priv->focused_menu, SIG_SELECTED, SRC_MENU_BTN);
-}
-
-static void _grid_item_focused_cb(void *data, Elm_Object_Item *it,
- const char *emission, const char *source)
-{
- struct _priv *priv;
- if (!data || !it) {
- _ERR("Invalid argument.");
- return;
- }
- priv = data;
-
- priv->focused_item = it;
+ if (item)
+ priv->focused_item = item;
}
-static void _grid_item_selected_cb(void *data, Elm_Object_Item *it,
- const char *emission, const char *source)
+static void _grid_selected_cb(int id, void *data, Evas_Object *obj,
+ Elm_Object_Item *item)
{
struct app_data *adata;
- if (!it) {
+ if (!item) {
_ERR("Invalid argument.");
return;
}
- adata = elm_object_item_data_get(it);
+ adata = elm_object_item_data_get(item);
if (!utils_launch_app(get_app_id(adata), NULL, NULL))
_ERR("Launch app failed.");
adata = elm_object_item_data_get(item);
- elm_object_item_signal_callback_add(item, SIG_ITEM_FOCUSED,
- SIG_SOURCE_EDC, _grid_item_focused_cb, data);
- elm_object_item_signal_callback_add(item, SIG_ITEM_SELECTED,
- SIG_SOURCE_EDC, _grid_item_selected_cb, data);
-
if (get_app_favorite(adata, &isfavorite) && isfavorite)
elm_object_item_signal_emit(item, SIG_FAVORITE,
SRC_FAVORITE_ICON);
}
-static void _grid_unrealized_cb(int id, void *data, Evas_Object *obj,
- Elm_Object_Item *item)
-{
- if (!item) {
- _ERR("Invalid argument.");
- return;
- }
-
- elm_object_item_signal_callback_del(item, SIG_ITEM_FOCUSED,
- SIG_SOURCE_EDC, _grid_item_focused_cb);
- elm_object_item_signal_callback_del(item, SIG_ITEM_SELECTED,
- SIG_SOURCE_EDC, _grid_item_selected_cb);
-}
-
static void _grid_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
Evas_Event_Key_Down *ev)
{
static input_handler _grid_input_handler = {
.mouse_move = _grid_mouse_move_cb,
.focused = _grid_focused_cb,
+ .selected = _grid_selected_cb,
.realized = _grid_realized_cb,
- .unrealized = _grid_unrealized_cb,
.key_down = _grid_key_down_cb
};