[Genlist/list] Fix focus highlight problem
authorTae-Hwan Kim <the81.kim@samsung.com>
Mon, 3 Jun 2013 01:30:45 +0000 (10:30 +0900)
committerSungho Kwak <sungho1.kwak@samsung.com>
Wed, 12 Jun 2013 05:32:50 +0000 (14:32 +0900)
Check focus hilight enable when widget is focused.

Change-Id: I1acae5ac7b24aba812537dd6b41a0310ac4fb5d9

src/lib/elm_genlist.c
src/lib/elm_list.c

index 4a09694..bb5a3bf 100644 (file)
@@ -2978,30 +2978,34 @@ _elm_genlist_smart_on_focus(Evas_Object *obj)
      sd->last_selected_item = eina_list_data_get(sd->selected);
 
    if (sd->select_on_focus_enabled) return EINA_TRUE;
-   if (sd->focused )
+
+   if (elm_widget_focus_get(obj))
      {
-        if (!elm_widget_focus_get(obj))
+        if (elm_win_focus_highlight_enabled_get(elm_widget_top_get(obj)))
           {
-             edje_object_signal_emit
-                (VIEW(sd->focused), "elm,state,unfocused", "elm");
-             if (sd->focused->deco_all_view)
-                edje_object_signal_emit
-                   (sd->focused->deco_all_view, "elm,state,unfocused", "elm");
-          }
-        else
-          {
-             if (elm_win_focus_highlight_enabled_get(elm_widget_top_get(obj)))
+             if (sd->focused)
                {
                   edje_object_signal_emit
-                     (VIEW(sd->focused), "elm,state,focused", "elm");
+                    (VIEW(sd->focused), "elm,state,focused", "elm");
                   if (sd->focused->deco_all_view)
-                     edje_object_signal_emit
-                        (sd->focused->deco_all_view, "elm,state,focused", "elm");
+                    edje_object_signal_emit
+                       (sd->focused->deco_all_view, "elm,state,focused", "elm");
                }
+             else
+                _item_focused_next(sd, FOCUS_DIR_DOWN);
           }
      }
    else
-      _item_focused_next(sd, FOCUS_DIR_DOWN);
+     {
+        if (sd->focused)
+          {
+             edje_object_signal_emit
+                (VIEW(sd->focused), "elm,state,unfocused", "elm");
+             if (sd->focused->deco_all_view)
+                edje_object_signal_emit
+                   (sd->focused->deco_all_view, "elm,state,unfocused", "elm");
+          }
+     }
 
    return EINA_TRUE;
 }
index 436f89f..6d87fcb 100644 (file)
@@ -994,23 +994,25 @@ _elm_list_smart_on_focus(Evas_Object *obj)
      sd->last_selected_item = eina_list_data_get(sd->selected);
 
    if (sd->select_on_focus_enabled) return EINA_TRUE;
-   if (sd->focused)
+   if (elm_widget_focus_get(obj))
      {
-        if (!elm_widget_focus_get(obj))
+        if (elm_win_focus_highlight_enabled_get(elm_widget_top_get(obj)))
           {
-             edje_object_signal_emit
-               (VIEW(sd->focused), "elm,state,unfocused", "elm");
-          }
-        else
-          {
-             if (elm_win_focus_highlight_enabled_get(elm_widget_top_get(obj)))
-               edje_object_signal_emit
-                 (VIEW(sd->focused), "elm,state,focused", "elm");
+             if (sd->focused)
+               {
+                  edje_object_signal_emit
+                    (VIEW(sd->focused), "elm,state,focused", "elm");
+               }
+             else
+                _item_focused_next(sd, FOCUS_DIR_DOWN);
           }
      }
    else
-      _item_focused_next(sd, FOCUS_DIR_DOWN);
-
+     {
+        if (sd->focused)
+          edje_object_signal_emit
+            (VIEW(sd->focused), "elm,state,unfocused", "elm");
+     }
    return EINA_TRUE;
 }