From: dooglus Date: Sun, 1 Apr 2007 15:28:30 +0000 (+0000) Subject: Fix 1686425: prompt before overwriting an existing file with 'save as'. X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=0fc90d30508750c158f68fde20ede35212ef5e77;p=synfig.git Fix 1686425: prompt before overwriting an existing file with 'save as'. git-svn-id: http://svn.voria.com/code@407 1f10aa63-cdf2-0310-b900-c93c546f37ac --- diff --git a/synfig-studio/trunk/src/gtkmm/instance.cpp b/synfig-studio/trunk/src/gtkmm/instance.cpp index 378c7c2..58ef103 100644 --- a/synfig-studio/trunk/src/gtkmm/instance.cpp +++ b/synfig-studio/trunk/src/gtkmm/instance.cpp @@ -50,6 +50,8 @@ #include "widget_waypointmodel.h" #include #include "iconcontroler.h" +#include +#include #endif @@ -274,6 +276,19 @@ studio::Instance::dialog_save_as() continue; } + { + struct stat s; + // if stat() succeeds, or it fails with something other than 'file doesn't exist', the file exists + // if the file exists and the user doesn't want to overwrite it, keep prompting for a filename + if ((stat(filename.c_str(), &s) != -1 || errno != ENOENT) && + !App::dialog_yes_no("File exists", + "A file named '" + + filename + + "' already exists.\n\n" + "Do you want to replace it with the file you are saving?")) + continue; + } + if(save_as(filename)) break;