summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/options
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/views/options')
-rw-r--r--chrome/browser/views/options/languages_page_view.cc159
1 files changed, 7 insertions, 152 deletions
diff --git a/chrome/browser/views/options/languages_page_view.cc b/chrome/browser/views/options/languages_page_view.cc
index abb2490..2fdc786 100644
--- a/chrome/browser/views/options/languages_page_view.cc
+++ b/chrome/browser/views/options/languages_page_view.cc
@@ -39,140 +39,6 @@
#include "views/widget/widget.h"
#include "views/window/window.h"
-static const char* const accept_language_list[] = {
- "af", // Afrikaans
- "am", // Amharic
- "ar", // Arabic
- "az", // Azerbaijani
- "be", // Belarusian
- "bg", // Bulgarian
- "bh", // Bihari
- "bn", // Bengali
- "br", // Breton
- "bs", // Bosnian
- "ca", // Catalan
- "co", // Corsican
- "cs", // Czech
- "cy", // Welsh
- "da", // Danish
- "de", // German
- "de-AT", // German (Austria)
- "de-CH", // German (Switzerland)
- "de-DE", // German (Germany)
- "el", // Greek
- "en", // English
- "en-AU", // English (Austrailia)
- "en-CA", // English (Canada)
- "en-GB", // English (UK)
- "en-NZ", // English (New Zealand)
- "en-US", // English (US)
- "en-ZA", // English (South Africa)
- "eo", // Esperanto
- // TODO(jungshik) : Do we want to list all es-Foo for Latin-American
- // Spanish speaking countries?
- "es", // Spanish
- "et", // Estonian
- "eu", // Basque
- "fa", // Persian
- "fi", // Finnish
- "fil", // Filipino
- "fo", // Faroese
- "fr", // French
- "fr-CA", // French (Canada)
- "fr-CH", // French (Switzerland)
- "fr-FR", // French (France)
- "fy", // Frisian
- "ga", // Irish
- "gd", // Scots Gaelic
- "gl", // Galician
- "gn", // Guarani
- "gu", // Gujarati
- "he", // Hebrew
- "hi", // Hindi
- "hr", // Croatian
- "hu", // Hungarian
- "hy", // Armenian
- "ia", // Interlingua
- "id", // Indonesian
- "is", // Icelandic
- "it", // Italian
- "it-CH", // Italian (Switzerland)
- "it-IT", // Italian (Italy)
- "ja", // Japanese
- "jw", // Javanese
- "ka", // Georgian
- "kk", // Kazakh
- "km", // Cambodian
- "kn", // Kannada
- "ko", // Korean
- "ku", // Kurdish
- "ky", // Kyrgyz
- "la", // Latin
- "ln", // Lingala
- "lo", // Laothian
- "lt", // Lithuanian
- "lv", // Latvian
- "mk", // Macedonian
- "ml", // Malayalam
- "mn", // Mongolian
- "mo", // Moldavian
- "mr", // Marathi
- "ms", // Malay
- "mt", // Maltese
- "nb", // Norwegian (Bokmal)
- "ne", // Nepali
- "nl", // Dutch
- "nn", // Norwegian (Nynorsk)
- "no", // Norwegian
- "oc", // Occitan
- "or", // Oriya
- "pa", // Punjabi
- "pl", // Polish
- "ps", // Pashto
- "pt", // Portuguese
- "pt-BR", // Portuguese (Brazil)
- "pt-PT", // Portuguese (Portugal)
- "qu", // Quechua
- "rm", // Romansh
- "ro", // Romanian
- "ru", // Russian
- "sd", // Sindhi
- "sh", // Serbo-Croatian
- "si", // Sinhalese
- "sk", // Slovak
- "sl", // Slovenian
- "sn", // Shona
- "so", // Somali
- "sq", // Albanian
- "sr", // Serbian
- "st", // Sesotho
- "su", // Sundanese
- "sv", // Swedish
- "sw", // Swahili
- "ta", // Tamil
- "te", // Telugu
- "tg", // Tajik
- "th", // Thai
- "ti", // Tigrinya
- "tk", // Turkmen
- "to", // Tonga
- "tr", // Turkish
- "tt", // Tatar
- "tw", // Twi
- "ug", // Uighur
- "uk", // Ukrainian
- "ur", // Urdu
- "uz", // Uzbek
- "vi", // Vietnamese
- "xh", // Xhosa
- "yi", // Yiddish
- "yo", // Yoruba
- "zh", // Chinese
- "zh-CN", // Chinese (Simplified)
- "zh-TW", // Chinese (Traditional)
- "zu", // Zulu
-};
-
///////////////////////////////////////////////////////////////////////////////
// AddLanguageWindowView
//
@@ -289,22 +155,10 @@ void AddLanguageWindowView::ViewHierarchyChanged(bool is_add,
void AddLanguageWindowView::Init() {
// Determine Locale Codes.
- std::vector<std::string> locale_codes;
const std::string app_locale = g_browser_process->GetApplicationLocale();
- for (size_t i = 0; i < arraysize(accept_language_list); ++i) {
- string16 display_name =
- l10n_util::GetDisplayNameForLocale(accept_language_list[i],
- app_locale, false);
- // This is a hack. If ICU doesn't have a translated name for
- // this language, GetDisplayNameForLocale will just return the
- // language code. In that case, we skip it.
- // TODO(jungshik) : Put them at the of the list with language codes
- // enclosed by brackets.
- if (IsStringASCII(display_name) &&
- UTF16ToASCII(display_name) == accept_language_list[i])
- continue;
- locale_codes.push_back(accept_language_list[i]);
- }
+ std::vector<std::string> locale_codes;
+ l10n_util::GetAcceptLanguagesForLocale(app_locale, &locale_codes);
+
accept_language_combobox_model_.reset(new LanguageComboboxModel(
profile_, locale_codes));
accept_language_combobox_ = new views::Combobox(
@@ -375,9 +229,10 @@ void LanguagesPageView::ButtonPressed(views::Button* sender) {
}
void LanguagesPageView::OnAddLanguage(const std::string& new_language) {
- language_order_table_model_->Add(new_language);
- language_order_table_->Select(language_order_table_model_->RowCount() - 1);
- OnSelectionChanged();
+ if (language_order_table_model_->Add(new_language)) {
+ language_order_table_->Select(language_order_table_model_->RowCount() - 1);
+ OnSelectionChanged();
+ }
}
void LanguagesPageView::InitControlLayout() {