summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/status
diff options
context:
space:
mode:
authorglotov@google.com <glotov@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-20 23:15:41 +0000
committerglotov@google.com <glotov@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-20 23:15:41 +0000
commite5be7289649a7e40698c5e469657b3b8f2580981 (patch)
treec1b75a48031e8f3416288d0c0cd0670f4d251005 /chrome/browser/chromeos/status
parente32d94ef042eac126d15823cc2e9258b0332c6d1 (diff)
downloadchromium_src-e5be7289649a7e40698c5e469657b3b8f2580981.zip
chromium_src-e5be7289649a7e40698c5e469657b3b8f2580981.tar.gz
chromium_src-e5be7289649a7e40698c5e469657b3b8f2580981.tar.bz2
LocaleChanged() added to update the view after the UI language was switched.
BUG=none TEST=none Review URL: http://codereview.chromium.org/1568033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45107 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/status')
-rw-r--r--chrome/browser/chromeos/status/language_menu_button.cc15
-rw-r--r--chrome/browser/chromeos/status/language_menu_button.h4
2 files changed, 18 insertions, 1 deletions
diff --git a/chrome/browser/chromeos/status/language_menu_button.cc b/chrome/browser/chromeos/status/language_menu_button.cc
index 6212944..88fc0ae 100644
--- a/chrome/browser/chromeos/status/language_menu_button.cc
+++ b/chrome/browser/chromeos/status/language_menu_button.cc
@@ -134,7 +134,7 @@ LanguageMenuButton::LanguageMenuButton(StatusAreaHost* host)
set_border(NULL);
SetFont(ResourceBundle::GetSharedInstance().GetFont(
ResourceBundle::BaseFont).DeriveFont(1, gfx::Font::BOLD));
- SetEnabledColor(0xB3FFFFFF); // White with 70% Alpha
+ SetEnabledColor(0xB3FFFFFF); // White with 70% Alpha
SetShowHighlighted(false);
// Update the model
RebuildModel();
@@ -366,6 +366,19 @@ void LanguageMenuButton::ImePropertiesChanged(LanguageLibrary* obj) {
RebuildModel();
}
+////////////////////////////////////////////////////////////////////////////////
+// views::View implementation:
+
+void LanguageMenuButton::LocaleChanged() {
+ input_method_descriptors_.reset(CrosLibrary::Get()->GetLanguageLibrary()->
+ GetActiveInputMethods());
+ std::wstring name = FormatInputLanguage(
+ CrosLibrary::Get()->GetLanguageLibrary()->current_input_method(), false);
+ UpdateIcon(name);
+ Layout();
+ SchedulePaint();
+}
+
void LanguageMenuButton::UpdateIcon(const std::wstring& name) {
SetText(name);
set_alignment(TextButton::ALIGN_RIGHT);
diff --git a/chrome/browser/chromeos/status/language_menu_button.h b/chrome/browser/chromeos/status/language_menu_button.h
index b51e513..2bfc06a 100644
--- a/chrome/browser/chromeos/status/language_menu_button.h
+++ b/chrome/browser/chromeos/status/language_menu_button.h
@@ -49,6 +49,10 @@ class LanguageMenuButton : public views::MenuButton,
virtual void InputMethodChanged(LanguageLibrary* obj);
virtual void ImePropertiesChanged(LanguageLibrary* obj);
+ protected:
+ // views::View implementation.
+ virtual void LocaleChanged();
+
private:
// views::ViewMenuDelegate implementation.
virtual void RunMenu(views::View* source, const gfx::Point& pt);