summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMykyta Biliavskyi <m.biliavskyi@samsung.com>2014-08-04 19:46:03 +0900
committerChunEon Park <hermet@hermet.pe.kr>2014-08-04 19:47:18 +0900
commit22d800a40c54979ac345e470f8dc0044274922d7 (patch)
tree8c9c4d076c0d3774c273fac7a0f9bd4795bfe028
parente4551e7ef3dc1893f82672480b4f729dd701a881 (diff)
ctxpopup: Fix wrong popup size.
Summary: In case, when ctxpopup content have larger size than parent object, (by height, width or both) was resized popup at the full width or height of parent object size. @fix Reviewers: raster, seoz, cedric, Hermet Reviewed By: Hermet Differential Revision: https://phab.enlightenment.org/D1266
-rw-r--r--src/lib/elc_ctxpopup.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c
index 44d188423..fb19ca9c4 100644
--- a/src/lib/elc_ctxpopup.c
+++ b/src/lib/elc_ctxpopup.c
@@ -656,9 +656,20 @@ _elm_ctxpopup_elm_layout_sizing_eval(Eo *obj, Elm_Ctxpopup_Data *sd)
656 if ((list_size.x >= rect.w) || (list_size.y >= rect.h)) 656 if ((list_size.x >= rect.w) || (list_size.y >= rect.h))
657 { 657 {
658 elm_list_mode_set(sd->list, ELM_LIST_COMPRESS); 658 elm_list_mode_set(sd->list, ELM_LIST_COMPRESS);
659 evas_object_size_hint_min_set(sd->box, rect.w, rect.h); 659 evas_object_size_hint_min_set(obj, list_size.x, list_size.y);
660 evas_object_size_hint_min_set(obj, rect.w, rect.h);
661 } 660 }
661 /*
662 Decrease height of main object initiate recalc of size (sizing_eval).
663 At each iteration of calculating size height of the object
664 will be closer to the height of the list.
665 */
666 if (list_size.y < rect.h) rect.h--;
667 }
668 else if (sd->content)
669 {
670 evas_object_geometry_get(sd->content, 0, 0, &list_size.x, &list_size.y);
671 if ((list_size.x >= rect.w) || (list_size.y >= rect.h))
672 evas_object_size_hint_min_set(obj, list_size.x, list_size.y);
662 } 673 }
663 674
664 evas_object_geometry_get(sd->parent, NULL, NULL, &parent_size.x, &parent_size.y); 675 evas_object_geometry_get(sd->parent, NULL, NULL, &parent_size.x, &parent_size.y);