]> git.lyx.org Git - features.git/blobdiff - src/insets/InsetInclude.cpp
* Lazy MathData to avoid unneeded interpretation of macro definitions
[features.git] / src / insets / InsetInclude.cpp
index 9aff3d66b84150f614554d523edb9273b690a3c5..42a61077fc3ceedc305efcce125c3b979c5f2659 100644 (file)
 #include "support/filetools.h"
 #include "support/lstrings.h" // contains
 #include "support/lyxalgo.h"
-#include "support/lyxlib.h"
 #include "support/convert.h"
 
 #include <boost/bind.hpp>
 
 using namespace std;
+using namespace lyx::support;
 
 namespace lyx {
 
-using support::addName;
-using support::absolutePath;
-using support::bformat;
-using support::changeExtension;
-using support::contains;
-using support::copy;
-using support::DocFileName;
-using support::FileName;
-using support::FileNameList;
-using support::getVectorFromString;
-using support::isLyXFilename;
-using support::isValidLaTeXFilename;
-using support::latex_path;
-using support::makeAbsPath;
-using support::makeRelPath;
-using support::onlyFilename;
-using support::onlyPath;
-using support::prefixIs;
-using support::subst;
-
 namespace Alert = frontend::Alert;
 
 
@@ -95,7 +75,7 @@ enum Types {
 };
 
 
-Types type(std::string const & s)
+Types type(string const & s)
 {
        if (s == "input")
                return INPUT;
@@ -155,7 +135,7 @@ InsetInclude::InsetInclude(InsetInclude const & other)
 }
 
 
-CommandInfo const * InsetInclude::findInfo(std::string const & /* cmdName */)
+CommandInfo const * InsetInclude::findInfo(string const & /* cmdName */)
 {
        // FIXME
        // This is only correct for the case of listings, but it'll do for now.
@@ -167,7 +147,7 @@ CommandInfo const * InsetInclude::findInfo(std::string const & /* cmdName */)
 }
 
 
-bool InsetInclude::isCompatibleCommand(std::string const & s)
+bool InsetInclude::isCompatibleCommand(string const & s)
 {
        return type(s) != NONE;
 }
@@ -288,9 +268,7 @@ docstring const InsetInclude::getScreenLabel(Buffer const & buf) const
 }
 
 
-namespace {
-
-/// return the child buffer if the file is a LyX doc and is loaded
+       /// return the child buffer if the file is a LyX doc and is loaded
 Buffer * getChildBuffer(Buffer const & buffer, InsetCommandParams const & params)
 {
        if (isVerbatim(params) || isListings(params))
@@ -309,9 +287,6 @@ Buffer * getChildBuffer(Buffer const & buffer, InsetCommandParams const & params
                return childBuffer;
 }
 
-} // namespace anon
-
-
 /// return true if the file is or got loaded.
 Buffer * loadIfNeeded(Buffer const & parent, InsetCommandParams const & params)
 {
@@ -332,6 +307,10 @@ Buffer * loadIfNeeded(Buffer const & parent, InsetCommandParams const & params)
                        return 0;
 
                child = theBufferList().newBuffer(included_file.absFilename());
+               if (!child)
+                       // Buffer creation is not possible.
+                       return 0;
+
                if (!child->loadLyXFile(included_file)) {
                        //close the buffer we just opened
                        theBufferList().release(child);
@@ -402,7 +381,7 @@ int InsetInclude::latex(Buffer const & buffer, odocstream & os,
 
        // if incfile is relative, make it relative to the master
        // buffer directory.
-       if (!absolutePath(incfile)) {
+       if (!FileName(incfile).isAbsolute()) {
                // FIXME UNICODE
                incfile = to_utf8(makeRelPath(from_utf8(included_file.absFilename()),
                                              from_utf8(masterBuffer->filePath())));
@@ -494,7 +473,7 @@ int InsetInclude::latex(Buffer const & buffer, odocstream & os,
                unsigned long const checksum_out = writefile.checksum();
 
                if (checksum_in != checksum_out) {
-                       if (!copy(included_file, writefile)) {
+                       if (!included_file.copyTo(writefile)) {
                                // FIXME UNICODE
                                LYXERR(Debug::LATEX,
                                        to_utf8(bformat(_("Could not copy the file\n%1$s\n"
@@ -679,7 +658,7 @@ void InsetInclude::validate(LaTeXFeatures & features) const
 
 
 void InsetInclude::getLabelList(Buffer const & buffer,
-                               std::vector<docstring> & list) const
+                               vector<docstring> & list) const
 {
        if (isListings(params())) {
                InsetListingsParams p(to_utf8(params()["lstparams"]));