interface_scrollable: delete unnecessary smart callback call.

Summary:
When _elm_interface_scrollable_page_bring_in is called, page is not changed yet.
So "page,changed" smart callback is unnecessary.

Sometimes "page,changed" smart callback is called twice.
Because "drag,stop" and "anim,stop"is called it.
So I add updating current page code.

Test Plan:
elementary_test -> scroller

1. using wheel.
2. using "prev page" and "next page".
3. draging sceen

Reviewers: Hermet, singh.amitesh, cedric, raster, jaehwan, seoz

Differential Revision: https://phab.enlightenment.org/D3260

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
Hosang Kim 2015-11-03 12:29:05 -08:00 committed by Cedric BAIL
parent 480d54d5d9
commit dfefdde8f8
1 changed files with 7 additions and 9 deletions

View File

@ -939,6 +939,8 @@ _elm_scroll_drag_stop(Elm_Scrollable_Smart_Interface_Data *sid)
if (sid->cb_func.page_change &&
((x != sid->current_page.x) || (y != sid->current_page.y)))
sid->cb_func.page_change(sid->obj, NULL);
sid->current_page.x = x;
sid->current_page.y = y;
}
if (sid->cb_func.drag_stop)
@ -948,6 +950,9 @@ _elm_scroll_drag_stop(Elm_Scrollable_Smart_Interface_Data *sid)
static void
_elm_scroll_anim_start(Elm_Scrollable_Smart_Interface_Data *sid)
{
sid->current_page.x = _elm_scroll_page_x_get(sid, 0, EINA_FALSE);
sid->current_page.y = _elm_scroll_page_y_get(sid, 0, EINA_FALSE);
if (sid->cb_func.animate_start)
sid->cb_func.animate_start(sid->obj, NULL);
}
@ -963,6 +968,8 @@ _elm_scroll_anim_stop(Elm_Scrollable_Smart_Interface_Data *sid)
y = _elm_scroll_page_y_get(sid, 0, EINA_FALSE);
if ((x != sid->current_page.x) || (y != sid->current_page.y))
sid->cb_func.page_change(sid->obj, NULL);
sid->current_page.x = x;
sid->current_page.y = y;
}
if (sid->cb_func.animate_stop)
@ -4395,9 +4402,6 @@ _elm_interface_scrollable_page_bring_in(Eo *obj, Elm_Scrollable_Smart_Interface_
Evas_Coord x = 0;
Evas_Coord y = 0;
sid->current_page.x = _elm_scroll_page_x_get(sid, 0, EINA_FALSE);
sid->current_page.y = _elm_scroll_page_y_get(sid, 0, EINA_FALSE);
eo_do(sid->obj, elm_interface_scrollable_content_viewport_geometry_get
(NULL, NULL, &w, &h));
x = sid->pagesize_h * pagenumber_h;
@ -4407,12 +4411,6 @@ _elm_interface_scrollable_page_bring_in(Eo *obj, Elm_Scrollable_Smart_Interface_
_elm_scroll_scroll_to_x(sid, _elm_config->bring_in_scroll_friction, x);
_elm_scroll_scroll_to_y(sid, _elm_config->bring_in_scroll_friction, y);
}
if ((sid->current_page.x != x) || (sid->current_page.y != y))
{
if (sid->cb_func.page_change)
sid->cb_func.page_change(sid->obj, NULL);
}
}
EOLIAN static void