summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJaeun Choi <jaeun12.choi@samsung.com>2019-03-28 19:21:21 +0900
committerJaeun Choi <jaeun12.choi@samsung.com>2019-03-29 20:14:09 +0900
commitf3a6bf613db306ca7e794cdc8d26f2d227b40c74 (patch)
tree0729158633ab422b78f83f5758059ee61bb8bae9 /src
parent26315284768b61dd64ef7390ccfd715133bb0688 (diff)
downloadefl-f3a6bf613db306ca7e794cdc8d26f2d227b40c74.tar.gz
efl_ui_pager: refactor unpack function
Diffstat (limited to 'src')
-rw-r--r--src/lib/elementary/efl_ui_pager.c31
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;
}