diff options
author | JinYong Park <j4939.park@samsung.com> | 2017-07-11 15:36:06 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-07-11 15:45:27 +0900 |
commit | 10d5f11a1450fd7b4295fbd0a99cc799eaeda4f6 (patch) | |
tree | 94b79bae1ca7934f6768b0b9f2693dfeb351accb | |
parent | 0762d903809d8cd1c284ac0a2c1a18613dded6a8 (diff) | |
download | efl-10d5f11a1450fd7b4295fbd0a99cc799eaeda4f6.tar.gz |
popup: fix sizing eval logic when scrollable set TRUE
Summary:
When scrollable set TRUE,
scroller must be calculated its size except using item.
If content is removed, scroller doesn't calculate its size, so it has previous size.
So there is a empty space in this case.
@fix
Test Plan:
1. elementary_test -to popup
2. open "popup-center-title + list content + 2 button (with delete content)"
3. click "Delete" button
4. compare between scrollable set true and false
Reviewers: herb, singh.amitesh, jpeg, cedric, conr2d
Differential Revision: https://phab.enlightenment.org/D5010
-rw-r--r-- | src/bin/elementary/test_popup.c | 17 | ||||
-rw-r--r-- | src/lib/elementary/elc_popup.c | 2 |
2 files changed, 15 insertions, 4 deletions
diff --git a/src/bin/elementary/test_popup.c b/src/bin/elementary/test_popup.c index 7de258836b..bfd17adefe 100644 --- a/src/bin/elementary/test_popup.c +++ b/src/bin/elementary/test_popup.c @@ -624,7 +624,13 @@ gl_popup_text_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part EIN } static void -_popup_center_title_list_content_1button_cb(void *data, Evas_Object *obj EINA_UNUSED, +_delete_btn_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + elm_object_content_set(data, NULL); +} + +static void +_popup_center_title_list_content_2button_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *popup, *list; @@ -648,6 +654,11 @@ _popup_center_title_list_content_1button_cb(void *data, Evas_Object *obj EINA_UN elm_object_part_content_set(popup, "button1", btn); evas_object_smart_callback_add(btn, "clicked", _popup_close_cb, popup); + btn = elm_button_add(popup); + elm_object_text_set(btn, "Delete"); + elm_object_part_content_set(popup, "button2", btn); + evas_object_smart_callback_add(btn, "clicked", _delete_btn_clicked, popup); + // popup show should be called after adding all the contents and the buttons // of popup to set the focus into popup's contents correctly. evas_object_show(popup); @@ -885,8 +896,8 @@ test_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, _popup_transparent_cb, win); elm_list_item_append(list, "popup-transparent-align", NULL, NULL, _popup_transparent_align_cb, win); - elm_list_item_append(list, "popup-center-title + list content + 1 button", - NULL, NULL, _popup_center_title_list_content_1button_cb, + elm_list_item_append(list, "popup-center-title + list content + 2 button (with delete content)", + NULL, NULL, _popup_center_title_list_content_2button_cb, win); elm_list_item_append(list, "popup-center-title + genlist content + 1 button", NULL, NULL, _popup_center_title_genlist_content_1button_cb, diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c index 1cab8b7770..dc51f9749d 100644 --- a/src/lib/elementary/elc_popup.c +++ b/src/lib/elementary/elc_popup.c @@ -469,7 +469,7 @@ _elm_popup_elm_layout_sizing_eval(Eo *obj, Elm_Popup_Data *sd) efl_gfx_size_hint_combined_min_get(sd->scr, &minw, &minh); evas_object_size_hint_max_get(sd->scr, &minw, &minh); } - else if (sd->scroll && (sd->content || sd->text_content_obj)) + else if (sd->scroll) { double horizontal, vertical; Evas_Coord w, h; |