]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.cpp
Embedding: saving inzip name to .lyx file so that embedded files can always be found...
[lyx.git] / src / Buffer.cpp
index 2779f7700fbf87ddec39b530333e5cf99242214a..5d90106fad5361212d24e96452d56def64027bd6 100644 (file)
@@ -118,7 +118,7 @@ namespace os = support::os;
 
 namespace {
 
-int const LYX_FORMAT = 310; // Bernhard Reiter: support for \nocite{*}
+int const LYX_FORMAT = 311; // Richard Heck: a dummy format to drive the AMS conversion
 
 } // namespace anon
 
@@ -192,7 +192,7 @@ public:
        map<string, ErrorList> errorLists;
 
        /// all embedded files of this buffer
-       EmbeddedFiles embedded_files;
+       EmbeddedFileList embedded_files;
 
        /// timestamp and checksum used to test if the file has been externally
        /// modified. (Used to properly enable 'File->Revert to saved', bug 4114).
@@ -207,7 +207,7 @@ public:
 
        /// A cache for the bibfiles (including bibfiles of loaded child
        /// documents), needed for appropriate update of natbib labels.
-       mutable FileNameList bibfilesCache_;
+       mutable EmbeddedFileList bibfilesCache_;
 };
 
 /// Creates the per buffer temporary directory
@@ -233,7 +233,7 @@ Buffer::Impl::Impl(Buffer & parent, FileName const & file, bool readonly_)
        : parent_buffer(0), lyx_clean(true), bak_clean(true), unnamed(false),
          read_only(readonly_), filename(file), file_fully_loaded(false),
          inset(params), toc_backend(&parent), macro_lock(false),
-         embedded_files(&parent), timestamp_(0), checksum_(0), wa_(0), 
+         embedded_files(), timestamp_(0), checksum_(0), wa_(0), 
          undo_(parent)
 {
        temppath = createBufferTmpDir();
@@ -366,18 +366,24 @@ TocBackend & Buffer::tocBackend() const
 }
 
 
-EmbeddedFiles & Buffer::embeddedFiles()
+EmbeddedFileList & Buffer::embeddedFiles()
 {
        return d->embedded_files;
 }
 
 
-EmbeddedFiles const & Buffer::embeddedFiles() const
+EmbeddedFileList const & Buffer::embeddedFiles() const
 {
        return d->embedded_files;
 }
 
 
+bool Buffer::embedded() const
+{
+       return params().embedded;
+}
+
+
 Undo & Buffer::undo()
 {
        return d->undo_;
@@ -915,7 +921,7 @@ bool Buffer::writeFile(FileName const & fname) const
                message(str + _(" writing embedded files!."));
                // if embedding is enabled, write file.lyx and all the embedded files
                // to the zip file fname.
-               if (!d->embedded_files.writeFile(fname)) {
+               if (!d->embedded_files.writeFile(fname, *this)) {
                        message(str + _(" could not write embedded files!."));
                        return false;
                }
@@ -1384,7 +1390,7 @@ void Buffer::updateBibfilesCache() const
                if (it->lyxCode() == BIBTEX_CODE) {
                        InsetBibtex const & inset =
                                static_cast<InsetBibtex const &>(*it);
-                       FileNameList const bibfiles = inset.getFiles(*this);
+                       EmbeddedFileList const bibfiles = inset.getFiles(*this);
                        d->bibfilesCache_.insert(d->bibfilesCache_.end(),
                                bibfiles.begin(),
                                bibfiles.end());
@@ -1392,7 +1398,7 @@ void Buffer::updateBibfilesCache() const
                        InsetInclude & inset =
                                static_cast<InsetInclude &>(*it);
                        inset.updateBibfilesCache(*this);
-                       FileNameList const & bibfiles =
+                       EmbeddedFileList const & bibfiles =
                                        inset.getBibfilesCache(*this);
                        d->bibfilesCache_.insert(d->bibfilesCache_.end(),
                                bibfiles.begin(),
@@ -1402,7 +1408,7 @@ void Buffer::updateBibfilesCache() const
 }
 
 
-FileNameList const & Buffer::getBibfilesCache() const
+EmbeddedFileList const & Buffer::getBibfilesCache() const
 {
        // if this is a child document and the parent is already loaded
        // use the parent's cache instead