htmlisblock_(true), multipar_(true), custompars_(true),
forceplain_(false), passthru_(false), parbreakisnewline_(false),
freespacing_(false), keepempty_(false), forceltr_(false),
- forceownlines_(false), needprotect_(false), intoc_(false),
- spellcheck_(true), resetsfont_(false), display_(true),
+ forceownlines_(false), needprotect_(false), needcprotect_(false),
+ intoc_(false), spellcheck_(true), resetsfont_(false), display_(true),
forcelocalfontswitch_(false), add_to_toc_(false), is_toc_caption_(false)
{
labelfont_.setColor(Color_error);
return InsetLayout::ILT_ERROR;
}
-} // namespace anon
+} // namespace
bool InsetLayout::read(Lexer & lex, TextClass const & tclass)
IL_OBSOLETEDBY,
IL_KEEPEMPTY,
IL_MULTIPAR,
+ IL_NEEDCPROTECT,
IL_NEEDPROTECT,
IL_PASSTHRU,
IL_PASSTHRU_CHARS,
{ "leftdelim", IL_LEFTDELIM },
{ "lyxtype", IL_LYXTYPE },
{ "multipar", IL_MULTIPAR },
+ { "needcprotect", IL_NEEDCPROTECT },
{ "needprotect", IL_NEEDPROTECT },
{ "obsoletedby", IL_OBSOLETEDBY },
{ "parbreakisnewline", IL_PARBREAKISNEWLINE },
lyxtype_ = translateLyXType(lt);
if (lyxtype_ == NOLYXTYPE)
LYXERR0("Unknown LyXType `" << lt << "'.");
- if (lyxtype_ == CHARSTYLE)
+ if (lyxtype_ == CHARSTYLE) {
+ // by default, charstyles force the plain layout
multipar_ = false;
+ forceplain_ = true;
+ }
break;
}
case IL_LATEXTYPE: {
case IL_NEEDPROTECT:
lex >> needprotect_;
break;
+ case IL_NEEDCPROTECT:
+ lex >> needcprotect_;
+ break;
case IL_CONTENTASLABEL:
lex >> contentaslabel_;
break;
bgcolor_ = lcolor.getFromLyXName(tmp);
break;
case IL_PREAMBLE:
- preamble_ = from_utf8(lex.getLongString("EndPreamble"));
+ preamble_ = lex.getLongString(from_ascii("EndPreamble"));
break;
case IL_BABELPREAMBLE:
- babelpreamble_ = from_utf8(lex.getLongString("EndBabelPreamble"));
+ babelpreamble_ = lex.getLongString(from_ascii("EndBabelPreamble"));
break;
case IL_LANGPREAMBLE:
- langpreamble_ = from_utf8(lex.getLongString("EndLangPreamble"));
+ langpreamble_ = lex.getLongString(from_ascii("EndLangPreamble"));
break;
case IL_REFPREFIX:
lex >> refprefix_;
lex >> htmlisblock_;
break;
case IL_HTMLSTYLE:
- htmlstyle_ = from_utf8(lex.getLongString("EndHTMLStyle"));
+ htmlstyle_ = lex.getLongString(from_ascii("EndHTMLStyle"));
break;
case IL_HTMLPREAMBLE:
- htmlpreamble_ = from_utf8(lex.getLongString("EndPreamble"));
+ htmlpreamble_ = lex.getLongString(from_ascii("EndPreamble"));
break;
case IL_REQUIRES: {
lex.eatLine();
arg.font = inherit_font;
arg.labelfont = inherit_font;
arg.is_toc_caption = false;
+ arg.passthru = PT_INHERITED;
string nr;
lex >> nr;
bool const postcmd = prefixIs(nr, "post:");
} else if (tok == "insertcotext") {
lex.next();
arg.insertcotext = lex.getBool();
- } else if (tok == "insertcotext") {
- lex.next();
- arg.insertcotext = lex.getBool();
} else if (tok == "leftdelim") {
lex.next();
arg.ldelim = lex.getDocString();
} else if (tok == "passthruchars") {
lex.next();
arg.pass_thru_chars = lex.getDocString();
+ } else if (tok == "passthru") {
+ lex.next();
+ docstring value = lex.getDocString();
+ if (value == "true" || value == "1")
+ arg.passthru = PT_TRUE;
+ else if (value == "false" || value == "0")
+ arg.passthru = PT_FALSE;
+ else
+ arg.passthru = PT_INHERITED;
} else if (tok == "istoccaption") {
lex.next();
arg.is_toc_caption = lex.getBool();