From 6c8520bb887d6899fc027bc121a1b78c5d61e052 Mon Sep 17 00:00:00 2001 From: Georg Baum Date: Fri, 23 Mar 2007 15:09:21 +0000 Subject: [PATCH] Fix bug 440 * src/frontends/controllers/ControlCharacter.[Ch] (reset_lang_) New flag (needed because the language is never inherited) * src/frontends/controllers/ControlCharacter.C (ControlCharacter::getLanguage): Use reset_lang_ (ControlCharacter::setLanguage): Set reset_lang_ if needed git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17526 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/controllers/ControlCharacter.C | 12 +++++++----- src/frontends/controllers/ControlCharacter.h | 3 +++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/frontends/controllers/ControlCharacter.C b/src/frontends/controllers/ControlCharacter.C index c44c385e60..8624891ad6 100644 --- a/src/frontends/controllers/ControlCharacter.C +++ b/src/frontends/controllers/ControlCharacter.C @@ -28,7 +28,7 @@ namespace frontend { ControlCharacter::ControlCharacter(Dialog & parent) : Dialog::Controller(parent), - font_(0), toggleall_(false) + font_(0), toggleall_(false), reset_lang_(false) {} @@ -211,6 +211,8 @@ void ControlCharacter::setColor(LColor_color val) string ControlCharacter::getLanguage() const { + if (reset_lang_) + return "reset"; if (font_.get() && font_->language()) return font_->language()->lang(); return "ignore"; @@ -221,11 +223,11 @@ void ControlCharacter::setLanguage(string const & val) { if (val == "ignore") font_->setLanguage(ignore_language); - - else if (val == "reset") + else if (val == "reset") { + reset_lang_ = true; + // Ignored in getLanguage, but needed for dispatchParams font_->setLanguage(kernel().buffer().params().language); - - else + } else font_->setLanguage(languages.getLanguage(val)); } diff --git a/src/frontends/controllers/ControlCharacter.h b/src/frontends/controllers/ControlCharacter.h index 14d50840d8..b940e3aa58 100644 --- a/src/frontends/controllers/ControlCharacter.h +++ b/src/frontends/controllers/ControlCharacter.h @@ -76,6 +76,9 @@ private: boost::scoped_ptr font_; /// bool toggleall_; + /// If true the language should be reset. + /// If false the language of font_ is used. + bool reset_lang_; }; } // namespace frontend -- 2.39.2