]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetLayout.cpp
Added support for natively zipped file formats that do not need decompression for...
[lyx.git] / src / insets / InsetLayout.cpp
index 5255c669d0eea89c353b8f41b5f66dc841a8fdd5..ee73ba68048ff1fefd53e074bc23297379fdc69b 100644 (file)
@@ -38,7 +38,8 @@ InsetLayout::InsetLayout() :
        multipar_(true), custompars_(true), forceplain_(false), 
        passthru_(false), parbreakisnewline_(false), freespacing_(false), 
        keepempty_(false), forceltr_(false), 
-       needprotect_(false), intoc_(false), spellcheck_(true)
+       needprotect_(false), intoc_(false), spellcheck_(true), 
+       resetsfont_(true), display_(true)
 { 
        labelfont_.setColor(Color_error);
 }
@@ -80,6 +81,7 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass)
                IL_COUNTER,
                IL_CUSTOMPARS,
                IL_DECORATION,
+               IL_DISPLAY,
                IL_FONT,
                IL_FORCELTR,
                IL_FORCEPLAIN,
@@ -109,6 +111,7 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass)
                IL_REQUIRES,
                IL_SPELLCHECK,
                IL_REFPREFIX,
+               IL_RESETSFONT,
                IL_END
        };
 
@@ -120,6 +123,7 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass)
                { "counter", IL_COUNTER},
                { "custompars", IL_CUSTOMPARS },
                { "decoration", IL_DECORATION },
+               { "display", IL_DISPLAY },
                { "end", IL_END },
                { "font", IL_FONT },
                { "forceltr", IL_FORCELTR },
@@ -149,6 +153,7 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass)
                { "preamble", IL_PREAMBLE },
                { "refprefix", IL_REFPREFIX },
                { "requires", IL_REQUIRES },
+               { "resetsfont", IL_RESETSFONT },
                { "spellcheck", IL_SPELLCHECK }
        };
 
@@ -178,6 +183,14 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass)
                // way this sort of thing is handled in Layout::read(), namely, by
                // using the Lexer.
                case IL_LYXTYPE: {
+                       // make sure that we have the right sort of name.
+                       if (name_ != from_ascii("undefined")
+                           && name_.substr(0,5) != from_ascii("Flex:")) {
+                               LYXERR0("Flex insets must have names of the form `Flex:<name>'.\n"
+                                       "This one has the name `" << to_utf8(name_) << "'\n"
+                                       "Ignoring LyXType declaration.");
+                               break;
+                       }
                        string lt;
                        lex >> lt;
                        lyxtype_ = translateLyXType(lt);
@@ -339,6 +352,12 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass)
                case IL_SPELLCHECK:
                        lex >> spellcheck_;
                        break;
+               case IL_RESETSFONT:
+                       lex >> resetsfont_;
+                       break;
+               case IL_DISPLAY:
+                       lex >> display_;
+                       break;
                case IL_END:
                        getout = true;
                        break;