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

Side by Side Diff: ui/views/controls/button/text_button.cc

Issue 11558006: Fix label color in TextButtonBase (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ui/views/controls/button/text_button.h" 5 #include "ui/views/controls/button/text_button.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "grit/ui_resources.h" 10 #include "grit/ui_resources.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 has_text_shadow_(false), 200 has_text_shadow_(false),
201 active_text_shadow_color_(0), 201 active_text_shadow_color_(0),
202 inactive_text_shadow_color_(0), 202 inactive_text_shadow_color_(0),
203 text_shadow_offset_(gfx::Point(1, 1)), 203 text_shadow_offset_(gfx::Point(1, 1)),
204 min_width_(0), 204 min_width_(0),
205 min_height_(0), 205 min_height_(0),
206 max_width_(0), 206 max_width_(0),
207 show_multiple_icon_states_(true), 207 show_multiple_icon_states_(true),
208 is_default_(false), 208 is_default_(false),
209 multi_line_(false), 209 multi_line_(false),
210 color_(ui::NativeTheme::instance()->GetSystemColor( 210 color_(0),
msw 2012/12/12 19:38:16 nit: Skip initializing these values to 0.
cpu_(ooo_6.6-7.5) 2012/12/12 22:53:25 Done.
211 ui::NativeTheme::kColorId_TextButtonEnabledColor)), 211 color_enabled_(0),
212 color_enabled_(ui::NativeTheme::instance()->GetSystemColor( 212 color_disabled_(0),
213 ui::NativeTheme::kColorId_TextButtonEnabledColor)), 213 color_highlight_(0),
214 color_disabled_(ui::NativeTheme::instance()->GetSystemColor( 214 color_hover_(0),
215 ui::NativeTheme::kColorId_TextButtonDisabledColor)),
216 color_highlight_(ui::NativeTheme::instance()->GetSystemColor(
217 ui::NativeTheme::kColorId_TextButtonHighlightColor)),
218 color_hover_(ui::NativeTheme::instance()->GetSystemColor(
219 ui::NativeTheme::kColorId_TextButtonHoverColor)),
220 use_enabled_color_from_theme_(true), 215 use_enabled_color_from_theme_(true),
221 use_disabled_color_from_theme_(true), 216 use_disabled_color_from_theme_(true),
222 use_highlight_color_from_theme_(true), 217 use_highlight_color_from_theme_(true),
223 use_hover_color_from_theme_(true) { 218 use_hover_color_from_theme_(true) {
224 SetText(text); 219 SetText(text);
220 OnNativeThemeChanged(ui::NativeTheme::instance());
225 SetAnimationDuration(kHoverAnimationDurationMs); 221 SetAnimationDuration(kHoverAnimationDurationMs);
226 } 222 }
227 223
228 TextButtonBase::~TextButtonBase() { 224 TextButtonBase::~TextButtonBase() {
229 } 225 }
230 226
231 void TextButtonBase::SetIsDefault(bool is_default) { 227 void TextButtonBase::SetIsDefault(bool is_default) {
232 if (is_default == is_default_) 228 if (is_default == is_default_)
233 return; 229 return;
234 is_default_ = is_default; 230 is_default_ = is_default;
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 CustomButton::OnEnabledChanged(); 523 CustomButton::OnEnabledChanged();
528 } 524 }
529 525
530 std::string TextButtonBase::GetClassName() const { 526 std::string TextButtonBase::GetClassName() const {
531 return kViewClassName; 527 return kViewClassName;
532 } 528 }
533 529
534 void TextButtonBase::OnNativeThemeChanged(const ui::NativeTheme* theme) { 530 void TextButtonBase::OnNativeThemeChanged(const ui::NativeTheme* theme) {
535 if (use_enabled_color_from_theme_) { 531 if (use_enabled_color_from_theme_) {
536 color_enabled_ = theme->GetSystemColor( 532 color_enabled_ = theme->GetSystemColor(
537 ui::NativeTheme::kColorId_TextButtonEnabledColor); 533 ui::NativeTheme::kColorId_LabelEnabledColor);
msw 2012/12/12 19:38:16 Repurpose kColorId_TextButtonEnabledColor to get C
cpu_(ooo_6.6-7.5) 2012/12/12 22:53:25 Done.
538 } 534 }
539 if (use_disabled_color_from_theme_) { 535 if (use_disabled_color_from_theme_) {
540 color_disabled_ = theme->GetSystemColor( 536 color_disabled_ = theme->GetSystemColor(
541 ui::NativeTheme::kColorId_TextButtonDisabledColor); 537 ui::NativeTheme::kColorId_LabelDisabledColor);
msw 2012/12/12 19:38:16 Using kColorId_LabelDisabledColor (COLOR_GRAYTEXT)
cpu_(ooo_6.6-7.5) 2012/12/12 22:53:25 Done.
542 } 538 }
543 if (use_highlight_color_from_theme_) { 539 if (use_highlight_color_from_theme_) {
544 color_highlight_ = theme->GetSystemColor( 540 color_highlight_ = theme->GetSystemColor(
cpu_(ooo_6.6-7.5) 2012/12/12 03:42:12 highlight_ is only used on windows and only in PB_
545 ui::NativeTheme::kColorId_TextButtonHighlightColor); 541 ui::NativeTheme::kColorId_TextButtonHighlightColor);
546 } 542 }
547 if (use_hover_color_from_theme_) { 543 if (use_hover_color_from_theme_) {
548 color_hover_ = theme->GetSystemColor( 544 color_hover_ = theme->GetSystemColor(
549 ui::NativeTheme::kColorId_TextButtonHoverColor); 545 ui::NativeTheme::kColorId_TextButtonHoverColor);
cpu_(ooo_6.6-7.5) 2012/12/12 03:42:12 this seems correct, on hover the text becomes blue
550 } 546 }
551 UpdateColor(); 547 UpdateColor();
552 } 548 }
553 549
554 //////////////////////////////////////////////////////////////////////////////// 550 ////////////////////////////////////////////////////////////////////////////////
555 // TextButtonBase, NativeThemeDelegate overrides: 551 // TextButtonBase, NativeThemeDelegate overrides:
556 552
557 gfx::Rect TextButtonBase::GetThemePaintRect() const { 553 gfx::Rect TextButtonBase::GetThemePaintRect() const {
558 return GetLocalBounds(); 554 return GetLocalBounds();
559 } 555 }
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 } 782 }
787 783
788 void NativeTextButton::OnNativeThemeChanged(const ui::NativeTheme* theme) { 784 void NativeTextButton::OnNativeThemeChanged(const ui::NativeTheme* theme) {
789 SetThemeSpecificState(theme); 785 SetThemeSpecificState(theme);
790 } 786 }
791 787
792 void NativeTextButton::SetThemeSpecificState(const ui::NativeTheme* theme) { 788 void NativeTextButton::SetThemeSpecificState(const ui::NativeTheme* theme) {
793 #if defined(OS_WIN) 789 #if defined(OS_WIN)
794 if (theme == ui::NativeThemeWin::instance()) { 790 if (theme == ui::NativeThemeWin::instance()) {
795 if (use_enabled_color_from_theme()) 791 if (use_enabled_color_from_theme())
796 set_color_enabled(skia::COLORREFToSkColor(GetSysColor(COLOR_BTNTEXT))); 792 set_color_enabled(skia::COLORREFToSkColor(GetSysColor(COLOR_BTNTEXT)));
msw 2012/12/12 19:38:16 Use the theme here to get COLOR_BTNTEXT and COLOR_
797 if (use_disabled_color_from_theme()) 793 if (use_disabled_color_from_theme())
798 set_color_disabled(skia::COLORREFToSkColor(GetSysColor(COLOR_GRAYTEXT))); 794 set_color_disabled(skia::COLORREFToSkColor(GetSysColor(COLOR_GRAYTEXT)));
799 if (use_hover_color_from_theme()) 795 if (use_hover_color_from_theme())
800 set_color_hover(skia::COLORREFToSkColor(GetSysColor(COLOR_BTNTEXT))); 796 set_color_hover(skia::COLORREFToSkColor(GetSysColor(COLOR_BTNTEXT)));
801 UpdateColor(); 797 UpdateColor();
802 set_focus_border(FocusBorder::CreateDashedFocusBorder(kFocusRectInset, 798 set_focus_border(FocusBorder::CreateDashedFocusBorder(kFocusRectInset,
803 kFocusRectInset, 799 kFocusRectInset,
804 kFocusRectInset, 800 kFocusRectInset,
805 kFocusRectInset)); 801 kFocusRectInset));
806 } else { 802 } else {
(...skipping 14 matching lines...) Expand all
821 // when not using NativeThemeWin. 817 // when not using NativeThemeWin.
822 #if defined(OS_WIN) 818 #if defined(OS_WIN)
823 if (GetNativeTheme() == ui::NativeThemeWin::instance()) 819 if (GetNativeTheme() == ui::NativeThemeWin::instance())
824 return; 820 return;
825 #endif 821 #endif
826 params->button.is_focused = HasFocus() && 822 params->button.is_focused = HasFocus() &&
827 (focusable() || IsAccessibilityFocusable()); 823 (focusable() || IsAccessibilityFocusable());
828 } 824 }
829 825
830 } // namespace views 826 } // namespace views
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698