From 5483aedbc9c9a8681f7688b22003135f9d8d6e44 Mon Sep 17 00:00:00 2001 From: Prasoon Singh Date: Sat, 23 Jul 2016 20:50:20 +0530 Subject: [PATCH] [atspi] Made changes for genlist as per latest UX and removed redundant code Change-Id: Ieeb59364e3e6db9755f80429cabaea6a0e650c18 --- src/lib/elm_genlist.c | 88 ++++++++++---------------------------------- src/mobile_lib/elm_genlist.c | 88 ++++++++++---------------------------------- 2 files changed, 40 insertions(+), 136 deletions(-) diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index c67ad10..6cb205a 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c @@ -8099,6 +8099,21 @@ _elm_genlist_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, if (ret) return ret; Elm_Genlist_Item_Type genlist_item_type = elm_genlist_item_type_get(eo_it); + //TIZEN ONLY (160609) : Added in order to read when group item contain checkbox, sub text and normal as per UX guide 0.3. + Eina_List *children = NULL, *l; + Eo *item; + Eina_Bool flag_contain_checkbox = EINA_FALSE; + eo_do(eo_it, children = elm_interface_atspi_accessible_children_get()); + EINA_LIST_FOREACH(children, l, item) + { + if (eo_isa((item), ELM_CHECK_CLASS)) + { + flag_contain_checkbox = EINA_TRUE; + break; + } + } + // + buf = eina_strbuf_new(); if (it->itc->func.text_get) @@ -8106,12 +8121,6 @@ _elm_genlist_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Eina_List *texts; const char *key; - //TIZEN ONLY (160609) : Added in order to read when group item contain checkbox, sub text and normal as per UX guide 0.3. - Eina_Bool flag_contain_checkbox = EINA_FALSE; - Eina_Bool flag_group_index = EINA_FALSE; - Eina_Bool flag_group_title = EINA_FALSE; - Eina_Bool flag_sub_title = EINA_FALSE; - texts = elm_widget_stringlist_get(edje_object_data_get(VIEW(it), "texts")); @@ -8121,77 +8130,20 @@ _elm_genlist_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, ((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key); char *str_utf8 = _elm_util_mkup_to_text(str_markup); free(str_markup); - if(str_utf8) - { - free(str_utf8); - if(elm_genlist_item_type_get(eo_it) == ELM_GENLIST_ITEM_GROUP || (genlist_item_type & ELM_GENLIST_ITEM_TREE)) - { - Eina_List *child = NULL; - eo_do(eo_it,child = elm_interface_atspi_accessible_children_get()); - for ( ; child != NULL; child = child->next) - { - if (EINA_UNLIKELY(!eo_isa((child), ELM_CHECK_CLASS))) - { - flag_contain_checkbox = EINA_TRUE; - break; - } - } - if(!flag_contain_checkbox) - { - flag_group_index = EINA_TRUE; - if(!strcmp(key, "elm.text")) - { - flag_group_title = EINA_TRUE; - } - else if(!strcmp(key, "elm.text.end")) - { - flag_sub_title = EINA_TRUE; - } - } - } - } - } - // - - texts = - elm_widget_stringlist_get(edje_object_data_get(VIEW(it), "texts")); - - EINA_LIST_FREE(texts, key) - { - char *str_markup = it->itc->func.text_get - ((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key); - char *str_utf8 = _elm_util_mkup_to_text(str_markup); - - free(str_markup); - - //TIZEN ONLY (160609) : Added in order to read when group item contain checkbox, sub text and normal as per UX guide 0.3 if (str_utf8) { if (eina_strbuf_length_get(buf) > 0) eina_strbuf_append(buf, ", "); eina_strbuf_append(buf, str_utf8); free(str_utf8); - - if(!flag_contain_checkbox) - { - if(flag_group_title && !flag_sub_title) - { - eina_strbuf_append(buf,", group index"); - } - else if(flag_group_title) - { - eina_strbuf_append(buf,", group index title"); - flag_group_title = EINA_FALSE; - } - else if(flag_sub_title) - { - eina_strbuf_append(buf,", subtext"); - } - } } - // } } + //TIZEN ONLY (160609) : Added in order to read when group item contain checkbox, sub text and normal as per UX guide 0.3. + if (((genlist_item_type & ELM_GENLIST_ITEM_GROUP) || (genlist_item_type & ELM_GENLIST_ITEM_TREE)) && !flag_contain_checkbox) + eina_strbuf_append(buf,", header"); + // + ret = eina_strbuf_string_steal(buf); eina_strbuf_free(buf); return ret; diff --git a/src/mobile_lib/elm_genlist.c b/src/mobile_lib/elm_genlist.c index 1c8b676..6402845 100644 --- a/src/mobile_lib/elm_genlist.c +++ b/src/mobile_lib/elm_genlist.c @@ -7923,6 +7923,21 @@ _elm_genlist_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, if (ret) return ret; Elm_Genlist_Item_Type genlist_item_type = elm_genlist_item_type_get(eo_it); + //TIZEN ONLY (160609) : Added in order to read when group item contain checkbox, sub text and normal as per UX guide 0.3. + Eina_List *children = NULL, *l; + Eo *item; + Eina_Bool flag_contain_checkbox = EINA_FALSE; + eo_do(eo_it, children = elm_interface_atspi_accessible_children_get()); + EINA_LIST_FOREACH(children, l, item) + { + if (eo_isa((item), ELM_CHECK_CLASS)) + { + flag_contain_checkbox = EINA_TRUE; + break; + } + } + // + buf = eina_strbuf_new(); if (it->itc->func.text_get) @@ -7930,12 +7945,6 @@ _elm_genlist_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Eina_List *texts; const char *key; - //TIZEN ONLY (160609) : Added in order to read when group item contain checkbox, sub text and normal as per UX guide 0.3. - Eina_Bool flag_contain_checkbox = EINA_FALSE; - Eina_Bool flag_group_index = EINA_FALSE; - Eina_Bool flag_group_title = EINA_FALSE; - Eina_Bool flag_sub_title = EINA_FALSE; - texts = elm_widget_stringlist_get(edje_object_data_get(VIEW(it), "texts")); @@ -7945,77 +7954,20 @@ _elm_genlist_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, ((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key); char *str_utf8 = _elm_util_mkup_to_text(str_markup); free(str_markup); - if(str_utf8) - { - free(str_utf8); - if(elm_genlist_item_type_get(eo_it) == ELM_GENLIST_ITEM_GROUP || (genlist_item_type & ELM_GENLIST_ITEM_TREE)) - { - Eina_List *child = NULL; - eo_do(eo_it,child = elm_interface_atspi_accessible_children_get()); - for ( ; child != NULL; child = child->next) - { - if (EINA_UNLIKELY(!eo_isa((child), ELM_CHECK_CLASS))) - { - flag_contain_checkbox = EINA_TRUE; - break; - } - } - if(!flag_contain_checkbox) - { - flag_group_index = EINA_TRUE; - if(!strcmp(key, "elm.text")) - { - flag_group_title = EINA_TRUE; - } - else if(!strcmp(key, "elm.text.end")) - { - flag_sub_title = EINA_TRUE; - } - } - } - } - } - // - - texts = - elm_widget_stringlist_get(edje_object_data_get(VIEW(it), "texts")); - - EINA_LIST_FREE(texts, key) - { - char *str_markup = it->itc->func.text_get - ((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key); - char *str_utf8 = _elm_util_mkup_to_text(str_markup); - - free(str_markup); - - //TIZEN ONLY (160609) : Added in order to read when group item contain checkbox, sub text and normal as per UX guide 0.3 if (str_utf8) { if (eina_strbuf_length_get(buf) > 0) eina_strbuf_append(buf, ", "); eina_strbuf_append(buf, str_utf8); free(str_utf8); - - if(!flag_contain_checkbox) - { - if(flag_group_title && !flag_sub_title) - { - eina_strbuf_append(buf,", header"); - } - else if(flag_group_title) - { - eina_strbuf_append(buf,", header title"); - flag_group_title = EINA_FALSE; - } - else if(flag_sub_title) - { - eina_strbuf_append(buf,", subtext"); - } - } } - // } } + //TIZEN ONLY (160609) : Added in order to read when group item contain checkbox, sub text and normal as per UX guide 0.3. + if (((genlist_item_type & ELM_GENLIST_ITEM_GROUP) || (genlist_item_type & ELM_GENLIST_ITEM_TREE)) && !flag_contain_checkbox) + eina_strbuf_append(buf,", header"); + // + ret = eina_strbuf_string_steal(buf); eina_strbuf_free(buf); return ret; -- 2.7.4