Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Side by Side Diff: chrome/browser/chromeos/status/language_menu_button.cc

Issue 1589021: Status area improvements:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 #include "chrome/browser/chromeos/status/language_menu_button.h" 5 #include "chrome/browser/chromeos/status/language_menu_button.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "app/resource_bundle.h" 10 #include "app/resource_bundle.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 input_method_descriptors_(CrosLibrary::Get()->GetLanguageLibrary()-> 125 input_method_descriptors_(CrosLibrary::Get()->GetLanguageLibrary()->
126 GetActiveInputMethods()), 126 GetActiveInputMethods()),
127 model_(NULL), 127 model_(NULL),
128 // Be aware that the constructor of |language_menu_| calls GetItemCount() 128 // Be aware that the constructor of |language_menu_| calls GetItemCount()
129 // in this class. Therefore, GetItemCount() have to return 0 when 129 // in this class. Therefore, GetItemCount() have to return 0 when
130 // |model_| is NULL. 130 // |model_| is NULL.
131 ALLOW_THIS_IN_INITIALIZER_LIST(language_menu_(this)), 131 ALLOW_THIS_IN_INITIALIZER_LIST(language_menu_(this)),
132 host_(host) { 132 host_(host) {
133 DCHECK(input_method_descriptors_.get() && 133 DCHECK(input_method_descriptors_.get() &&
134 !input_method_descriptors_->empty()); 134 !input_method_descriptors_->empty());
135 set_border(NULL);
136 SetFont(ResourceBundle::GetSharedInstance().GetFont(
137 ResourceBundle::BaseFont).DeriveFont(1, gfx::Font::BOLD));
138 SetEnabledColor(0xB3FFFFFF); // White with 70% Alpha
139 SetShowHighlighted(false);
135 // Update the model 140 // Update the model
136 RebuildModel(); 141 RebuildModel();
137 // Grab the real estate. 142 // Grab the real estate.
138 UpdateIcon(kSpacer); 143 UpdateIcon(kSpacer);
139 // Display the default input method name. 144 // Display the default input method name.
140 const std::wstring name 145 const std::wstring name
141 = FormatInputLanguage(input_method_descriptors_->at(0), false); 146 = FormatInputLanguage(input_method_descriptors_->at(0), false);
142 UpdateIcon(name); 147 UpdateIcon(name);
143 CrosLibrary::Get()->GetLanguageLibrary()->AddObserver(this); 148 CrosLibrary::Get()->GetLanguageLibrary()->AddObserver(this);
144 } 149 }
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 // language is switched to XKB. 361 // language is switched to XKB.
357 // TODO(yusukes): remove this call? 362 // TODO(yusukes): remove this call?
358 RebuildModel(); 363 RebuildModel();
359 } 364 }
360 365
361 void LanguageMenuButton::ImePropertiesChanged(LanguageLibrary* obj) { 366 void LanguageMenuButton::ImePropertiesChanged(LanguageLibrary* obj) {
362 RebuildModel(); 367 RebuildModel();
363 } 368 }
364 369
365 void LanguageMenuButton::UpdateIcon(const std::wstring& name) { 370 void LanguageMenuButton::UpdateIcon(const std::wstring& name) {
366 set_border(NULL);
367 SetFont(ResourceBundle::GetSharedInstance().GetFont(
368 ResourceBundle::BaseFont).DeriveFont(0, gfx::Font::BOLD));
369 SetEnabledColor(SK_ColorWHITE);
370 SetShowHighlighted(false);
371 SetText(name); 371 SetText(name);
372 set_alignment(TextButton::ALIGN_RIGHT); 372 set_alignment(TextButton::ALIGN_RIGHT);
373 SchedulePaint(); 373 SchedulePaint();
374 } 374 }
375 375
376 void LanguageMenuButton::RebuildModel() { 376 void LanguageMenuButton::RebuildModel() {
377 model_.reset(new menus::SimpleMenuModel(NULL)); 377 model_.reset(new menus::SimpleMenuModel(NULL));
378 string16 dummy_label = UTF8ToUTF16(""); 378 string16 dummy_label = UTF8ToUTF16("");
379 // Indicates if separator's needed before each section. 379 // Indicates if separator's needed before each section.
380 bool need_separator = false; 380 bool need_separator = false;
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 433
434 bool LanguageMenuButton::IndexPointsToConfigureImeMenuItem(int index) const { 434 bool LanguageMenuButton::IndexPointsToConfigureImeMenuItem(int index) const {
435 DCHECK_GE(index, 0); 435 DCHECK_GE(index, 0);
436 DCHECK(model_.get()); 436 DCHECK(model_.get());
437 437
438 return ((model_->GetTypeAt(index) == menus::MenuModel::TYPE_RADIO) && 438 return ((model_->GetTypeAt(index) == menus::MenuModel::TYPE_RADIO) &&
439 (model_->GetCommandIdAt(index) == COMMAND_ID_CONFIGURE_IME)); 439 (model_->GetCommandIdAt(index) == COMMAND_ID_CONFIGURE_IME));
440 } 440 }
441 441
442 } // namespace chromeos 442 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698