]> git.lyx.org Git - lyx.git/blobdiff - src/TextClass.cpp
Fix scons and CmdDef.h for the introduction of CmdDef.
[lyx.git] / src / TextClass.cpp
index 83a7bf9e3332d844e7f8552d008ca6752ee73213..5397227b08652f5b19c5d61428801656c92c38a8 100644 (file)
 #include "support/filetools.h"
 #include "support/os.h"
 
-#include <boost/filesystem/operations.hpp>
-
 #include <sstream>
 
-namespace fs = boost::filesystem;
-
 namespace lyx {
 
 using support::FileName;
@@ -177,7 +173,7 @@ enum TextClassTags {
 // Reads a textclass structure from file.
 bool TextClass::read(FileName const & filename, ReadType rt)
 {
-       if (!support::isFileReadable(filename)) {
+       if (!filename.isFileReadable()) {
                lyxerr << "Cannot read layout file `" << filename << "'."
                       << endl;
                return true;
@@ -620,7 +616,9 @@ enum InsetLayoutTags {
        IL_LATEXPARAM,
        IL_LATEXTYPE,
        IL_LYXTYPE,
+       IL_MULTIPAR,
        IL_PREAMBLE,
+       IL_VERBATIM,
        IL_END
 };
 
@@ -638,7 +636,9 @@ void TextClass::readInsetLayout(Lexer & lexrc, docstring const & name)
                { "latexparam", IL_LATEXPARAM },
                { "latextype", IL_LATEXTYPE },
                { "lyxtype", IL_LYXTYPE },
-               { "preamble", IL_PREAMBLE }
+               { "multipar", IL_MULTIPAR },
+               { "preamble", IL_PREAMBLE },
+               { "verbatim", IL_VERBATIM }
        };
 
        lexrc.pushTable(elementTags, IL_END);
@@ -649,10 +649,12 @@ void TextClass::readInsetLayout(Lexer & lexrc, docstring const & name)
        string decoration;
        string latexname;
        string latexparam;
-       Font font(Font::ALL_INHERIT);
-       Font labelfont(Font::ALL_INHERIT);
+       Font font(defaultfont());
+       Font labelfont(defaultfont());
        Color::color bgcolor(Color::background);
        string preamble;
+       bool multipar(false);
+       bool verbatim(false);
 
        bool getout = false;
        while (!getout && lexrc.isOK()) {
@@ -692,6 +694,14 @@ void TextClass::readInsetLayout(Lexer & lexrc, docstring const & name)
                        labelfont.lyxRead(lexrc);
                        labelfont.realize(defaultfont());
                        break;
+               case IL_MULTIPAR:
+                       lexrc.next();
+                       multipar = lexrc.getBool();
+                       break;
+               case IL_VERBATIM:
+                       lexrc.next();
+                       verbatim = lexrc.getBool();
+                       break;
                case IL_FONT:
                        font.lyxRead(lexrc);
                        font.realize(defaultfont());
@@ -724,6 +734,8 @@ void TextClass::readInsetLayout(Lexer & lexrc, docstring const & name)
                il.latextype = latextype;
                il.latexname = latexname;
                il.latexparam = latexparam;
+               il.multipar = multipar;
+               il.verbatim = verbatim;
                il.font = font;
                il.labelfont = labelfont;
                il.bgcolor = bgcolor;           
@@ -1006,7 +1018,7 @@ bool TextClass::load(string const & path) const
        FileName layout_file;
        if (!path.empty())
                layout_file = FileName(addName(path, name_ + ".layout"));
-       if (layout_file.empty() || !fs::exists(layout_file.toFilesystemEncoding()))
+       if (layout_file.empty() || !layout_file.exists())
                layout_file = libFileSearch("layouts", name_, "layout");
        loaded_ = const_cast<TextClass*>(this)->read(layout_file) == 0;