From 970121cc459eb37cbdb4d5894808902937c806cb Mon Sep 17 00:00:00 2001 From: Jinyong Park Date: Thu, 12 May 2016 10:42:02 +0900 Subject: [PATCH] popup: If popup's parent is resized, popup need to resized, too When window's size is not enough to show popup, popup resize smaller to show it in appropriate size. But if window resize larger enough to show popup, popup is locked in small size. On the contrary to this case, if window resize too smaller, popup has still large size, so popup doesn't display properly. Change-Id: Iea7587c63e26940444d3e82f685f68d6b604d74f Signed-off-by: Jinyong Park --- src/lib/elc_popup.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c index e672dca81..a02b67786 100644 --- a/src/lib/elc_popup.c +++ b/src/lib/elc_popup.c @@ -200,6 +200,20 @@ _size_hints_changed_cb(void *data, elm_layout_sizing_eval(data); } +static void +_notify_resize_cb(void *data, + Evas *e EINA_UNUSED, + Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Evas_Object *popup = data; + + ELM_POPUP_CHECK(popup); + + _scroller_size_calc(popup); + elm_layout_sizing_eval(popup); +} + static void _list_del(Elm_Popup_Data *sd) { @@ -234,6 +248,7 @@ _elm_popup_evas_object_smart_del(Eo *obj, Elm_Popup_Data *sd) evas_object_event_callback_del_full(sd->parent, EVAS_CALLBACK_RESIZE, _parent_geom_cb, obj); evas_object_event_callback_del_full(sd->parent, EVAS_CALLBACK_MOVE, _parent_geom_cb, obj); + evas_object_event_callback_del_full(sd->notify, EVAS_CALLBACK_RESIZE, _notify_resize_cb, obj); eo_do(sd->notify, eo_event_callback_array_del(_notify_cb(), obj)); @@ -1684,6 +1699,8 @@ _elm_popup_evas_object_smart_add(Eo *obj, Elm_Popup_Data *priv) (priv->notify, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_member_add(priv->notify, obj); + evas_object_event_callback_add(priv->notify, EVAS_CALLBACK_RESIZE, _notify_resize_cb, obj); + priv->main_layout = elm_layout_add(obj); if (!elm_layout_theme_set(priv->main_layout, "popup", "base", elm_widget_style_get(obj))) -- 2.34.1