using std::vector;
using std::find;
using std::endl;
+using std::find_if;
+using std::for_each;
+using std::mem_fun;
+
+extern BufferView * current_view;
//
// Class BufferStorage
{
Buffer * tmpbuf = new Buffer(s, ronly);
tmpbuf->params.useClassDefaults();
- lyxerr.debug() << "Assigning to buffer "
- << container.size() << endl;
+ lyxerr[Debug::INFO] << "Assigning to buffer "
+ << container.size() << endl;
container.push_back(tmpbuf);
return tmpbuf;
}
}
-extern bool MenuWrite(Buffer *);
-extern bool MenuWriteAs(Buffer *);
-
bool BufferList::QwriteAll()
{
bool askMoreConfirmation = false;
else
fname = MakeDisplayPath((*it)->fileName(), 50);
bool reask = true;
- while(reask) {
- switch(AskConfirmation(_("Changes in document:"),
+ while (reask) {
+ switch (AskConfirmation(_("Changes in document:"),
fname,
_("Save document?"))) {
case 1: // Yes
if ((*it)->isUnnamed())
- reask = !MenuWriteAs((*it));
+ reask = !MenuWriteAs(current_view, (*it));
else {
- reask = !MenuWrite((*it));
+ reask = !MenuWrite(current_view, (*it));
}
break;
case 2: // No
fname = MakeDisplayPath(buf->fileName(), 50);
bool reask = true;
while (reask) {
- switch(AskConfirmation(_("Changes in document:"),
+ switch (AskConfirmation(_("Changes in document:"),
fname,
_("Save document?"))){
case 1: // Yes
if (buf->isUnnamed())
- reask = !MenuWriteAs(buf);
+ reask = !MenuWriteAs(current_view, buf);
else if (buf->save()) {
lastfiles->newFile(buf->fileName());
reask = false;
buf->isUnnamed() ? OnlyFilename(buf->fileName()).c_str()
: buf->fileName().c_str()) << endl;
- //if (buf->isUnnamed())
- // lyxerr << OnlyFilename(buf->fileName());
- //else
- // lyxerr << buf->fileName();
- //lyxerr << _(" as...") << endl;
-
- // Let's unroll this loop (Lgb)
-#if 0
- bool madeit = false;
-
- for (int i = 0; i < 3 && !madeit; ++i) {
- string s;
-
- // We try to save three places:
- // 1) Same place as document.
- // 2) In HOME directory.
- // 3) In "/tmp" directory.
- if (i == 0) {
- if (buf->isUnnamed())
- continue;
- s = buf->fileName();
- } else if (i == 1) {
- s = AddName(GetEnvPath("HOME"), buf->fileName());
- } else {
- // MakeAbsPath to prepend the current
- // drive letter on OS/2
- s = AddName(MakeAbsPath("/tmp/"), buf->fileName());
- }
- s += ".emergency";
-
- lyxerr << " " << i + 1 << ") " << s << endl;
-
- if (buf->writeFile(s, true)) {
- buf->markLyxClean();
- lyxerr << _(" Save seems successful. Phew.") << endl;
- madeit = true;
- } else if (i != 2) {
- lyxerr << _(" Save failed! Trying...") << endl;
- } else {
- lyxerr << _(" Save failed! Bummer. Document is lost.")
- << endl;
- }
- }
-#else
// We try to save three places:
// 1) Same place as document. Unless it is an unnamed doc.
return;
}
lyxerr << _(" Save failed! Bummer. Document is lost.") << endl;
-#endif
}
b->paragraph = new LyXParagraph;
}
- if (!lyxrc.new_ask_filename) {
- if (!isNamed)
- b->setUnnamed();
+ if (!lyxrc.new_ask_filename && !isNamed) {
+ b->setUnnamed();
+ b->setFileName(name);
}
+
b->setReadonly(false);
return b;