X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetLayout.cpp;h=b27963d88efa388bf2bc42d6115b5a8bee0d4ddf;hb=860accd01fb8115ec7c6ad80b054f1046e19c62f;hp=7291a60bf14fd7d9242b401b4ef7d569da2c668c;hpb=3c9b62a69d894b5ea020c18d0bec676dc00fe378;p=lyx.git diff --git a/src/insets/InsetLayout.cpp b/src/insets/InsetLayout.cpp index 7291a60bf1..b27963d88e 100644 --- a/src/insets/InsetLayout.cpp +++ b/src/insets/InsetLayout.cpp @@ -226,8 +226,11 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass) 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: { @@ -404,13 +407,13 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass) 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_; @@ -437,10 +440,10 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass) 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(); @@ -581,6 +584,7 @@ void InsetLayout::readArgument(Lexer & lex) 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:"); @@ -607,9 +611,6 @@ void InsetLayout::readArgument(Lexer & lex) } 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(); @@ -642,6 +643,15 @@ void InsetLayout::readArgument(Lexer & lex) } 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();