From: Abdelrazak Younes Date: Wed, 7 May 2008 23:33:56 +0000 (+0000) Subject: Fix part of bug 4836 X-Git-Tag: 1.6.10~4852 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=63897c2959b77b33edade692f41a16a599c0f7bf;p=features.git Fix part of bug 4836 http://bugzilla.lyx.org/show_bug.cgi?id=4836 reset_language was not correctly handled. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24674 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/Font.cpp b/src/Font.cpp index 12f2f11fe0..76a716da3a 100644 --- a/src/Font.cpp +++ b/src/Font.cpp @@ -146,6 +146,8 @@ void Font::update(Font const & newfont, setLanguage(default_language); else setLanguage(document_language); + else if (newfont.language() == reset_language) + setLanguage(document_language); else if (newfont.language() != ignore_language) setLanguage(newfont.language()); } @@ -642,9 +644,8 @@ int Font::latexWriteEndChanges(odocstream & os, BufferParams const & bparams, string Font::toString(bool const toggle) const { - string lang = "ignore"; - if (language()) - lang = language()->lang(); + string const lang = (language() == reset_language) + ? "reset" : language()->lang(); ostringstream os; os << "family " << bits_.family() << '\n' @@ -720,10 +721,7 @@ bool Font::fromString(string const & data, bool & toggle) } else if (token == "language") { string const next = lex.getString(); - if (next == "ignore") - setLanguage(ignore_language); - else - setLanguage(languages.getLanguage(next)); + setLanguage(languages.getLanguage(next)); } else if (token == "toggleall") { toggle = lex.getBool(); diff --git a/src/Text2.cpp b/src/Text2.cpp index 1e2a88df5c..dba0496053 100644 --- a/src/Text2.cpp +++ b/src/Text2.cpp @@ -386,8 +386,7 @@ void Text::toggleFree(Cursor & cur, Font const & font, bool toggleall) { LASSERT(this == cur.text(), /**/); // If the mask is completely neutral, tell user - if (font.fontInfo() == ignore_font && - (font.language() == 0 || font.language() == ignore_language)) { + if (font.fontInfo() == ignore_font && font.language() == ignore_language) { // Could only happen with user style cur.message(_("No font change defined.")); return; diff --git a/src/frontends/qt4/GuiCharacter.cpp b/src/frontends/qt4/GuiCharacter.cpp index 1fcacd91f9..c2c0feedd7 100644 --- a/src/frontends/qt4/GuiCharacter.cpp +++ b/src/frontends/qt4/GuiCharacter.cpp @@ -309,8 +309,9 @@ void GuiCharacter::paramsToDialog(Font const & font) miscCO->setCurrentIndex(findPos2nd(bar, getBar(fi))); colorCO->setCurrentIndex(findPos2nd(color, fi.color())); - QString const lang = (font.language() == ignore_language) - ? "ignore" : toqstr(font.language()->lang()); + // reset_language is a null pointer. + QString const lang = (font.language() == reset_language) + ? "reset" : toqstr(font.language()->lang()); langCO->setCurrentIndex(findPos2nd(language, lang)); toggleallCB->setChecked(toggleall_); @@ -336,6 +337,9 @@ void GuiCharacter::applyView() bool GuiCharacter::initialiseParams(string const &) { + if (autoapplyCB->isChecked()) + return true; + FontInfo & fi = font_.fontInfo(); // so that the user can press Ok