/* === S Y N F I G ========================================================= */
-/*! \file instance.cpp
+/*! \file gtkmm/instance.cpp
** \brief writeme
**
-** $Id: instance.cpp,v 1.2 2005/01/13 18:37:30 darco Exp $
+** $Id$
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
#include "widget_waypointmodel.h"
#include <gtkmm/actiongroup.h>
#include "iconcontroler.h"
+#include <sys/stat.h>
+#include <errno.h>
#endif
}
}
- while(App::dialog_saveas_file("SaveAs", filename))
+ // show the canvas' name if it has one, else its ID
+ while(App::dialog_saveas_file(_("Choose a Filename to Save As") +
+ String(" (") +
+ (canvas->get_name().empty()
+ ? canvas->get_id()
+ : canvas->get_name()) +
+ ") ...", filename))
{
// If the filename still has wildcards, then we should
// continue looking for the file we want
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;
Instance::safe_revert()
{
if(synfigapp::Instance::get_action_count())
- if(!App::dialog_yes_no(_("Revert to saved"), _("You will loose any changes you have made since your last save.\nAre you sure?")))
+ if(!App::dialog_yes_no(_("Revert to saved"), _("You will lose any changes you have made since your last save.\nAre you sure?")))
return false;
revert();
return true;