rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e8bd9fd98a6b32c916fb69e22b228d776d370c92
commit e8bd9fd98a6b32c916fb69e22b228d776d370c92 Author: Vyacheslav Reutskiy <[email protected]> Date: Mon Oct 10 17:49:57 2016 +0300 project export: export source if used option --export-edc This option provide set the path for export source code of editing groups. Change-Id: I0681b2db4c30351458bc67e51499de7cff8e0429 --- src/bin/eflete.c | 8 ++------ src/bin/eflete.h | 6 +----- src/bin/main.c | 25 +------------------------ src/bin/ui/project_close.c | 2 +- src/bin/ui/project_export.c | 38 +++++++++++++++++++------------------- 5 files changed, 24 insertions(+), 55 deletions(-) diff --git a/src/bin/eflete.c b/src/bin/eflete.c index a79a63a..fd23084 100644 --- a/src/bin/eflete.c +++ b/src/bin/eflete.c @@ -143,12 +143,8 @@ app_shutdown() eina_stringshare_del(ap.path.image_path); if (ap.path.export_edj) eina_stringshare_del(ap.path.export_edj); - if (ap.path.export_edc.path) - eina_stringshare_del(ap.path.export_edc.path); - if (ap.path.export_edc.folder) - eina_stringshare_del(ap.path.export_edc.folder); - if (ap.path.export_edc.file) - eina_stringshare_del(ap.path.export_edc.file); + if (ap.path.export_edc) + eina_stringshare_del(ap.path.export_edc); config_shutdown(); elm_theme_free(ap.theme); diff --git a/src/bin/eflete.h b/src/bin/eflete.h index 59156e3..768eb33 100644 --- a/src/bin/eflete.h +++ b/src/bin/eflete.h @@ -136,12 +136,8 @@ struct _App_Data Eina_Stringshare *image_path; Eina_Stringshare *sound_path; Eina_Stringshare *export_edj; + Eina_Stringshare *export_edc; Eina_Stringshare *exporter; - struct { - Eina_Stringshare *path; - Eina_Stringshare *folder; - Eina_Stringshare *file; - } export_edc; } path; Project *project; Shortcut_Module *shortcuts; /**< Structure with data from shortcuts module */ diff --git a/src/bin/main.c b/src/bin/main.c index ead20aa..9f408c1 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -182,28 +182,6 @@ _new_project(void *data __UNUSED__) tabs_home_tab_add(TAB_HOME_NEW_PROJECT); } -static void -_export_edc_path_set(char *edc) -{ - char tmp[256]; - int len = 0, rlen = 0; - - strcpy(tmp, edc); - len = strlen(tmp); - rlen = strlen(strrchr(tmp, '/')); - if (!rlen) return; - ap.path.export_edc.file = eina_stringshare_add(tmp + (len - rlen + 1)); - tmp[len - rlen] = '\0'; - - len = strlen(tmp); - rlen = strlen(strrchr(tmp, '/')); - if (!rlen) return; - ap.path.export_edc.folder = eina_stringshare_add(tmp + (len - rlen + 1)); - tmp[len - rlen] = '\0'; - - ap.path.export_edc.path = eina_stringshare_add(tmp); -} - EAPI_MAIN int elm_main(int argc, char **argv) { @@ -361,8 +339,7 @@ elm_main(int argc, char **argv) run: ap.path.export_edj = export_edj; - if (export_edc) - _export_edc_path_set(export_edc); + ap.path.export_edc = export_edc; evas_object_show(ap.win); elm_run(); #ifdef HAVE_ENVENTOR diff --git a/src/bin/ui/project_close.c b/src/bin/ui/project_close.c index 478ccf1..f0568b5 100644 --- a/src/bin/ui/project_close.c +++ b/src/bin/ui/project_close.c @@ -121,7 +121,7 @@ project_save(void) #else if (ap.path.export_edj) project_export_develop(); - if (ap.path.export_edc.path && ap.path.export_edc.folder && ap.path.export_edc.file) + if (ap.path.export_edc) project_export_edc_project(); #endif /* HAVE_TIZEN */ diff --git a/src/bin/ui/project_export.c b/src/bin/ui/project_export.c index ca7be0f..8b1984d 100644 --- a/src/bin/ui/project_export.c +++ b/src/bin/ui/project_export.c @@ -227,11 +227,12 @@ _export_source_code_setup(void *data, Splash_Status status __UNUSED__) assert(path != NULL); - result = pm_project_source_code_export(ap.project, - path, - progress_print, - progress_end, - NULL); + result = pm_group_source_code_export(ap.project, + tabs_open_groups_get(), + path, + progress_print, + progress_end, + NULL); if (PM_PROJECT_SUCCESS != result) { snprintf(buf, sizeof(buf), "Warning: %s", pm_project_result_string_get(result)); @@ -247,7 +248,7 @@ _after_export_source_code_check(void *data) ap.splash = splash_add(ap.win, _export_source_code_setup, _export_teardown, NULL, data); evas_object_focus_set(ap.splash, true); evas_object_show(ap.splash); - if (!ap.path.export_edc.path) + if (!ap.path.export_edc) popup_fileselector_helper_dismiss(); } @@ -257,28 +258,27 @@ _export_source_code(void *data __UNUSED__, void *event_info) { Eina_List *selected = (Eina_List *)event_info; - Eina_Stringshare *path, *folder; + Eina_Stringshare *path; Eina_Strbuf *buf; + Eina_Stringshare *pp; assert(selected != NULL); path = eina_stringshare_add((const char *)eina_list_data_get(selected)); buf = eina_strbuf_new(); - if (!ap.path.export_edc.folder) - folder = ap.project->name; - else - folder = ap.path.export_edc.folder; eina_strbuf_append_printf(buf, - _("<font_size=16>A project file '%s/%s' already exist." + _("<font_size=16>A project folder '%s' already exist." "Do you want to replace it?</font_size>"), - path, - folder); - exist_permission_check(path, - folder, + path); + pp = eina_stringshare_printf("%s/%s", path, ap.project->name); + + ecore_file_mkpath(pp); + exist_permission_check(pp, + ap.project->name, _("Export to develop edj-file"), eina_strbuf_string_get(buf), EINA_FALSE, - _after_export_source_code_check, (void *)path); + _after_export_source_code_check, (void *)pp); eina_strbuf_free(buf); return false; @@ -287,12 +287,12 @@ _export_source_code(void *data __UNUSED__, void project_export_edc_project(void) { - if (!ap.path.export_edc.path) + if (!ap.path.export_edc) popup_fileselector_folder_helper("Export source code", NULL, NULL, _export_source_code, NULL, false, false); else { Eina_List *l = NULL; - l = eina_list_append(l, ap.path.export_edc.path); + l = eina_list_append(l, ap.path.export_edc); _export_source_code(NULL, NULL, l); eina_list_free(l); } --
