From a04ef6cce14c2dd7ccf2d9be30793259f927a2f6 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 12 Dec 2012 08:05:21 +0000 Subject: [PATCH] wallpaper previews now maintain aspect ratio when resized ticket #1981 SVN revision: 80735 --- src/modules/conf_theme/e_int_config_wallpaper.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/modules/conf_theme/e_int_config_wallpaper.c b/src/modules/conf_theme/e_int_config_wallpaper.c index 34d168ec8..0c686a32c 100644 --- a/src/modules/conf_theme/e_int_config_wallpaper.c +++ b/src/modules/conf_theme/e_int_config_wallpaper.c @@ -405,7 +405,7 @@ _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) static Evas_Object * _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { - Evas_Object *o, *rt, *ot; + Evas_Object *o, *rt, *ot, *oa; Evas_Object *ow; E_Zone *zone = NULL; E_Radio_Group *rg; @@ -475,11 +475,14 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) mw = 320; mh = (320 * zone->h) / zone->w; + oa = e_widget_aspect_add(evas, mw, mh); ow = e_widget_preview_add(evas, mw, mh); + evas_object_size_hint_min_set(ow, mw, mh); cfdata->o_preview = ow; _bg_set(cfdata); + e_widget_aspect_child_set(oa, ow); evas_object_show(ow); - e_widget_table_object_append(ot, ow, 0, 2, 2, 1, 1, 1, 1, 1); + e_widget_table_object_append(ot, oa, 0, 2, 2, 1, 1, 1, 1, 1); e_widget_list_object_append(o, ot, 1, 1, 0.5); return o; } @@ -522,7 +525,7 @@ _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) static Evas_Object * _adv_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { - Evas_Object *o, *rt, *ot; + Evas_Object *o, *rt, *ot, *oa; Evas_Object *ow, *of; E_Zone *zone = NULL; E_Radio_Group *rg; @@ -585,11 +588,14 @@ _adv_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) mw = 320; mh = (320 * zone->h) / zone->w; + oa = e_widget_aspect_add(evas, mw, mh); ow = e_widget_preview_add(evas, mw, mh); + evas_object_size_hint_min_set(ow, mw, mh); evas_object_size_hint_aspect_set(ow, EVAS_ASPECT_CONTROL_BOTH, zone->w, zone->h); cfdata->o_preview = ow; _bg_set(cfdata); - e_widget_table_object_append(ot, ow, 0, 2, 2, 1, 1, 1, 1, 1); + e_widget_aspect_child_set(oa, ow); + e_widget_table_object_append(ot, oa, 0, 2, 2, 1, 1, 1, 1, 1); rg = e_widget_radio_group_new(&(cfdata->all_this_desk_screen)); of = e_widget_frametable_add(evas, _("Where to place the Wallpaper"), 0);