rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=34e5efcaf846e6852d1378488c0dbfc79090039a
commit 34e5efcaf846e6852d1378488c0dbfc79090039a Author: Vyacheslav Reutskiy <[email protected]> Date: Wed Jul 20 18:42:04 2016 +0300 Revert "project_manager: import edj file by coping groups" This reverts commit 84c2d417e66518dc2329dbe394c0f60bf52d7e8c. Coping group by Change is wrong way for import it very slowly. Change-Id: Ie55fd097234dfef57e5b8592e8a3a0ca0900f478 --- src/bin/project_manager/project_manager.c | 73 ++++--------------------------- 1 file changed, 8 insertions(+), 65 deletions(-) diff --git a/src/bin/project_manager/project_manager.c b/src/bin/project_manager/project_manager.c index 1dc91ce..97cb604 100644 --- a/src/bin/project_manager/project_manager.c +++ b/src/bin/project_manager/project_manager.c @@ -370,13 +370,18 @@ _copy_meta_data_to_pro(void) } static Eina_Bool -_project_edj_file_copy(const char *src, const char *dst) +_project_edj_file_copy(void) { + Eina_Stringshare *src, *dst; Eina_Bool result; + src = eina_stringshare_ref(worker.edj); + dst = eina_stringshare_ref(worker.project->saved_edj); result = ecore_file_cp(src, dst); DBG("Copy the .edj file to project folder."); + eina_stringshare_del(src); + eina_stringshare_del(dst); return result; } @@ -462,12 +467,6 @@ _project_import_edj(void *data, Eina_Thread *thread __UNUSED__) { Eina_Bool send_end = (data) ? (*(Eina_Bool *)data) : true; - Eina_Tmpstr *tmp_dirname; - Eina_Stringshare *dummy_source, *edc, *edj, *cmd; - Ecore_Exe *exe_cmd; - pid_t exe_pid; - int edje_cc_res = 0, waitpid_res = 0; - FILE *f; PROGRESS_SEND(_("Start import '%s' file as new project"), worker.edj); PROGRESS_SEND(_("Creating a specifiec file and folders")); @@ -483,71 +482,15 @@ _project_import_edj(void *data, END_SEND(PM_PROJECT_LOCKED); return NULL; } - /* create a edj file with dummy group */ - eina_file_mkdtemp("eflete_build_XXXXXX", &tmp_dirname); - edc = eina_stringshare_printf("%s/out.edc", tmp_dirname); - edj = eina_stringshare_printf("%s/out.edj", tmp_dirname); - cmd = eina_stringshare_printf("edje_cc %s %s", edc, edj); - dummy_source = eina_stringshare_add("collections { group { name: \""EFLETE_INTERNAL_GROUP_NAME"\";} }"); - - f = fopen(edc, "w"); - if (!f) - { - ERR("Could't open file '%s'", edc); - return NULL; - } - fputs(dummy_source, f); - fclose(f); - - THREAD_TESTCANCEL; - exe_cmd = ecore_exe_pipe_run(cmd, ECORE_EXE_NONE, NULL); - exe_pid = ecore_exe_pid_get(exe_cmd); - THREAD_TESTCANCEL; - waitpid_res = waitpid(exe_pid, &edje_cc_res, 0); - - if ((waitpid_res == -1) || - (WIFEXITED(edje_cc_res) && (WEXITSTATUS(edje_cc_res) != 0 ))) - { - END_SEND(PM_PROJECT_ERROR); - return NULL; - } PROGRESS_SEND(_("Import processing")); - _project_edj_file_copy(edj, worker.project->saved_edj); + _project_edj_file_copy(); _copy_meta_data_to_pro(); + _project_special_group_add(worker.project); _project_dummy_image_add(worker.project); _project_open_internal(worker.project); THREAD_TESTCANCEL; - Eina_List *l; - Eina_Stringshare *group; - EINA_LIST_FOREACH(worker.widgets, l, group) - { - if ((group[0] == 'c') && (group[1] == 'p') && (group[2] == '*') && (group[3] == '*') && (group[4] == '*')) - { - char **arr = eina_str_split(group, "***", 0); - you_shall_not_pass_editor_signals(NULL); - if (!editor_group_copy(worker.project->global_object, arr[1], arr[2])) - abort(); - you_shall_pass_editor_signals(NULL); - /* reload file after group add */ - pm_dev_file_reload(worker.project); - /* add group to project structures */ - THREAD_CONTEXT_SWITCH_BEGIN; - gm_group_add(worker.project, arr[2], false); - THREAD_CONTEXT_SWITCH_END; - - free(arr[0]); - free(arr); - continue; - } - pm_project_group_import(worker.project, worker.edj, group); - } - - ecore_file_recursive_rm(tmp_dirname); - eina_tmpstr_del(tmp_dirname); - - ecore_file_cp(worker.project->dev, worker.project->saved_edj); PROGRESS_SEND(_("Import finished. Project '%s' created"), worker.project->name); if (send_end) END_SEND(PM_PROJECT_SUCCESS); --
