+2002-04-30 Angus Leeming <a.leeming@ic.ac.uk>
+
+ * 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 <a.leeming@ic.ac.uk>
* character.[Ch]: rename namespace character as namespace frnt.
#include "frnt_lang.h"
#include "gettext.h"
#include "language.h"
+#include <iostream>
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<LanguagePair> const getLanguageData()
+vector<LanguagePair> const getLanguageData(bool character_dlg)
{
- vector<LanguagePair> langs(languages.size() + 2);
+ vector<LanguagePair>::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<LanguagePair> langs(size);
- vector<string>::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<string>::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;
}
namespace frnt {
///
typedef std::pair<string, string> LanguagePair;
- ///
- std::vector<LanguagePair> const getLanguageData();
+ /** If the caller is the character dialog, add "No change" and "Reset"
+ * to the vector.
+ */
+ std::vector<LanguagePair> const getLanguageData(bool character_dlg);
} // namespace frnt
+2002-04-30 Angus Leeming <a.leeming@ic.ac.uk>
+
+ * 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 <a.leeming@ic.ac.uk>
* FormCharacter.h:
{
dialog_.reset(build_character());
- vector<FamilyPair> const family = getFamilyData();
- vector<SeriesPair> const series = getSeriesData();
- vector<ShapePair> const shape = getShapeData();
- vector<SizePair> const size = getSizeData();
- vector<BarPair> const bar = getBarData();
- vector<ColorPair> const color = getColorData();
- vector<LanguagePair> const langs = getLanguageData();
+ vector<FamilyPair> const family = getFamilyData();
+ vector<SeriesPair> const series = getSeriesData();
+ vector<ShapePair> const shape = getShapeData();
+ vector<SizePair> const size = getSizeData();
+ vector<BarPair> const bar = getBarData();
+ vector<ColorPair> const color = getColorData();
+ vector<LanguagePair> const langs = getLanguageData(true);
// Store the identifiers for later
family_ = getSecond(family);
vector<LanguagePair>::const_iterator it = langs.begin();
vector<LanguagePair>::const_iterator end = langs.end();
for (; it != end; ++it) {
- combo_language2_->addto(_(it->first));
+ combo_language2_->addto(it->first);
}
combo_language2_->select(1);
"default|auto|latin1|latin2|latin3|latin4|latin5|latin9"
"|koi8-r|koi8-u|cp866|cp1251|iso88595");
- vector<frnt::LanguagePair> const langs = frnt::getLanguageData();
+ vector<frnt::LanguagePair> const langs = frnt::getLanguageData(false);
// Store the identifiers for later
lang_ = getSecond(langs);
vector<frnt::LanguagePair>::const_iterator lit = langs.begin();
vector<frnt::LanguagePair>::const_iterator lend = langs.end();
for (; lit != lend; ++lit) {
- combo_language->addto(_(lit->first));
+ combo_language->addto(lit->first);
}
combo_language->select(1);
fl_set_input_return(dialog_->input_command_end, FL_RETURN_CHANGED);
// Store the lang identifiers for later
- vector<frnt::LanguagePair> const langs = frnt::getLanguageData();
+ vector<frnt::LanguagePair> const langs = frnt::getLanguageData(false);
lang_ = getSecond(langs);
// The default_language is a combo-box and has to be inserted manually
vector<frnt::LanguagePair>::const_iterator lit = langs.begin();
vector<frnt::LanguagePair>::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);