rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=06029c1d388445ecc6ef42282db36023529ddc33
commit 06029c1d388445ecc6ef42282db36023529ddc33 Author: Vitalii Vorobiov <vi.vorob...@samsung.com> Date: Thu Oct 15 18:17:30 2015 +0300 property: update data in property when image is selected --- src/bin/ui/editors/image_editor.c | 18 +++++--- src/bin/ui/property_image.c | 95 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 106 insertions(+), 7 deletions(-) diff --git a/src/bin/ui/editors/image_editor.c b/src/bin/ui/editors/image_editor.c index e05b87d..d7ea729 100644 --- a/src/bin/ui/editors/image_editor.c +++ b/src/bin/ui/editors/image_editor.c @@ -453,15 +453,21 @@ _image_info_setup(Image_Editor *img_edit, assert(img_edit != NULL); assert(it != NULL); - _image_info_reset(img_edit); img_edit->image_data_fields.image_name = it->image_name; image = _image_editor_image_create(img_edit->layout, img_edit, it); evas_object_image_smooth_scale_set(image, false); - elm_object_part_content_set(img_edit->layout, "eflete.swallow.image", image); img_edit->image_data_fields.image = image; evas_object_show(image); + evas_object_data_set(image, "image_name", it->image_name); + evas_object_smart_callback_call(ap.win, SIGNAL_IMAGE_SELECTED, image); + return; + + +//////////////////// + elm_object_part_content_set(img_edit->layout, "eflete.swallow.image", image); + comp = edje_edit_image_compression_type_get(ap.project->global_object, it->image_name); if (comp != EDJE_EDIT_IMAGE_COMP_USER) @@ -511,6 +517,7 @@ _grid_sel(void *data, void *event_info __UNUSED__) { Image_Editor *img_edit = (Image_Editor *)data; + Item *item = NULL; assert(img_edit != NULL); @@ -519,12 +526,11 @@ _grid_sel(void *data, if (selected_images_count == 1) { - _image_info_setup(img_edit, - elm_object_item_data_get(eina_list_data_get(sel_list))); - img_edit->image_search_data.last_item_found = eina_list_data_get(sel_list); + item = elm_object_item_data_get(eina_list_data_get(sel_list)); + _image_info_setup(img_edit, item); } else - _image_info_reset(img_edit); + evas_object_smart_callback_call(ap.win, SIGNAL_IMAGE_SELECTED, NULL); } static inline Item * diff --git a/src/bin/ui/property_image.c b/src/bin/ui/property_image.c index 850f30f..054edca 100644 --- a/src/bin/ui/property_image.c +++ b/src/bin/ui/property_image.c @@ -129,10 +129,103 @@ prop_image_editor_compression_type_add(Evas_Object *parent, Image_Prop_Data *pd) } static void -_on_image_selected(void *data __UNUSED__, +_image_info_type_setup(Evas_Object *layout, + const char *image_name) +{ + char buf[BUFF_MAX]; + + assert(layout != NULL); + assert(image_name != NULL); + + const char *dot = strrchr(image_name, '.'); + if ((!dot) || (dot == image_name)) + { + elm_object_text_set(layout, _("Unknown")); + return; + } + + if (eina_str_has_extension(image_name, ".png")) + snprintf(buf, BUFF_MAX, _("PNG image (%s)"), dot); + else if (eina_str_has_extension(image_name, ".gif")) + snprintf(buf, BUFF_MAX, _("GIF image (%s)"), dot); + else if (eina_str_has_extension(image_name, ".jpeg") || + eina_str_has_extension(image_name, ".jpg") || + eina_str_has_extension(image_name, ".jif") || + eina_str_has_extension(image_name, ".jfif")) + snprintf(buf, BUFF_MAX, _("JPEG image (%s)"), dot); + else if (eina_str_has_extension(image_name, ".bmp")) + snprintf(buf, BUFF_MAX, _("BMP image (%s)"), dot); + else if (eina_str_has_extension(image_name, ".tif") || + eina_str_has_extension(image_name, ".tiff")) + snprintf(buf, BUFF_MAX, _("TIFF image (%s)"), dot); + else + { + elm_object_text_set(layout, _("Unknown")); + return; + } + elm_object_text_set(layout, buf); +} +static void +_on_image_selected(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { + Evas_Object *image = (Evas_Object *)event_info; + Eina_Stringshare *image_name; + Edje_Edit_Image_Comp comp; + Eina_Stringshare *str; + int w, h; + + Evas_Object *property = data; + IMAGE_PROP_DATA_GET() + + if (image) + { + elm_object_part_content_set(pd->image_preview, "eflete.swallow.image", image); + + image_name = evas_object_data_get(image, "image_name"); + + comp = edje_edit_image_compression_type_get(ap.project->global_object, image_name); + if (comp != EDJE_EDIT_IMAGE_COMP_USER) + { + str = eina_stringshare_printf("edje/images/%i", edje_edit_image_id_get(ap.project->global_object, image_name)); + elm_object_text_set(pd->location, str); + eina_stringshare_del(str); + } + else + elm_object_text_set(pd->location, image_name); + + if (comp == EDJE_EDIT_IMAGE_COMP_LOSSY) + { + int quality = edje_edit_image_compression_rate_get(ap.project->global_object, + image_name); + elm_spinner_value_set(pd->compression_quality, quality); + } + else + elm_spinner_value_set(pd->compression_quality, 0); + + elm_image_object_size_get(image, &w, &h); + str = eina_stringshare_printf("%d", w); + elm_object_text_set(pd->size_width, str); + eina_stringshare_del(str); + str = eina_stringshare_printf("%d", h); + elm_object_text_set(pd->size_height, str); + eina_stringshare_del(str); + + _image_info_type_setup(pd->type, image_name); + } + else + { + image = elm_object_part_content_unset(pd->image_preview, "eflete.swallow.image"); + evas_object_del(image); + elm_object_text_set(pd->name, _(" - ")); + elm_object_text_set(pd->location, _(" - ")); + elm_object_text_set(pd->size_width, _(" - ")); + elm_object_text_set(pd->size_height, _(" - ")); + elm_object_text_set(pd->type, _(" - ")); + ewe_combobox_select_item_set(pd->compression_type, 0); + elm_spinner_value_set(pd->compression_quality, 0); + } } Evas_Object * --