#include "support/lyxfunctional.h"
#include "support/LAssert.h"
+#include <boost/bind.hpp>
+#include "BoostFormat.h"
+
#include <cassert>
#include <algorithm>
#include <functional>
if (buf->getUser())
buf->getUser()->insetUnlock();
- if (buf->paragraph && !buf->isClean() && !quitting) {
+ if (!buf->paragraphs.empty() && !buf->isClean() && !quitting) {
if (buf->getUser())
buf->getUser()->owner()->prohibitInput();
string fname;
void BufferList::emergencyWriteAll()
{
for_each(bstore.begin(), bstore.end(),
- lyx::void_class_fun(*this, &BufferList::emergencyWrite));
+ boost::bind(&BufferList::emergencyWrite, this, _1));
}
if (buf->isClean())
return;
- lyxerr << fmt(_("lyx: Attempting to save document %s as..."),
- buf->isUnnamed() ? OnlyFilename(buf->fileName()).c_str()
- : buf->fileName().c_str()) << endl;
+ string const doc = buf->isUnnamed()
+ ? OnlyFilename(buf->fileName()) : buf->fileName();
+#if USE_BOOST_FORMAT
+ lyxerr << boost::format(_("LyX: Attempting to save document %1$s"))
+ % doc
+ << endl;
+#else
+ lyxerr << _("LyX: Attempting to save document ") << doc << endl;
+#endif
// We try to save three places:
// 1) Same place as document. Unless it is an unnamed doc.
// 2) In HOME directory.
string s = AddName(GetEnvPath("HOME"), buf->fileName());
s += ".emergency";
- lyxerr << " " << s << endl;
+ lyxerr << ' ' << s << endl;
if (buf->writeFile(s)) {
buf->markClean();
lyxerr << _(" Save seems successful. Phew.") << endl;
// drive letter on OS/2
s = AddName(MakeAbsPath("/tmp/"), buf->fileName());
s += ".emergency";
- lyxerr << " " << s << endl;
+ lyxerr << ' ' << s << endl;
if (buf->writeFile(s)) {
buf->markClean();
lyxerr << _(" Save seems successful. Phew.") << endl;
// not sure if this is the correct place to begin LyXLex
LyXLex lex(0, 0);
lex.setFile(ts);
- if (b->readFile(lex))
+ if (b->readFile(lex, ts))
return b;
else {
bstore.release(b);
LyXLex lex(0, 0);
lex.setFile(tname);
if (lex.isOK()) {
- if (b->readFile(lex)) {
+ if (b->readFile(lex, tname)) {
templateok = true;
}
}
Alert::alert(_("Error!"), _("Unable to open template"),
MakeDisplayPath(tname));
// no template, start with empty buffer
- b->paragraph = new Paragraph;
- b->paragraph->layout(b->params.getLyXTextClass().defaultLayout());
+ b->paragraphs.set(new Paragraph);
+ b->paragraphs.begin()->layout(b->params.getLyXTextClass().defaultLayout());
}
} else { // start with empty buffer
- b->paragraph = new Paragraph;
- b->paragraph->layout(b->params.getLyXTextClass().defaultLayout());
+ b->paragraphs.set(new Paragraph);
+ b->paragraphs.begin()->layout(b->params.getLyXTextClass().defaultLayout());
}
if (!isNamed) {
return b;
}
+
+
+void BufferList::setCurrentAuthor(string const & name, string const & email)
+{
+ BufferStorage::iterator it = bstore.begin();
+ BufferStorage::iterator end = bstore.end();
+ for (; it != end; ++it) {
+ (*it)->authors().record(0, Author(name, email));
+ }
+}