#include "support/LAssert.h"
#include <boost/bind.hpp>
-#include "BoostFormat.h"
+#include "support/BoostFormat.h"
#include <cassert>
#include <algorithm>
string text = fmt.str();
#else
string text = _("The document ");
- text += file + _(" has unsaved changes.\n\nDo you want to save the document?");
+ text += file + _(" has unsaved changes.\n\nWhat do you want to do with it?");
#endif
int const ret = Alert::prompt(_("Save changed document?"),
- text, 0, _("&Save"), _("&Discard"), _("&Cancel quit"));
+ text, 0, 2, _("&Save Changes"), _("&Discard Changes"), _("&Cancel"));
if (ret == 0) {
// FIXME: WriteAs can be asynch !
bool succeeded;
if (buf->isUnnamed())
- succeeded = !WriteAs(current_view, buf);
+ succeeded = WriteAs(current_view, buf);
else
- succeeded = !MenuWrite(current_view, buf);
+ succeeded = MenuWrite(current_view, buf);
if (!succeeded)
return false;
textcache.clear();
while (!bstore.empty()) {
- close(bstore.front(), true);
+ close(bstore.front(), false);
}
}
{
lyx::Assert(buf);
+ // FIXME: is the quitting check still necessary ?
if (!ask || buf->isClean() || quitting || buf->paragraphs.empty()) {
release(buf);
return true;
string text = fmt.str();
#else
string text = _("The document ");
- text += fname + _(" has unsaved changes.\n\nDo you want to save the document?");
+ text += fname + _(" has unsaved changes.\n\nWhat do you want to do with it?");
#endif
int const ret = Alert::prompt(_("Save changed document?"),
- text, 0, _("&Save"), _("&Discard"));
+ text, 0, 2, _("&Save Changes"), _("&Discard Changes"), _("&Cancel"));
if (ret == 0) {
if (buf->isUnnamed()) {
} else {
return false;
}
+ } else if (ret == 2) {
+ return false;
}
-
+
if (buf->isUnnamed()) {
removeAutosaveFile(buf->fileName());
}
FileInfo fileInfo2(s);
if (!fileInfo2.exist()) {
- Alert::alert(_("Error!"), _("Cannot open file"),
- MakeDisplayPath(s));
+ string const file = MakeDisplayPath(s, 50);
+#if USE_BOOST_FORMAT
+ boost::format fmt(_("The specified document\n%1$s\ncould not be read."));
+ fmt % file;
+ string text = fmt.str();
+#else
+ string text = _("The specified document\n");
+ text += file + _(" could not be read.");
+#endif
+ Alert::error(_("Could not read document"), text);
return 0;
}
text += file + _(" exists.\n\nRecover emergency save?");
#endif
int const ret = Alert::prompt(_("Load emergency save?"),
- text, 0, _("&Recover"), _("&Load original"));
+ text, 0, 1, _("&Recover"), _("&Load Original"));
if (ret == 0) {
ts = e;
text += file + _(" is newer.\n\nLoad the backup instead?");
#endif
int const ret = Alert::prompt(_("Load backup?"),
- text, 0, _("&Load backup"), _("Load &original"));
+ text, 0, 1, _("&Load backup"), _("Load &original"));
if (ret == 0) {
ts = a;
}
}
if (!templateok) {
- Alert::alert(_("Error!"), _("Unable to open template"),
- MakeDisplayPath(tname));
+ string const file = MakeDisplayPath(tname, 50);
+#if USE_BOOST_FORMAT
+ boost::format fmt(_("The specified document template\n%1$s\ncould not be read."));
+ fmt % file;
+ string text = fmt.str();
+#else
+ string text = _("The specified document template\n");
+ text += file + _(" could not be read.");
+#endif
+ Alert::error(_("Could not read template"), text);
// no template, start with empty buffer
b->paragraphs.set(new Paragraph);
b->paragraphs.begin()->layout(b->params.getLyXTextClass().defaultLayout());
}
b->setReadonly(false);
-
+ b->updateDocLang(b->params.language);
+
return b;
}
text += file + _(" is already loaded.\n\nDo you want to revert to the saved version?");
#endif
int const ret = Alert::prompt(_("Revert to saved document?"),
- text, 1, _("&Revert"), _("&Switch to document"));
+ text, 0, 1, _("&Revert"), _("&Switch to document"));
if (ret == 0) {
// FIXME: should be LFUN_REVERT
text += file + _(" from version control?");
#endif
int const ret = Alert::prompt(_("Retrieve from version control?"),
- text, 0, _("&Retrieve"), _("&Cancel"));
+ text, 0, 1, _("&Retrieve"), _("&Cancel"));
if (ret == 0) {
// How can we know _how_ to do the checkout?
text += file + _(" does not yet exist.\n\nDo you want to create a new document?");
#endif
int const ret = Alert::prompt(_("Create new document?"),
- text, 0, _("&Create"), _("Cancel"));
+ text, 0, 1, _("&Create"), _("Cancel"));
if (ret == 0)
b = newFile(s, string(), true);