rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=91ca8212951e7b5eec070cee87b82877b0948a44

commit 91ca8212951e7b5eec070cee87b82877b0948a44
Author: Vyacheslav Reutskiy <v.reuts...@samsung.com>
Date:   Thu Jul 30 11:47:14 2015 +0300

    Project manager: add image processing messages
    
    Change-Id: I1aa621fec478ddbc910badd7a9bb8c9a9f95c59e
---
 src/bin/project_manager/project_manager.c | 35 ++++++++++++++++++++++---------
 1 file changed, 25 insertions(+), 10 deletions(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index ecb14d9..1648c7f 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -113,10 +113,14 @@ typedef struct
 }
 
 static Eina_Bool
+_project_resource_export(Project *pro, const char* dir_path,
+                         Project_Thread *worker);
+
+static Eina_Bool
 _image_resources_export(Project *project,
                         Eina_List *images, Eina_Stringshare *destination,
                         Eina_Stringshare *source, Eina_Stringshare *dev,
-                        Evas_Object *edje_edit);
+                        Evas_Object *edje_edit, Project_Thread *worker);
 
 static Eina_Bool
 _sound_resources_export(Eina_List *sounds, Eina_Stringshare *destination,
@@ -496,7 +500,7 @@ _project_import_edj(void *data,
    WORKER_LOCK_RELEASE;
    THREAD_TESTCANCEL;
    WORKER_LOCK_TAKE;
-      pm_project_resource_export(worker->project, NULL);
+      _project_resource_export(worker->project, NULL, worker);
       _project_linked_images_copy(worker);
       edje_file_cache_flush();
       PROGRESS_SEND(_("Import finished. Project '%s' created"), 
worker->project->name);
@@ -632,7 +636,7 @@ _project_import_edc(void *data,
    WORKER_LOCK_RELEASE;
    THREAD_TESTCANCEL;
    WORKER_LOCK_TAKE;
-      pm_project_resource_export(worker->project, NULL);
+      _project_resource_export(worker->project, NULL, worker);
       _project_linked_images_copy(worker);
       edje_file_cache_flush();
       PROGRESS_SEND(_("Import finished. Project '%s' created"), 
worker->project->name);
@@ -813,7 +817,7 @@ _project_save(void *data,
 
       /* saving */
       dest = eina_stringshare_printf("%s/images", 
worker->project->develop_path);
-      _image_resources_export(worker->project, add_list, dest, NULL, 
worker->project->dev, edje_edit_obj);
+      _image_resources_export(worker->project, add_list, dest, NULL, 
worker->project->dev, edje_edit_obj, worker);
       edje_edit_string_list_free(add_list);
       EINA_LIST_FREE(worker->project->nsimage_list, it)
          free(it);
@@ -1007,7 +1011,7 @@ static Eina_Bool
 _image_resources_export(Project *project,
                         Eina_List *images, Eina_Stringshare *destination,
                         Eina_Stringshare *source, Eina_Stringshare *dev,
-                        Evas_Object *edje_edit)
+                        Evas_Object *edje_edit, Project_Thread *worker)
 {
   Eina_Stringshare *image_name, *source_file, *dest_file;
   Eina_List *l;
@@ -1015,6 +1019,7 @@ _image_resources_export(Project *project,
   Evas_Object *im;
   int id;
   char *file_dir;
+  int im_total, im_proc;
 
   assert(project != NULL);
   assert(destination != NULL);
@@ -1027,11 +1032,17 @@ _image_resources_export(Project *project,
        return false;
     }
   e = ecore_evas_get(project->ecore_evas);
+  im_total = eina_list_count(images);
+  im_proc = 0;
+  if (worker) PROGRESS_SEND(_("Start image processing, total %d:"), im_total);
   EINA_LIST_FOREACH(images, l, image_name)
     {
        /* for supporting old themes, which were compilled
         * with edje_cc version less than 1.10 */
        if (!image_name) continue;
+       im_proc++;
+       if (worker) PROGRESS_SEND(_("image processing (%d/%d): %s"),
+                                 im_proc, im_total, image_name);
        source_file = eina_stringshare_printf("%s/%s", source,
                                              ecore_file_file_get(image_name));
        dest_file = eina_stringshare_printf("%s/%s", destination, image_name);
@@ -1187,9 +1198,7 @@ _font_resources_export(Eina_List *fonts, Eina_Stringshare 
*destination,
 }
 
 Eina_Bool
-pm_style_resource_export(Project *pro ,
-                         Style *style,
-                         Eina_Stringshare *path)
+pm_style_resource_export(Project *pro , Style *style, Eina_Stringshare *path)
 {
    Eina_List *l, *l_next, *parts, *state_list, *l_states, *tween_list, 
*l_tween;
    Eina_List *programs;
@@ -1284,7 +1293,7 @@ pm_style_resource_export(Project *pro ,
    dest = eina_stringshare_printf("%s/images", path);
    EINA_LIST_FOREACH(pro->res.images, l, source)
      {
-       if (!_image_resources_export(pro, images, dest, source, pro->dev, 
style->obj))
+       if (!_image_resources_export(pro, images, dest, source, pro->dev, 
style->obj, NULL))
          WARN("Failed export images");
      }
    eina_stringshare_del(dest);
@@ -1317,6 +1326,12 @@ pm_style_resource_export(Project *pro ,
 Eina_Bool
 pm_project_resource_export(Project *pro, const char* dir_path)
 {
+   return _project_resource_export(pro, dir_path, NULL);
+}
+
+Eina_Bool
+_project_resource_export(Project *pro, const char* dir_path, Project_Thread 
*worker)
+{
    Eina_List *list;
    Evas_Object *edje_edit_obj;
    Evas *e;
@@ -1346,7 +1361,7 @@ pm_project_resource_export(Project *pro, const char* 
dir_path)
    /* export images */
    list = edje_edit_images_list_get(edje_edit_obj);
    dest = eina_stringshare_printf("%s/images", path);
-   _image_resources_export(pro, list, dest, NULL, pro->dev, edje_edit_obj);
+   _image_resources_export(pro, list, dest, NULL, pro->dev, edje_edit_obj, 
worker);
    edje_edit_string_list_free(list);
    eina_stringshare_del(dest);
 

-- 


Reply via email to