| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_VIEWS_OPTIONS_LANGUAGE_COMBOBOX_MODEL_H_ | 5 #ifndef CHROME_BROWSER_VIEWS_OPTIONS_LANGUAGE_COMBOBOX_MODEL_H_ |
| 6 #define CHROME_BROWSER_VIEWS_OPTIONS_LANGUAGE_COMBOBOX_MODEL_H_ | 6 #define CHROME_BROWSER_VIEWS_OPTIONS_LANGUAGE_COMBOBOX_MODEL_H_ |
| 7 | 7 |
| 8 #include "chrome/browser/profile.h" | 8 #include "chrome/browser/profile.h" |
| 9 #include "views/controls/combo_box.h" | 9 #include "views/controls/combobox/combobox.h" |
| 10 | 10 |
| 11 /////////////////////////////////////////////////////////////////////////////// | 11 /////////////////////////////////////////////////////////////////////////////// |
| 12 // LanguageComboboxModel | 12 // LanguageComboboxModel |
| 13 // The model that fills the dropdown of valid UI languages. | 13 // The model that fills the dropdown of valid UI languages. |
| 14 class LanguageComboboxModel : public views::ComboBox::Model { | 14 class LanguageComboboxModel : public views::Combobox::Model { |
| 15 public: | 15 public: |
| 16 struct LocaleData { | 16 struct LocaleData { |
| 17 LocaleData() { } | 17 LocaleData() { } |
| 18 LocaleData(const std::wstring& name, const std::string& code) | 18 LocaleData(const std::wstring& name, const std::string& code) |
| 19 : native_name(name), locale_code(code) { } | 19 : native_name(name), locale_code(code) { } |
| 20 | 20 |
| 21 std::wstring native_name; | 21 std::wstring native_name; |
| 22 std::string locale_code; // E.g., en-us. | 22 std::string locale_code; // E.g., en-us. |
| 23 }; | 23 }; |
| 24 typedef std::map<std::wstring, LocaleData> LocaleDataMap; | 24 typedef std::map<std::wstring, LocaleData> LocaleDataMap; |
| 25 | 25 |
| 26 LanguageComboboxModel(); | 26 LanguageComboboxModel(); |
| 27 | 27 |
| 28 // Temporary compatibility constructor. | 28 // Temporary compatibility constructor. |
| 29 LanguageComboboxModel(Profile* profile, | 29 LanguageComboboxModel(Profile* profile, |
| 30 const std::vector<std::string>& locale_codes); | 30 const std::vector<std::string>& locale_codes); |
| 31 | 31 |
| 32 virtual ~LanguageComboboxModel() {} | 32 virtual ~LanguageComboboxModel() {} |
| 33 | 33 |
| 34 void InitNativeNames(const std::vector<std::string>& locale_codes); | 34 void InitNativeNames(const std::vector<std::string>& locale_codes); |
| 35 | 35 |
| 36 // Overridden from views::Combobox::Model: | 36 // Overridden from views::Combobox::Model: |
| 37 virtual int GetItemCount(views::ComboBox* source); | 37 virtual int GetItemCount(views::Combobox* source); |
| 38 | 38 |
| 39 virtual std::wstring GetItemAt(views::ComboBox* source, int index); | 39 virtual std::wstring GetItemAt(views::Combobox* source, int index); |
| 40 | 40 |
| 41 // Return the locale for the given index. E.g., may return pt-BR. | 41 // Return the locale for the given index. E.g., may return pt-BR. |
| 42 std::string GetLocaleFromIndex(int index); | 42 std::string GetLocaleFromIndex(int index); |
| 43 | 43 |
| 44 // Returns the index for the given locale. Returns -1 if the locale is not | 44 // Returns the index for the given locale. Returns -1 if the locale is not |
| 45 // in the combobox model. | 45 // in the combobox model. |
| 46 int GetIndexFromLocale(const std::string& locale); | 46 int GetIndexFromLocale(const std::string& locale); |
| 47 | 47 |
| 48 // Returns the index of the language currently specified in the user's | 48 // Returns the index of the language currently specified in the user's |
| 49 // preference file. Note that it's possible for language A to be picked | 49 // preference file. Note that it's possible for language A to be picked |
| (...skipping 11 matching lines...) Expand all Loading... |
| 61 // A map of some extra data (LocaleData) keyed off the name of the locale. | 61 // A map of some extra data (LocaleData) keyed off the name of the locale. |
| 62 LocaleDataMap native_names_; | 62 LocaleDataMap native_names_; |
| 63 | 63 |
| 64 // Profile. | 64 // Profile. |
| 65 Profile* profile_; | 65 Profile* profile_; |
| 66 | 66 |
| 67 DISALLOW_COPY_AND_ASSIGN(LanguageComboboxModel); | 67 DISALLOW_COPY_AND_ASSIGN(LanguageComboboxModel); |
| 68 }; | 68 }; |
| 69 | 69 |
| 70 #endif // #ifndef CHROME_BROWSER_VIEWS_OPTIONS_LANGUAGE_COMBOBOX_MODEL_H_ | 70 #endif // #ifndef CHROME_BROWSER_VIEWS_OPTIONS_LANGUAGE_COMBOBOX_MODEL_H_ |
| OLD | NEW |