]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetInclude.cpp
Fix layout bug. Pasting text into a cell tried to set Standard layout, because
[lyx.git] / src / insets / InsetInclude.cpp
index 87741831e631c62d4bf35a04e645d8fb4e356a6c..5d84f0e03f0e38c2c7a09df501a6231a5c0b16d2 100644 (file)
@@ -13,7 +13,6 @@
 
 #include "InsetInclude.h"
 
-#include "LayoutFile.h"
 #include "Buffer.h"
 #include "buffer_funcs.h"
 #include "BufferList.h"
@@ -27,6 +26,7 @@
 #include "FuncRequest.h"
 #include "FuncStatus.h"
 #include "LaTeXFeatures.h"
+#include "LayoutFile.h"
 #include "LyX.h"
 #include "LyXFunc.h"
 #include "LyXRC.h"
 #include "insets/InsetListingsParams.h"
 #include "insets/RenderPreview.h"
 
-#include "support/lassert.h"
+#include "support/convert.h"
 #include "support/debug.h"
 #include "support/docstream.h"
 #include "support/FileNameList.h"
 #include "support/filetools.h"
 #include "support/gettext.h"
+#include "support/lassert.h"
 #include "support/lstrings.h" // contains
 #include "support/lyxalgo.h"
-#include "support/convert.h"
 
 #include <boost/bind.hpp>
 
@@ -185,28 +185,6 @@ InsetInclude::InsetInclude(InsetInclude const & other)
 InsetInclude::~InsetInclude()
 {
        delete label_;
-       if (isVerbatim(params()) || isListings(params()))
-               return;
-
-
-       string const parent_filename = buffer().absFileName();
-       FileName const included_file = makeAbsPath(to_utf8(params()["filename"]),
-                          onlyPath(parent_filename));
-
-       if (!isLyXFilename(included_file.absFilename()))
-               return;
-
-       Buffer * child = theBufferList().getBuffer(included_file.absFilename());
-       // File not opened, nothing to close.
-       if (!child)
-               return;
-
-       // Child document has a different parent, don't close it.
-       if (child->parent() != &buffer())
-               return;
-
-       //close the buffer.
-       theBufferList().release(child);
 }
 
 
@@ -304,7 +282,7 @@ bool InsetInclude::getStatus(Cursor & cur, FuncRequest const & cmd,
 
        case LFUN_INSET_EDIT:
        case LFUN_INSET_MODIFY:
-               flag.enabled(true);
+               flag.setEnabled(true);
                return true;
 
        default:
@@ -393,7 +371,7 @@ Buffer * loadIfNeeded(Buffer const & parent, InsetCommandParams const & params)
        if (!isLyXFilename(included_file.absFilename()))
                return 0;
 
-       Buffer * child = theBufferList().getBuffer(included_file.absFilename());
+       Buffer * child = theBufferList().getBuffer(included_file);
        if (!child) {
                // the readonly flag can/will be wrong, not anymore I think.
                if (!included_file.exists())
@@ -481,7 +459,7 @@ int InsetInclude::latex(odocstream & os, OutputParams const & runparams) const
                if (!loadIfNeeded(buffer(), params()))
                        return false;
 
-               Buffer * tmp = theBufferList().getBuffer(included_file.absFilename());
+               Buffer * tmp = theBufferList().getBuffer(included_file);
 
                if (tmp->params().baseClass() != masterBuffer->params().baseClass()) {
                        // FIXME UNICODE
@@ -639,7 +617,7 @@ int InsetInclude::docbook(odocstream & os, OutputParams const & runparams) const
        DocFileName writefile(changeExtension(included_file, ".sgml"));
 
        if (loadIfNeeded(buffer(), params())) {
-               Buffer * tmp = theBufferList().getBuffer(included_file);
+               Buffer * tmp = theBufferList().getBuffer(FileName(included_file));
 
                string const mangled = writefile.mangledFilename();
                writefile = makeAbsPath(mangled,
@@ -703,7 +681,7 @@ void InsetInclude::validate(LaTeXFeatures & features) const
        // to be loaded:
        if (loadIfNeeded(buffer(), params())) {
                // a file got loaded
-               Buffer * const tmp = theBufferList().getBuffer(included_file);
+               Buffer * const tmp = theBufferList().getBuffer(FileName(included_file));
                // make sure the buffer isn't us
                // FIXME RECURSIVE INCLUDES
                // This is not sufficient, as recursive includes could be
@@ -725,7 +703,7 @@ void InsetInclude::fillWithBibKeys(BiblioInfo & keys,
 {
        if (loadIfNeeded(buffer(), params())) {
                string const included_file = includedFilename(buffer(), params()).absFilename();
-               Buffer * tmp = theBufferList().getBuffer(included_file);
+               Buffer * tmp = theBufferList().getBuffer(FileName(included_file));
                BiblioInfo const & newkeys = tmp->localBibInfo();
                keys.mergeBiblioInfo(newkeys);
        }
@@ -934,7 +912,7 @@ void InsetInclude::updateLabels(ParIterator const & it)
 
        InsetListingsParams const par(to_utf8(params()["lstparams"]));
        if (par.getParamValue("caption").empty()) {
-               listings_label_.clear();
+               listings_label_ = buffer().B_("Program Listing");
                return;
        }
        Buffer const & master = *buffer().masterBuffer();