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 *

-- 


Reply via email to