summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorJaeun Choi <jaeun12.choi@samsung.com>2019-02-19 18:44:26 +0900
committerJaeun Choi <jaeun12.choi@samsung.com>2019-03-29 20:14:09 +0900
commit20dfa5c4871d7e9034ab9b0264b36670847cee8a (patch)
tree3948624b375b20ae260125456a259e11c4f3e4c0 /src/lib
parent68a7567d2625312bff565876b50b252ef9bd50dd (diff)
downloadefl-20dfa5c4871d7e9034ab9b0264b36670847cee8a.tar.gz
efl_ui_pager: disable loop if items are not enough after unpacking
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/elementary/efl_ui_pager.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/lib/elementary/efl_ui_pager.c b/src/lib/elementary/efl_ui_pager.c
index b8ceb97bca..e5f65c55d3 100644
--- a/src/lib/elementary/efl_ui_pager.c
+++ b/src/lib/elementary/efl_ui_pager.c
@@ -799,7 +799,7 @@ _efl_ui_pager_efl_pack_unpack_all(Eo *obj EINA_UNUSED,
}
EOLIAN static Eina_Bool
-_efl_ui_pager_efl_pack_unpack(Eo *obj EINA_UNUSED,
+_efl_ui_pager_efl_pack_unpack(Eo *obj,
Efl_Ui_Pager_Data *pd,
Efl_Gfx_Entity *subobj)
{
@@ -817,10 +817,17 @@ _efl_ui_pager_efl_pack_unpack(Eo *obj EINA_UNUSED,
(index < pd->curr.page))
pd->curr.page--;
- //FIXME if the number of pages is not enough after unpacking a page,
- // loop mode needs to be disabled
if (pd->transition)
- efl_page_transition_update(pd->transition, pd->curr.pos);
+ {
+ // if the number of pages is not enough after unpacking a page,
+ // loop mode needs to be disabled
+ if (pd->loop == EFL_UI_PAGER_LOOP_ENABLED)
+ {
+ _efl_ui_pager_loop_mode_set(obj, pd, EFL_UI_PAGER_LOOP_DISABLED);
+ _efl_ui_pager_loop_mode_set(obj, pd, EFL_UI_PAGER_LOOP_ENABLED);
+ }
+ efl_page_transition_update(pd->transition, pd->curr.pos);
+ }
else
{
efl_pack_unpack(pd->page_box, subobj);