Fix focusable text check logic 98/98598/1 accepted/tizen/common/20161118.184410 accepted/tizen/ivi/20161121.012641 accepted/tizen/mobile/20161121.012459 accepted/tizen/tv/20161121.012536 accepted/tizen/wearable/20161121.012610 submit/tizen/20161118.092204
authorKwangyoun Kim <ky85.kim@samsung.com>
Fri, 18 Nov 2016 01:49:05 +0000 (10:49 +0900)
committerKwangyoun Kim <ky85.kim@samsung.com>
Fri, 18 Nov 2016 01:49:30 +0000 (10:49 +0900)
Change-Id: I3d5ba3fd53342645611348b702255fef6d057ef4

src/vc_elm_efl_dump.c
src/vc_elm_widget_wrapper.c

index 9a1fd11..e25e882 100644 (file)
@@ -297,7 +297,7 @@ next:
 }
 
 static void
-_obj_tree_items_exclude_unfocusable_text(Ea_Util_Mgr *util_mgr, Evas_Object *obj, Object_Info *parent, Eina_Bool parent_widget_focusable)
+_obj_tree_items_exclude_unfocusable_text(Ea_Util_Mgr *util_mgr, Evas_Object *obj, Object_Info *parent, Eina_Bool parent_widget_focusable, Eina_Bool list_type)
 {
        Eina_List *children = NULL, *l = NULL;
        Evas_Object *child, *smart_parent_obj = NULL;
@@ -323,7 +323,7 @@ _obj_tree_items_exclude_unfocusable_text(Ea_Util_Mgr *util_mgr, Evas_Object *obj
        if (is_clip) goto next;
 
        if (!strcmp(evas_object_type_get(obj), "text") || !strcmp(evas_object_type_get(obj), "textblock")) {
-               if (!parent_widget_focusable) goto next;
+               if (!parent_widget_focusable && !list_type) goto next;
        }
 
        object_info = calloc(1, sizeof(Object_Info));
@@ -351,6 +351,10 @@ _obj_tree_items_exclude_unfocusable_text(Ea_Util_Mgr *util_mgr, Evas_Object *obj
                        parent_widget_focusable = EINA_FALSE;
                }
        }
+       if (!list_type) {
+           if (evas_object_type_match(obj, "elm_genlist") || evas_object_type_match(obj, "elm_gengrid") || evas_object_type_match(obj, "elm_list"))
+             list_type = EINA_TRUE;
+        }
 
        // evas object type check
        if (evas_object_is_swallow_rect(obj)) {
@@ -442,7 +446,7 @@ next:
        if (!evas_object_type_match(obj, "rectangle") && !evas_object_type_match(obj, "text") && !evas_object_type_match(obj, "image")) {
                children = evas_object_smart_members_get(obj);
                EINA_LIST_FREE(children, child)
-                       _obj_tree_items_exclude_unfocusable_text(util_mgr, child, object_info, parent_widget_focusable);
+                       _obj_tree_items_exclude_unfocusable_text(util_mgr, child, object_info, parent_widget_focusable, list_type);
        }
 }
 
@@ -564,7 +568,7 @@ _object_tree(Ea_Util_Mgr *util_mgr, int val, Eina_Bool exclude_unfocusable_text)
        if (val == 1) {
                if (exclude_unfocusable_text) {
                        EINA_LIST_FREE(objs, obj)
-                               _obj_tree_items_exclude_unfocusable_text(util_mgr, obj, NULL, EINA_FALSE);
+                               _obj_tree_items_exclude_unfocusable_text(util_mgr, obj, NULL, EINA_FALSE, EINA_FALSE);
                } else {
                        EINA_LIST_FREE(objs, obj)
                                _obj_tree_items(util_mgr, obj, NULL);
@@ -673,50 +677,42 @@ ea_object_dump_find_data(Eina_List *list, const char *str1, const char *str2)
        if (!str1 || !str2) return NULL;
 
        if (!strcmp(str1, "type")) {
-               EINA_LIST_FOREACH(list, l, data)
-               {
+               EINA_LIST_FOREACH(list, l, data) {
                        if (data->type)
                                if (!strcmp(data->type, str2)) ret_data_list = eina_list_append(ret_data_list, data);
                }
        } else if (!strcmp(str1, "edje_file")) {
-               EINA_LIST_FOREACH(list, l, data)
-               {
+               EINA_LIST_FOREACH(list, l, data) {
                        if (data->edje_file)
                                if (!strcmp(data->edje_file, str2)) ret_data_list = eina_list_append(ret_data_list, data);
                }
        } else if (!strcmp(str1, "group")) {
-               EINA_LIST_FOREACH(list, l, data)
-               {
+               EINA_LIST_FOREACH(list, l, data) {
                        if (data->group)
                                if (!strcmp(data->group, str2)) ret_data_list = eina_list_append(ret_data_list, data);
                }
        } else if (!strcmp(str1, "image_name")) {
-               EINA_LIST_FOREACH(list, l, data)
-               {
+               EINA_LIST_FOREACH(list, l, data) {
                        if (data->image_name)
                                if (!strcmp(data->image_name, str2)) ret_data_list = eina_list_append(ret_data_list, data);
                }
        } else if (!strcmp(str1, "color_class")) {
-               EINA_LIST_FOREACH(list, l, data)
-               {
+               EINA_LIST_FOREACH(list, l, data) {
                        if (data->color_class)
                                if (!strcmp(data->color_class, str2)) ret_data_list = eina_list_append(ret_data_list, data);
                }
        } else if (!strcmp(str1, "part_name")) {
-               EINA_LIST_FOREACH(list, l, data)
-               {
+               EINA_LIST_FOREACH(list, l, data) {
                        if (data->part_name)
                                if (!strcmp(data->part_name, str2)) ret_data_list = eina_list_append(ret_data_list, data);
                }
        } else if (!strcmp(str1, "part_state")) {
-               EINA_LIST_FOREACH(list, l, data)
-               {
+               EINA_LIST_FOREACH(list, l, data) {
                        if (data->part_state)
                                if (!strcmp(data->part_state, str2)) ret_data_list = eina_list_append(ret_data_list, data);
                }
        } else if (!strcmp(str1, "text")) {
-               EINA_LIST_FOREACH(list, l, data)
-               {
+               EINA_LIST_FOREACH(list, l, data) {
                        if (data->text)
                                if (!strcmp(data->text, str2)) ret_data_list = eina_list_append(ret_data_list, data);
                }
index 2841c84..b36b929 100644 (file)
@@ -127,7 +127,7 @@ int _vc_elm_widget_wrapper_deinitialize()
 static bool __cb(vc_cmd_h vc_command, void *user_data)
 {
        char *cmd = NULL;
-       vc_cmd_format_e type;
+       int type;
        (void)user_data;
 
        vc_cmd_get_format(vc_command, &type);
@@ -274,7 +274,7 @@ static void __vc_result_cb(vc_result_event_e event, vc_cmd_list_h vc_cmd_list, c
        vc_cmd_h vc_command = NULL;
        char *cmd_name = NULL;
        int ret = 0;
-       vc_cmd_format_e type;
+       int type;
        (void)user_data;
        (void)result;
        if (event != VC_RESULT_EVENT_RESULT_SUCCESS)