View: Enable the grid to be focused when mouse moved 83/43883/1
authorHyojung Jo <hj903.jo@samsung.com>
Wed, 15 Jul 2015 04:52:14 +0000 (13:52 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Wed, 15 Jul 2015 04:52:14 +0000 (13:52 +0900)
Change-Id: I56d57cb79d1e1948e1a9ab0ea26fbe495e0b7f34
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
src/view/view_base.c

index 34f6234..4017d6e 100644 (file)
@@ -334,6 +334,25 @@ static void _sort_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
                ui_app_exit();
 }
 
+static void _grid_mouse_move_cb(int id, void *data, Evas *e, Evas_Object *obj,
+               Evas_Event_Mouse_Move *ev)
+{
+       Elm_Object_Item *it;
+
+       if (!obj || !ev) {
+               _ERR("Invalid argument.");
+               return;
+       }
+
+       it = elm_gengrid_at_xy_item_get(obj, ev->cur.canvas.x,
+                       ev->cur.canvas.y, NULL, NULL);
+       if (!it)
+               return;
+
+       if (!elm_object_item_focus_get(it))
+               elm_object_item_focus_set(it, EINA_TRUE);
+}
+
 static void _grid_focused_cb(int id, void *data, Evas_Object *obj,
                Elm_Object_Item *item)
 {
@@ -460,6 +479,7 @@ static input_handler _sort_input_handler = {
 };
 
 static input_handler _grid_input_handler = {
+       .mouse_move = _grid_mouse_move_cb,
        .focused = _grid_focused_cb,
        .realized = _grid_realized_cb,
        .unrealized = _grid_unrealized_cb,
@@ -534,6 +554,7 @@ static bool _draw_bottom_area(struct _priv *priv)
        elm_object_focus_next_object_set(btn, btn, ELM_FOCUS_DOWN);
        elm_object_focus_next_object_set(btn, btn, ELM_FOCUS_RIGHT);
        elm_object_focus_next_object_set(btn, btn, ELM_FOCUS_LEFT);
+       elm_object_focus_next_object_set(btn, priv->grid, ELM_FOCUS_UP);
 
        priv->sort_btn = btn;