X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferlist.C;h=ecfcb4945aee23100197efc12214d222191c1b52;hb=31b56dac8042735f75229ad480b3e98531c181ff;hp=99fcd4dd45370d9258f30b3f90e9e55a4c989e60;hpb=0c978e6a3fb133c97d95e87715add6bae26f7837;p=lyx.git diff --git a/src/bufferlist.C b/src/bufferlist.C index 99fcd4dd45..ecfcb4945a 100644 --- a/src/bufferlist.C +++ b/src/bufferlist.C @@ -4,9 +4,9 @@ * LyX, The Document Word Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. + * Copyright 1995-2001 The LyX Team. * - * This file is Copyright 1996-2000 + * This file is Copyright 1996-2001 * Lars Gullik Bjønnes * * ====================================================== @@ -23,7 +23,6 @@ #include "bufferlist.h" #include "lyx_main.h" -#include "minibuffer.h" #include "support/FileInfo.h" #include "support/filetools.h" #include "support/lyxmanip.h" @@ -47,12 +46,15 @@ using std::find_if; using std::for_each; using std::mem_fun; +extern BufferView * current_view; + // // Class BufferStorage // void BufferStorage::release(Buffer * buf) { + lyx::Assert(buf); Container::iterator it = find(container.begin(), container.end(), buf); if (it != container.end()) { // Make sure that we don't store a LyXText in @@ -70,8 +72,8 @@ Buffer * BufferStorage::newBuffer(string const & s, bool ronly) { 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; } @@ -92,9 +94,6 @@ bool BufferList::empty() const } -extern bool MenuWrite(Buffer *); -extern bool MenuWriteAs(Buffer *); - bool BufferList::QwriteAll() { bool askMoreConfirmation = false; @@ -108,15 +107,15 @@ bool BufferList::QwriteAll() else fname = MakeDisplayPath((*it)->fileName(), 50); bool reask = true; - while(reask) { + while (reask) { switch (AskConfirmation(_("Changes in document:"), fname, _("Save document?"))) { case 1: // Yes if ((*it)->isUnnamed()) - reask = !MenuWriteAs((*it)); + reask = !WriteAs(current_view, (*it)); else { - reask = !MenuWrite((*it)); + reask = !MenuWrite(current_view, (*it)); } break; case 2: // No @@ -170,6 +169,8 @@ void BufferList::resize() bool BufferList::close(Buffer * buf) { + lyx::Assert(buf); + // CHECK // Trace back why we need to use buf->getUser here. // Perhaps slight rewrite is in order? (Lgb) @@ -190,7 +191,7 @@ bool BufferList::close(Buffer * buf) _("Save document?"))){ case 1: // Yes if (buf->isUnnamed()) - reask = !MenuWriteAs(buf); + reask = !WriteAs(current_view, buf); else if (buf->save()) { lastfiles->newFile(buf->fileName()); reask = false; @@ -225,7 +226,7 @@ vector const BufferList::getFileNames() const { vector nvec; std::copy(bstore.begin(), bstore.end(), - back_inserter_fun(nvec, &Buffer::fileName)); + lyx::back_inserter_fun(nvec, &Buffer::fileName)); return nvec; } @@ -246,7 +247,9 @@ Buffer * BufferList::getBuffer(unsigned int choice) int BufferList::unlockInset(UpdatableInset * inset) { - if (!inset) return 1; + lyx::Assert(inset); + + //if (!inset) return 1; for (BufferStorage::iterator it = bstore.begin(); it != bstore.end(); ++it) { if ((*it)->getUser() @@ -278,12 +281,17 @@ void BufferList::updateIncludedTeXfiles(string const & mastertmpdir) void BufferList::emergencyWriteAll() { for_each(bstore.begin(), bstore.end(), - class_fun(*this, &BufferList::emergencyWrite)); + lyx::class_fun(*this, &BufferList::emergencyWrite)); } void BufferList::emergencyWrite(Buffer * buf) { + // assert(buf) // this is not good since C assert takes an int + // and a pointer is a long (JMarc) + assert(buf != 0); // use c assert to avoid a loop + + // No need to save if the buffer has not changed. if (buf->isLyxClean()) return; @@ -407,12 +415,15 @@ Buffer * BufferList::readFile(string const & s, bool ronly) bool BufferList::exists(string const & s) const { return find_if(bstore.begin(), bstore.end(), - compare_memfun(&Buffer::fileName, s)) != bstore.end(); + lyx::compare_memfun(&Buffer::fileName, s)) + != bstore.end(); } bool BufferList::isLoaded(Buffer const * b) const { + lyx::Assert(b); + BufferStorage::const_iterator cit = find(bstore.begin(), bstore.end(), b); return cit != bstore.end(); @@ -423,7 +434,7 @@ Buffer * BufferList::getBuffer(string const & s) { BufferStorage::iterator it = find_if(bstore.begin(), bstore.end(), - compare_memfun(&Buffer::fileName, s)); + lyx::compare_memfun(&Buffer::fileName, s)); return it != bstore.end() ? (*it) : 0; } @@ -492,11 +503,6 @@ Buffer * BufferList::loadLyXFile(string const & filename, bool tolastfiles) bool ro = false; switch (IsFileWriteable(s)) { case 0: -#if 0 - current_view->owner()->getMiniBuffer()-> - Set(_("File `") + MakeDisplayPath(s, 50) + - _("' is read-only.")); -#endif ro = true; // Fall through case 1: