Setting->Clock - fixed focus losing on setup type dropdown 92/91092/1
authorRadek Kintop <r.kintop@samsung.com>
Wed, 5 Oct 2016 16:17:34 +0000 (18:17 +0200)
committerRadek Kintop <r.kintop@samsung.com>
Wed, 5 Oct 2016 16:17:34 +0000 (18:17 +0200)
Change-Id: I484b0dc68cb09860a1776c235083ec6b5b2c587c
Signed-off-by: Radek Kintop <r.kintop@samsung.com>
src/view/system/view_clock.c

index 02b0a75386e2634380c4b0f44becd383794e6be8..6a58cb6d700f9e68e4c05d3b4a10293e2a337168 100644 (file)
@@ -90,11 +90,14 @@ static void _cancel_mouse_cb(int id, void *data, Evas_Object *obj);
 static void _disable_manual_settings(bool disable, const clock_view_priv_data *priv);
 /* Helper to make time out of widgets values: */
 static void _get_time_from_controls(struct tm *result, const clock_view_priv_data *priv);
+/* When auto/manual setup dropdown is active, focus should be only on it*/
+static void _focused(int id, void *data, Evas_Object *obj, Elm_Object_Item *item);
 
 static input_handler _auto_manual_setup_input_handler = {
        .mouse_move = _auto_manual_mouse_move_cb,
        .key_down = _auto_manual_setup_key_down_cb,
-       .mouse_down = _auto_manual_setup_mouse_down_cb
+       .mouse_down = _auto_manual_setup_mouse_down_cb,
+       .focused = _focused
 };
 
 static input_handler _auto_manual_setup_option_selection_input_handler = {
@@ -176,7 +179,7 @@ static void _draw_setup_type_popup(clock_view_priv_data *priv)
 
        evas_object_geometry_get(priv->auto_manual_setup_btn, &x, &y, &w, &h);
        evas_object_move(ctxpopup, (x + w / 2), (y + h));
-       evas_object_resize(ctxpopup, w, 0);
+       evas_object_size_hint_min_set(ctxpopup, w, 0);
 
        priv->setup_type_popup = ctxpopup;
 
@@ -555,3 +558,10 @@ static void _get_time_from_controls(struct tm *result, const clock_view_priv_dat
        result->tm_sec = tmp.tm_sec;
        result->tm_isdst = -1;
 }
+
+static void _focused(int id, void *data, Evas_Object *obj, Elm_Object_Item *item)
+{
+       clock_view_priv_data *priv = data;
+       if (priv && priv->setup_type_popup)
+               elm_object_focus_set(priv->setup_type_popup, EINA_TRUE);
+}