*
* LyX, The Document Word Processor
*
- * Copyright 1995 Matthias Ettrich
- * Copyright 1995-2000 The LyX Team.
+ * Copyright 1995 Matthias Ettrich
+ * Copyright 1995-2000 The LyX Team.
*
* This file is Copyright 1996-2000
* Lars Gullik Bjønnes
#include "vc-backend.h"
#include "TextCache.h"
-extern int RunLinuxDoc(int, string const &);
+extern BufferView * current_view; // called too many times in this file...
+using std::vector;
using std::find;
+using std::endl;
//
// Class BufferStorage
}
-Buffer * BufferStorage::newBuffer(string const & s,
- LyXRC * lyxrc,
- bool ronly)
+Buffer * BufferStorage::newBuffer(string const & s, bool ronly)
{
- Buffer * tmpbuf = new Buffer(s, lyxrc, ronly);
+ Buffer * tmpbuf = new Buffer(s, ronly);
tmpbuf->params.useClassDefaults();
lyxerr.debug() << "Assigning to buffer "
<< container.size() << endl;
}
}
if (askMoreConfirmation &&
- lyxrc->exit_confirmation &&
+ lyxrc.exit_confirmation &&
!AskQuestion(_("Some documents were not saved:"),
unsaved, _("Exit anyway?"))) {
return false;
if (buf->getUser()) buf->getUser()->insetUnlock();
if (buf->paragraph && !buf->isLyxClean() && !quitting) {
- ProhibitInput();
+ ProhibitInput(buf->getUser());
switch(AskConfirmation(_("Changes in document:"),
MakeDisplayPath(buf->fileName(), 50),
_("Save document?"))){
case 1: // Yes
-#if 0
- if (write(buf, lyxrc->make_backup)) {
- lastfiles->newFile(buf->fileName());
- } else {
- AllowInput();
- return false;
- }
-#else
- if (buf->save(lyxrc->make_backup)) {
+ if (buf->save()) {
lastfiles->newFile(buf->fileName());
} else {
- AllowInput();
+ AllowInput(buf->getUser());
return false;
}
-#endif
break;
case 3: // Cancel
- AllowInput();
+ AllowInput(buf->getUser());
return false;
}
- AllowInput();
+ AllowInput(buf->getUser());
}
bstore.release(buf);
}
-void BufferList::updateInset(Inset * inset, bool mark_dirty)
-{
- for (BufferStorage::iterator it = bstore.begin();
- it != bstore.end(); ++it) {
- if ((*it)->getUser()
- && (*it)->getUser()->text->UpdateInset(inset)) {
- if (mark_dirty)
- (*it)->markDirty();
- break;
- }
- }
-}
-
-
int BufferList::unlockInset(UpdatableInset * inset)
{
if (!inset) return 1;
Buffer * BufferList::readFile(string const & s, bool ronly)
{
- Buffer * b = bstore.newBuffer(s, lyxrc, ronly);
+ Buffer * b = bstore.newBuffer(s, ronly);
string ts = s;
string e = OnlyPath(s);
Buffer * BufferList::newFile(string const & name, string tname)
{
// get a free buffer
- Buffer * b = bstore.newBuffer(name, lyxrc);
+ Buffer * b = bstore.newBuffer(name);
// use defaults.lyx as a default template if it exists.
if (tname.empty()) {
// make sure our path is absolute
string s = MakeAbsPath(filename);
- // Is this done too early?
- // Is it LinuxDoc?
- if (IsSGMLFilename(s)) {
- FileInfo fi(s);
- if (fi.exist() && fi.readable()) {
- if (!RunLinuxDoc(-1, s)) {
- s = ChangeExtension (s, ".lyx", false);
- } else { // sgml2lyx failed
- WriteAlert(_("Error!"),
- _("Could not convert file"), s);
- return 0;
- }
- } else {
- // just change the extension and it will be
- // handled like a regular lyx file that does
- // not exist.
- s = ChangeExtension(s, ".lyx", false);
- }
- }
-
// file already open?
if (exists(s)) {
if (AskQuestion(_("Document is already open:"),