diff --git a/src/bin/config_data.c b/src/bin/config_data.c index 27dd93d..90f0e6d 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -53,10 +53,10 @@ config_edj_path_update(config_data *cd) { char filename[PATH_MAX]; snprintf(filename, (ext - file) + 1, "%s", file); - snprintf(buf, sizeof(buf), "%s_XXXXXX.edj", filename); + snprintf(buf, sizeof(buf), "%s.edj", filename); } else - snprintf(buf, sizeof(buf), "%s_XXXXXX.edj", file); + snprintf(buf, sizeof(buf), "%s.edj", file); if (!eina_file_mkstemp(buf, &tmp_path)) { diff --git a/src/bin/globals.c b/src/bin/globals.c index 6253fe3..a6444d0 100644 --- a/src/bin/globals.c +++ b/src/bin/globals.c @@ -1,4 +1,4 @@ #include "common.h" -const char *DEFAULT_EDC_PATH_FORMAT = "/tmp/enventor_%d.edc"; +const char *DEFAULT_EDC_FORMAT = "enventor_XXXXXX.edc"; char EDJE_PATH[PATH_MAX]; diff --git a/src/bin/main.c b/src/bin/main.c index b36f5ff..6727a13 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -278,7 +278,7 @@ tools_set(Evas_Object *enventor) base_tools_set(tools); } -static void +static Eina_Bool args_dispatch(int argc, char **argv, char *edc_path, char *img_path, char *snd_path, char *fnt_path, char *dat_path, Eina_Bool *template_new) @@ -358,10 +358,17 @@ args_dispatch(int argc, char **argv, char *edc_path, char *img_path, } defaults: - if (default_edc) sprintf(edc_path, DEFAULT_EDC_PATH_FORMAT, getpid()); + if (default_edc) + { + Eina_Tmpstr *tmp_path; + eina_file_mkstemp(DEFAULT_EDC_FORMAT, &tmp_path); + sprintf(edc_path, "%s", (const char *)tmp_path); + eina_tmpstr_del(tmp_path); + } + return default_edc; } -static void +static Eina_Bool config_data_set(app_data *ad, int argc, char **argv) { char edc_path[PATH_MAX] = { 0, }; @@ -371,11 +378,14 @@ config_data_set(app_data *ad, int argc, char **argv) char dat_path[PATH_MAX] = { 0, }; Eina_Bool template_new = EINA_FALSE; - args_dispatch(argc, argv, edc_path, img_path, snd_path, fnt_path, dat_path, - &template_new); + Eina_Bool default_edc = args_dispatch(argc, argv, edc_path, img_path, + snd_path, fnt_path, dat_path, + &template_new); config_init(edc_path, img_path, snd_path, fnt_path, dat_path); config_update_cb_set(config_update_cb, ad); ad->template_new = template_new; + + return default_edc; } static void @@ -876,8 +886,8 @@ init(app_data *ad, int argc, char **argv) elm_setup(); - config_data_set(ad, argc, argv); - newfile_default_set(); + Eina_Bool default_edc = config_data_set(ad, argc, argv); + newfile_default_set(default_edc); base_gui_init(); statusbar_set(); enventor_setup(ad); diff --git a/src/bin/newfile.c b/src/bin/newfile.c index c084db3..1d9cc3a 100644 --- a/src/bin/newfile.c +++ b/src/bin/newfile.c @@ -38,7 +38,12 @@ newfile_set(Evas_Object *enventor, Eina_Bool template_new) if (template_new && config_edc_path_get()) sprintf(path, "%s", config_edc_path_get()); else - sprintf(path, DEFAULT_EDC_PATH_FORMAT, getpid()); + { + Eina_Tmpstr *tmp_path; + eina_file_mkstemp(DEFAULT_EDC_FORMAT, &tmp_path); + sprintf(path, "%s", (const char *)tmp_path); + eina_tmpstr_del(tmp_path); + } success = eina_file_copy(buf, path, EINA_FILE_COPY_DATA, NULL, NULL); if (!success) @@ -52,13 +57,13 @@ newfile_set(Evas_Object *enventor, Eina_Bool template_new) } void -newfile_default_set(void) +newfile_default_set(Eina_Bool default_edc) { Eina_Bool success = EINA_TRUE; char buf[PATH_MAX]; snprintf(buf, sizeof(buf), "%s/templates/basic.edc", elm_app_data_dir_get()); - if (!ecore_file_exists(config_edc_path_get())) + if (default_edc) { success = eina_file_copy(buf,config_edc_path_get(), EINA_FILE_COPY_DATA, NULL, NULL); diff --git a/src/include/globals.h b/src/include/globals.h index f91c5ce..df92df4 100644 --- a/src/include/globals.h +++ b/src/include/globals.h @@ -1,2 +1,2 @@ -extern const char *DEFAULT_EDC_PATH_FORMAT; +extern const char *DEFAULT_EDC_FORMAT; extern char EDJE_PATH[PATH_MAX]; diff --git a/src/include/newfile.h b/src/include/newfile.h index 35d8127..da36197 100644 --- a/src/include/newfile.h +++ b/src/include/newfile.h @@ -1,4 +1,4 @@ -void newfile_default_set(void); +void newfile_default_set(Eina_Bool default_edc); void newfile_set(Evas_Object *enventor, Eina_Bool template_new); Evas_Object * newfile_create(Evas_Object *parent, Evas_Smart_Cb selected_cb, void *data);