From fa0384ed2c0f784d26f0bfbd4ff40940921768c4 Mon Sep 17 00:00:00 2001 From: Sohyun Kim Date: Fri, 17 Apr 2015 17:22:31 +0900 Subject: [PATCH] edje: refactor styles_del() logic like styles_add() --- src/lib/edje/edje_textblock_styles.c | 63 ++++++++++++------------------------ 1 file changed, 20 insertions(+), 43 deletions(-) diff --git a/src/lib/edje/edje_textblock_styles.c b/src/lib/edje/edje_textblock_styles.c index c496ce2..b294731 100644 --- a/src/lib/edje/edje_textblock_styles.c +++ b/src/lib/edje/edje_textblock_styles.c @@ -291,7 +291,7 @@ _edje_textblock_style_member_add(Edje *ed, Edje_Style *stl) Edje_Style_Tag *tag; Eina_List *l; - if (!stl) return ; + if (!stl) return; EINA_LIST_FOREACH(stl->tags, l, tag) { @@ -300,6 +300,21 @@ _edje_textblock_style_member_add(Edje *ed, Edje_Style *stl) } } +static inline void +_edje_textblock_style_member_del(Edje *ed, Edje_Style *stl) +{ + Edje_Style_Tag *tag; + Eina_List *l; + + if (!stl) return; + + EINA_LIST_FOREACH(stl->tags, l, tag) + { + if (tag->text_class) + _edje_text_class_member_del(ed, tag->text_class); + } +} + void _edje_textblock_styles_add(Edje *ed, Edje_Real_Part *ep) { @@ -340,53 +355,15 @@ _edje_textblock_styles_del(Edje *ed, Edje_Part *pt) desc = (Edje_Part_Description_Text *)pt->default_desc; style = edje_string_get(&desc->text.style); - if (style) - { - Eina_List *l; - - EINA_LIST_FOREACH(ed->file->styles, l, stl) - { - if ((stl->name) && (!strcmp(stl->name, style))) break; - stl = NULL; - } - } - if (stl) - { - Edje_Style_Tag *tag; - Eina_List *l; - - EINA_LIST_FOREACH(stl->tags, l, tag) - { - if (tag->text_class) - _edje_text_class_member_del(ed, tag->text_class); - } - } + stl = _edje_textblock_style_search(ed, style); + _edje_textblock_style_member_del(ed, stl); for (i = 0; i < pt->other.desc_count; ++i) { desc = (Edje_Part_Description_Text *)pt->other.desc[i]; style = edje_string_get(&desc->text.style); - if (style) - { - Eina_List *l; - - EINA_LIST_FOREACH(ed->file->styles, l, stl) - { - if ((stl->name) && (!strcmp(stl->name, style))) break; - stl = NULL; - } - } - if (stl) - { - Edje_Style_Tag *tag; - Eina_List *l; - - EINA_LIST_FOREACH(stl->tags, l, tag) - { - if (tag->text_class) - _edje_text_class_member_del(ed, tag->text_class); - } - } + stl = _edje_textblock_style_search(ed, style); + _edje_textblock_style_member_del(ed, stl); } } -- 2.7.4