okra pushed a commit to branch master. http://git.enlightenment.org/apps/ephoto.git/commit/?id=fb87d20f13c9c32e53be622a0ab3bce736ca7ea8
commit fb87d20f13c9c32e53be622a0ab3bce736ca7ea8 Author: Stephen Houston <[email protected]> Date: Thu Mar 5 16:18:17 2015 -0600 Ephoto: Fix an issue where overwrite was not working. On save as, add the new entry and change dirs. --- src/bin/ephoto_single_browser.c | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/src/bin/ephoto_single_browser.c b/src/bin/ephoto_single_browser.c index 81ea982..71c5328 100644 --- a/src/bin/ephoto_single_browser.c +++ b/src/bin/ephoto_single_browser.c @@ -899,14 +899,16 @@ _save_yes(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED { success = ecore_file_unlink(sb->entry->path); if (!success) - _failed_save(sb); - } - else - { - success = evas_object_image_save(elm_image_object_get(v->image), sb->entry->path, NULL, NULL); - if (!success) - _failed_save(sb); + { + _failed_save(sb); + ephoto_single_browser_entry_set(sb->main, sb->entry); + evas_object_del(win); + return; + } } + success = evas_object_image_save(elm_image_object_get(v->image), sb->entry->path, NULL, NULL); + if (!success) + _failed_save(sb); ephoto_single_browser_entry_set(sb->main, sb->entry); evas_object_del(win); } @@ -991,13 +993,22 @@ _save_image_as_overwrite(void *data, Evas_Object *obj EINA_UNUSED, void *event_i { success = ecore_file_unlink(file); if (!success) - _failed_save(sb); + { + _failed_save(sb); + ephoto_single_browser_entry_set(sb->main, sb->entry); + evas_object_del(win); + return; + } } + success = evas_object_image_save(elm_image_object_get(v->image), file, NULL, NULL); + if (!success) + _failed_save(sb); else { - success = evas_object_image_save(elm_image_object_get(v->image), file, NULL, NULL); - if (!success) - _failed_save(sb); + char *dir = ecore_file_dir_get(file); + ephoto_directory_set(sb->ephoto, dir); + free(dir); + ephoto_single_browser_path_pending_set(sb->ephoto->single_browser, file); } ephoto_single_browser_entry_set(sb->main, sb->entry); evas_object_del(win); @@ -1079,6 +1090,13 @@ _save_image_as_done(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) success = evas_object_image_save(elm_image_object_get(v->image), buf, NULL, NULL); if (!success) _failed_save(sb); + else + { + char *dir = ecore_file_dir_get(buf); + ephoto_directory_set(sb->ephoto, dir); + free(dir); + ephoto_single_browser_path_pending_set(sb->ephoto->single_browser, buf); + } } } evas_object_del(win); --
