X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLayout.cpp;h=983c53e7a3922783a3f8e9b9739311f9dac1d2f1;hb=815a9bd97e8236d47761a143041702045abf2cbd;hp=5ba77ce1c6d0c67a0c8983d6f4c4231b6b5ed5a9;hpb=d89bde0652a3d95939ab59d1f10e25369e657bb0;p=lyx.git diff --git a/src/Layout.cpp b/src/Layout.cpp index 5ba77ce1c6..983c53e7a3 100644 --- a/src/Layout.cpp +++ b/src/Layout.cpp @@ -51,8 +51,6 @@ enum LayoutTags { LT_END, //LT_ENVIRONMENT_DEFAULT, //LT_FANCYHDR, - LT_FILL_BOTTOM, - LT_FILL_TOP, //LT_FIRST_COUNTER, LT_FONT, LT_FREE_SPACING, @@ -141,8 +139,6 @@ Layout::Layout() endlabeltype = END_LABEL_NO_LABEL; // Should or should not. That is the question. // spacing.set(Spacing::OneHalf); - fill_top = false; - fill_bottom = false; newline_allowed = true; free_spacing = false; pass_thru = false; @@ -173,8 +169,6 @@ bool Layout::read(Lexer & lex, TextClass const & tclass) { "end", LT_END }, { "endlabelstring", LT_ENDLABELSTRING }, { "endlabeltype", LT_ENDLABELTYPE }, - { "fill_bottom", LT_FILL_BOTTOM }, - { "fill_top", LT_FILL_TOP }, { "font", LT_FONT }, { "freespacing", LT_FREE_SPACING }, { "htmlattr", LT_HTMLATTR }, @@ -450,14 +444,6 @@ bool Layout::read(Lexer & lex, TextClass const & tclass) lex >> parsep; break; - case LT_FILL_TOP: // fill top flag - lex >> fill_top; - break; - - case LT_FILL_BOTTOM: // fill bottom flag - lex >> fill_bottom; - break; - case LT_NEWLINE: // newlines allowed? lex >> newline_allowed; break; @@ -577,8 +563,8 @@ bool Layout::read(Lexer & lex, TextClass const & tclass) } lex.popTable(); // make sure we only have inpreamble = true for commands - if (inpreamble && latextype != LATEX_COMMAND) { - LYXERR0("InPreamble not permitted except with Command-type layouts."); + if (inpreamble && latextype != LATEX_COMMAND && latextype != LATEX_PARAGRAPH) { + LYXERR0("InPreamble not permitted except with command and paragraph layouts."); LYXERR0("Layout name: " << name()); inpreamble = false; } @@ -877,12 +863,14 @@ void Layout::readSpacing(Lexer & lex) namespace { -docstring const i18npreamble(Language const * lang, docstring const & templ) +docstring const i18npreamble(Language const * lang, docstring const & templ, bool const polyglossia) { if (templ.empty()) return templ; - string preamble = subst(to_utf8(templ), "$$lang", lang->babel()); + string preamble = polyglossia ? + subst(to_utf8(templ), "$$lang", lang->polyglossia()) : + subst(to_utf8(templ), "$$lang", lang->babel()); #ifdef TEX2LYX // tex2lyx does not have getMessages() @@ -895,14 +883,7 @@ docstring const i18npreamble(Language const * lang, docstring const & templ) smatch sub; while (regex_search(preamble, sub, reg)) { string const key = sub.str(1); - string translated; - if (isAscii(key)) - translated = to_utf8(getMessages(lang->code()).get(key)); - else { - lyxerr << "Warning: not translating `" << key - << "' because it is not pure ASCII." << endl; - translated = key; - } + string translated = to_utf8(lang->translateLayout(key)); preamble = subst(preamble, sub.str(), translated); } #endif @@ -912,15 +893,15 @@ docstring const i18npreamble(Language const * lang, docstring const & templ) } -docstring const Layout::langpreamble(Language const * lang) const +docstring const Layout::langpreamble(Language const * lang, bool const polyglossia) const { - return i18npreamble(lang, langpreamble_); + return i18npreamble(lang, langpreamble_, polyglossia); } -docstring const Layout::babelpreamble(Language const * lang) const +docstring const Layout::babelpreamble(Language const * lang, bool const polyglossia) const { - return i18npreamble(lang, babelpreamble_); + return i18npreamble(lang, babelpreamble_, polyglossia); }