Elm_Gengrid_Item_Class *grid_class;
};
+static void _base_key_up_cb(int id, void *data, Evas *e, Evas_Object *obj,
+ Evas_Event_Key_Up *ev);
static void _clear_key_up_cb(int id, void *data,
Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev);
static void _clear_mouse_up_cb(int id, void *data,
Evas *e, Evas_Object *obj, Evas_Event_Mouse_Up *ev);
+static input_handler base_handler = {
+ .key_up = _base_key_up_cb,
+};
static input_handler clear_handler = {
.key_up = _clear_key_up_cb,
.mouse_up = _clear_mouse_up_cb
evas_object_size_hint_weight_set(priv->base,
EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, priv->base);
+ elm_object_focus_allow_set(priv->base, EINA_TRUE);
+ inputmgr_add_callback(priv->base, 0, &base_handler, NULL);
scroller = elm_scroller_add(priv->base);
evas_object_size_hint_align_set(scroller, 0.0, 0.0);
.destroy = _destroy,
};
+static void _base_key_up_cb(int id, void *data, Evas *e, Evas_Object *obj,
+ Evas_Event_Key_Up *ev)
+{
+ if (!strcmp(ev->keyname, KEY_BACK) ||
+ !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
+ ui_app_exit();
+ }
+}
+
static void _clear_key_up_cb(int id, void *data, Evas *e,
Evas_Object *obj, Evas_Event_Key_Up *ev)
{
#define NOTIFICATION_ITEM_PADDING_Y 20
#define SIG_CHILD_REMOVED "child,removed"
+static void _base_key_up_cb(int id, void *data, Evas *e, Evas_Object *obj,
+ Evas_Event_Key_Up *ev);
static void _button_key_up_cb(int id, void *data,
Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev);
static void _button_mouse_up_cb(int id, void *data,
BUTTON_NOTIFICATION
};
+static input_handler base_handler = {
+ .key_up = _base_key_up_cb,
+};
static input_handler button_handler = {
.key_up = _button_key_up_cb,
.mouse_up = _button_mouse_up_cb
};
-
static input_handler scroller_handler = {
.focused = _scroller_focused_cb
};
_update_list(priv);
}
+static void _create_button(struct _priv *priv)
+{
+ priv->clear_btn = elm_layout_add(priv->base);
+ elm_layout_file_set(priv->clear_btn,
+ EDJEFILE, GRP_SQUARE_NOTIFICATION_CLEAR);
+ elm_object_focus_allow_set(priv->clear_btn, EINA_TRUE);
+ elm_object_part_content_set(priv->base,
+ PART_NOTIFICATION_CLEAR, priv->clear_btn);
+ evas_object_show(priv->clear_btn);
+ inputmgr_add_callback(priv->clear_btn,
+ BUTTON_CLEAR, &button_handler, NULL);
+
+ priv->launch_btn = elm_layout_add(priv->base);
+ elm_layout_file_set(priv->launch_btn,
+ EDJEFILE, GRP_NOTIFICATION_LAUNCH);
+ elm_object_focus_allow_set(priv->launch_btn, EINA_TRUE);
+ elm_object_part_content_set(priv->base,
+ PART_NOTIFICATION_LAUNCH, priv->launch_btn);
+ evas_object_show(priv->launch_btn);
+ elm_object_focus_set(priv->launch_btn, EINA_TRUE);
+ inputmgr_add_callback(priv->launch_btn,
+ BUTTON_LAUNCH, &button_handler, NULL);
+}
+
static Evas_Object *_create(Evas_Object *win, void *data)
{
struct _priv *priv;
evas_object_size_hint_weight_set(priv->base,
EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, priv->base);
+ inputmgr_add_callback(priv->base, 0, &base_handler, NULL);
scroller = elm_scroller_add(priv->base);
if (!scroller)
evas_object_smart_callback_add(priv->list, SIG_CHILD_REMOVED,
_child_removed_cb, NULL);
- priv->clear_btn = elm_layout_add(priv->base);
- elm_layout_file_set(priv->clear_btn,
- EDJEFILE, GRP_SQUARE_NOTIFICATION_CLEAR);
- elm_object_focus_allow_set(priv->clear_btn, EINA_TRUE);
- elm_object_part_content_set(priv->base,
- PART_NOTIFICATION_CLEAR, priv->clear_btn);
- evas_object_show(priv->clear_btn);
- inputmgr_add_callback(priv->clear_btn,
- BUTTON_CLEAR, &button_handler, NULL);
-
- priv->launch_btn = elm_layout_add(priv->base);
- elm_layout_file_set(priv->launch_btn,
- EDJEFILE, GRP_NOTIFICATION_LAUNCH);
- elm_object_focus_allow_set(priv->launch_btn, EINA_TRUE);
- elm_object_part_content_set(priv->base,
- PART_NOTIFICATION_LAUNCH, priv->launch_btn);
- evas_object_show(priv->launch_btn);
- inputmgr_add_callback(priv->launch_btn,
- BUTTON_LAUNCH, &button_handler, NULL);
+ _create_button(priv);
viewmgr_set_view_data(SQUARE_VIEW, priv);
free(priv);
}
+static void _base_key_up_cb(int id, void *data, Evas *e, Evas_Object *obj,
+ Evas_Event_Key_Up *ev)
+{
+ if (!strcmp(ev->keyname, KEY_BACK) ||
+ !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
+ ui_app_exit();
+ }
+}
+
static void _button_key_up_cb(int id, void *data, Evas *e,
Evas_Object *obj, Evas_Event_Key_Up *ev)
{