From 1e85b6a3ca4577e0fcc3e2b129c53088baa7665b Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Wed, 6 Apr 2011 15:27:52 +0000 Subject: [PATCH] Elementary entry: No need to calc min size for a wrapping entry. It's just useless and makes zero sense. No matter what we'll get a useless output and it just slows everything down. Should probably be added when it makes sense, but it will probably need something like elm_label_wrap_width_set. SVN revision: 58393 --- legacy/elementary/src/lib/elm_entry.c | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/legacy/elementary/src/lib/elm_entry.c b/legacy/elementary/src/lib/elm_entry.c index 31183b3dc8..c019400b85 100644 --- a/legacy/elementary/src/lib/elm_entry.c +++ b/legacy/elementary/src/lib/elm_entry.c @@ -580,20 +580,14 @@ static void _elm_win_recalc_job(void *data) { Widget_Data *wd = elm_widget_data_get(data); - Evas_Coord minw = -1, minh = -1, maxh = -1; - Evas_Coord resw, resh, minminw; + Evas_Coord maxh = -1; if (!wd) return; wd->deferred_recalc_job = NULL; - evas_object_geometry_get(wd->ent, NULL, NULL, &resw, &resh); - resh = 0; - edje_object_size_min_restricted_calc(wd->ent, &minw, &minh, 0, 0); - elm_coords_finger_size_adjust(1, &minw, 1, &minh); - minminw = minw; - edje_object_size_min_restricted_calc(wd->ent, &minw, &minh, resw, 0); - elm_coords_finger_size_adjust(1, &minw, 1, &minh); - evas_object_size_hint_min_set(data, minminw, minh); - if (wd->single_line) maxh = minh; - evas_object_size_hint_max_set(data, -1, maxh); + if (wd->single_line) + { + edje_object_size_min_calc(wd->ent, NULL, &maxh); + evas_object_size_hint_max_set(data, -1, maxh); + } if (wd->deferred_cur) elm_widget_show_region_set(data, wd->cx, wd->cy, wd->cw, wd->ch); } @@ -602,7 +596,7 @@ static void _sizing_eval(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); - Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; + Evas_Coord minw = -1, minh = -1, maxh = -1; Evas_Coord resw, resh; if (!wd) return; if ((wd->linewrap) || (wd->char_linewrap)) @@ -620,8 +614,11 @@ _sizing_eval(Evas_Object *obj) edje_object_size_min_calc(wd->ent, &minw, &minh); elm_coords_finger_size_adjust(1, &minw, 1, &minh); evas_object_size_hint_min_set(obj, minw, minh); - if (wd->single_line) maxh = minh; - evas_object_size_hint_max_set(obj, maxw, maxh); + if (wd->single_line) + { + edje_object_size_min_calc(wd->ent, NULL, &maxh); + evas_object_size_hint_max_set(obj, -1, maxh); + } } }