diff options
author | Jaeun Choi <jaeun12.choi@samsung.com> | 2019-03-28 19:21:21 +0900 |
---|---|---|
committer | Jaeun Choi <jaeun12.choi@samsung.com> | 2019-03-29 20:14:09 +0900 |
commit | f3a6bf613db306ca7e794cdc8d26f2d227b40c74 (patch) | |
tree | 0729158633ab422b78f83f5758059ee61bb8bae9 /src | |
parent | 26315284768b61dd64ef7390ccfd715133bb0688 (diff) | |
download | efl-f3a6bf613db306ca7e794cdc8d26f2d227b40c74.tar.gz |
efl_ui_pager: refactor unpack function
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/elementary/efl_ui_pager.c | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/src/lib/elementary/efl_ui_pager.c b/src/lib/elementary/efl_ui_pager.c index 8c65dc64c3..71bd8049e7 100644 --- a/src/lib/elementary/efl_ui_pager.c +++ b/src/lib/elementary/efl_ui_pager.c @@ -798,18 +798,12 @@ _efl_ui_pager_efl_pack_unpack_all(Eo *obj EINA_UNUSED, return EINA_FALSE; } -EOLIAN static Eina_Bool -_efl_ui_pager_efl_pack_unpack(Eo *obj, - Efl_Ui_Pager_Data *pd, - Efl_Gfx_Entity *subobj) +static void +_unpack(Eo *obj, + Efl_Ui_Pager_Data *pd, + Efl_Gfx_Entity *subobj, + int index) { - if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return EINA_FALSE; - - if (!subobj) return EINA_FALSE; - - int index = eina_list_data_idx(pd->content_list, subobj); - if (index == -1) return EINA_FALSE; - pd->content_list = eina_list_remove(pd->content_list, subobj); pd->cnt--; @@ -837,6 +831,21 @@ _efl_ui_pager_efl_pack_unpack(Eo *obj, if (pd->indicator) efl_page_indicator_unpack(pd->indicator, index); +} + +EOLIAN static Eina_Bool +_efl_ui_pager_efl_pack_unpack(Eo *obj, + Efl_Ui_Pager_Data *pd, + Efl_Gfx_Entity *subobj) +{ + if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return EINA_FALSE; + + if (!subobj) return EINA_FALSE; + + int index = eina_list_data_idx(pd->content_list, subobj); + if (index == -1) return EINA_FALSE; + + _unpack(obj, pd, subobj, index); return EINA_TRUE; } |