From ac926e5f0a48697b0402e63eb1ae3715a5a3e009 Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Tue, 30 Apr 2002 15:07:03 +0000 Subject: [PATCH] Clean-up yesterday's code-splurge and sort the translated language names. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4095 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/controllers/ChangeLog | 9 ++++++++ src/frontends/controllers/frnt_lang.C | 32 +++++++++++++++++++++----- src/frontends/controllers/frnt_lang.h | 6 +++-- src/frontends/xforms/ChangeLog | 8 +++++++ src/frontends/xforms/FormCharacter.C | 16 ++++++------- src/frontends/xforms/FormDocument.C | 4 ++-- src/frontends/xforms/FormPreferences.C | 4 ++-- 7 files changed, 59 insertions(+), 20 deletions(-) diff --git a/src/frontends/controllers/ChangeLog b/src/frontends/controllers/ChangeLog index a7ef60a16e..f5e0c6ee3e 100644 --- a/src/frontends/controllers/ChangeLog +++ b/src/frontends/controllers/ChangeLog @@ -1,3 +1,12 @@ +2002-04-30 Angus Leeming + + * frnt_lang.[Ch] (getLanguageData): passed a bool character_dlg. + If the the caller is the character dialog, add "No change" and "Reset" + to the vector, else don't. + Internationalise the GUI strings here rather than in the different + calling dialogs. + Sort the translated strings, albeit simply. + 2002-04-29 Angus Leeming * character.[Ch]: rename namespace character as namespace frnt. diff --git a/src/frontends/controllers/frnt_lang.C b/src/frontends/controllers/frnt_lang.C index dfb9c90b8f..078bd030a6 100644 --- a/src/frontends/controllers/frnt_lang.C +++ b/src/frontends/controllers/frnt_lang.C @@ -15,26 +15,46 @@ #include "frnt_lang.h" #include "gettext.h" #include "language.h" +#include using std::vector; +namespace { + +struct Sorter { + bool operator()(frnt::LanguagePair const & lhs, + frnt::LanguagePair const & rhs) const + { + return lhs.first < rhs.first; + } +}; + +} // namespace anon + namespace frnt { -vector const getLanguageData() +vector const getLanguageData(bool character_dlg) { - vector langs(languages.size() + 2); + vector::size_type const size = character_dlg ? + languages.size() + 2 : languages.size(); - langs[0].first = N_("No change"); langs[0].second = "No change"; - langs[1].first = N_("Reset"); langs[1].second = "Reset"; + vector langs(size); - vector::size_type i = 2; + if (character_dlg) { + langs[0].first = N_("No change"); langs[0].second = "No change"; + langs[1].first = N_("Reset"); langs[1].second = "Reset"; + } + + vector::size_type i = character_dlg ? 2 : 0; for (Languages::const_iterator cit = languages.begin(); cit != languages.end(); ++cit) { - langs[i].first = cit->second.display(); + langs[i].first = _(cit->second.display()); langs[i].second = cit->second.lang(); ++i; } + std::sort(langs.begin(), langs.end(), Sorter()); + return langs; } diff --git a/src/frontends/controllers/frnt_lang.h b/src/frontends/controllers/frnt_lang.h index 5a636d4c10..c3d949afb2 100644 --- a/src/frontends/controllers/frnt_lang.h +++ b/src/frontends/controllers/frnt_lang.h @@ -23,8 +23,10 @@ namespace frnt { /// typedef std::pair LanguagePair; - /// - std::vector const getLanguageData(); + /** If the caller is the character dialog, add "No change" and "Reset" + * to the vector. + */ + std::vector const getLanguageData(bool character_dlg); } // namespace frnt diff --git a/src/frontends/xforms/ChangeLog b/src/frontends/xforms/ChangeLog index c041c89cbc..dab5f36d88 100644 --- a/src/frontends/xforms/ChangeLog +++ b/src/frontends/xforms/ChangeLog @@ -1,3 +1,11 @@ +2002-04-30 Angus Leeming + + * FormCharacter.C: + * FormDocument.C: + * FormPreferences.C: use the bool flag to getLanguageData as + appropriate. No longer translate the strings as this is done in + getLanguageData. + 2002-04-29 Angus Leeming * FormCharacter.h: diff --git a/src/frontends/xforms/FormCharacter.C b/src/frontends/xforms/FormCharacter.C index 5ac61c59a3..0bf8a2964d 100644 --- a/src/frontends/xforms/FormCharacter.C +++ b/src/frontends/xforms/FormCharacter.C @@ -48,13 +48,13 @@ void FormCharacter::build() { dialog_.reset(build_character()); - vector const family = getFamilyData(); - vector const series = getSeriesData(); - vector const shape = getShapeData(); - vector const size = getSizeData(); - vector const bar = getBarData(); - vector const color = getColorData(); - vector const langs = getLanguageData(); + vector const family = getFamilyData(); + vector const series = getSeriesData(); + vector const shape = getShapeData(); + vector const size = getSizeData(); + vector const bar = getBarData(); + vector const color = getColorData(); + vector const langs = getLanguageData(true); // Store the identifiers for later family_ = getSecond(family); @@ -103,7 +103,7 @@ void FormCharacter::build() vector::const_iterator it = langs.begin(); vector::const_iterator end = langs.end(); for (; it != end; ++it) { - combo_language2_->addto(_(it->first)); + combo_language2_->addto(it->first); } combo_language2_->select(1); diff --git a/src/frontends/xforms/FormDocument.C b/src/frontends/xforms/FormDocument.C index dac27f81e8..a4cd1bd808 100644 --- a/src/frontends/xforms/FormDocument.C +++ b/src/frontends/xforms/FormDocument.C @@ -242,7 +242,7 @@ void FormDocument::build() "default|auto|latin1|latin2|latin3|latin4|latin5|latin9" "|koi8-r|koi8-u|cp866|cp1251|iso88595"); - vector const langs = frnt::getLanguageData(); + vector const langs = frnt::getLanguageData(false); // Store the identifiers for later lang_ = getSecond(langs); @@ -260,7 +260,7 @@ void FormDocument::build() vector::const_iterator lit = langs.begin(); vector::const_iterator lend = langs.end(); for (; lit != lend; ++lit) { - combo_language->addto(_(lit->first)); + combo_language->addto(lit->first); } combo_language->select(1); diff --git a/src/frontends/xforms/FormPreferences.C b/src/frontends/xforms/FormPreferences.C index d66a138153..3e7000d6d5 100644 --- a/src/frontends/xforms/FormPreferences.C +++ b/src/frontends/xforms/FormPreferences.C @@ -1633,7 +1633,7 @@ void FormPreferences::Language::build() fl_set_input_return(dialog_->input_command_end, FL_RETURN_CHANGED); // Store the lang identifiers for later - vector const langs = frnt::getLanguageData(); + vector const langs = frnt::getLanguageData(false); lang_ = getSecond(langs); // The default_language is a combo-box and has to be inserted manually @@ -1652,7 +1652,7 @@ void FormPreferences::Language::build() vector::const_iterator lit = langs.begin(); vector::const_iterator lend = langs.end(); for (; lit != lend; ++lit) { - combo_default_lang->addto(_(lit->first)); + combo_default_lang->addto(lit->first); } combo_default_lang->select(1); -- 2.39.2