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);

-- 


Reply via email to