diff options
author | Stefan Schmidt <s.schmidt@samsung.com> | 2015-05-06 14:14:33 +0200 |
---|---|---|
committer | Stefan Schmidt <s.schmidt@samsung.com> | 2015-05-06 14:17:26 +0200 |
commit | d36db4ebcac5656fdf061118c5deaf4d0fe69640 (patch) | |
tree | cd8ddf8935bd14c5f20a7f9c0ce3639a838389a1 | |
parent | 2123a813459f291553303c29d834436d2058cb6c (diff) | |
download | elementary-devs/stefan/fileselector-workaround.tar.gz |
fileselector: Work around initial genlist size bug for release.devs/stefan/fileselector-workaround
Jupp, its a dirty hack but it helps to work around the problem for now and
get the release out. I will revert it in master after the release and we
keep the bug open until this is fixed and hopefully backported.
ref T2367
-rw-r--r-- | src/lib/elc_fileselector.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/lib/elc_fileselector.c b/src/lib/elc_fileselector.c index 1ea2c01b9..45a88dcb0 100644 --- a/src/lib/elc_fileselector.c +++ b/src/lib/elc_fileselector.c @@ -1236,6 +1236,24 @@ _files_key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, v } } +/* FIXME: This is a dirty hack to avoid a broken layout on fileselector come up. + * In some cases on some systems the genlist file view comes up with a height of + * 10 and only resizes when interacted manually. This only papers over it for the + * 1.14 release and will be removed from master directly afterwards. If we find + * a solution we are able to backport this will also go away from the efl-1.14 + * stable branch. See T2367 for the full details. + */ +static void +_files_on_resize(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *o, void *event EINA_UNUSED) +{ + Evas_Coord x, y, w, h; + + evas_object_geometry_get(o, &x, &y, &w, &h); + + if (h < 20) + evas_object_resize(o, 394, 279); +} + static Evas_Object * _files_list_add(Evas_Object *obj) { @@ -1258,6 +1276,7 @@ _files_list_add(Evas_Object *obj) evas_object_smart_callback_add(li, "expanded", _on_list_expanded, obj); evas_object_smart_callback_add(li, "contracted", _on_list_contracted, obj); evas_object_event_callback_add(li, EVAS_CALLBACK_KEY_DOWN, _files_key_down, obj); + evas_object_event_callback_add(li, EVAS_CALLBACK_RESIZE, _files_on_resize, obj); elm_widget_sub_object_add(obj, li); |