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

Side by Side Diff: ui/message_center/views/message_center_button_bar.cc

Issue 78803002: Fixing focus highlight on high DPI devices for accessibility (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed Created 7 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/message_center/views/message_center_button_bar.h" 5 #include "ui/message_center/views/message_center_button_bar.h"
6 6
7 #include "grit/ui_resources.h" 7 #include "grit/ui_resources.h"
8 #include "grit/ui_strings.h" 8 #include "grit/ui_strings.h"
9 #include "ui/base/l10n/l10n_util.h" 9 #include "ui/base/l10n/l10n_util.h"
10 #include "ui/base/models/simple_menu_model.h" 10 #include "ui/base/models/simple_menu_model.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 NotificationCenterButton(views::ButtonListener* listener, 43 NotificationCenterButton(views::ButtonListener* listener,
44 int normal_id, 44 int normal_id,
45 int hover_id, 45 int hover_id,
46 int pressed_id, 46 int pressed_id,
47 int text_id); 47 int text_id);
48 void set_size(gfx::Size size) { size_ = size; } 48 void set_size(gfx::Size size) { size_ = size; }
49 49
50 protected: 50 protected:
51 // Overridden from views::View: 51 // Overridden from views::View:
52 virtual gfx::Size GetPreferredSize() OVERRIDE; 52 virtual gfx::Size GetPreferredSize() OVERRIDE;
53 virtual void OnPaintFocusBorder(gfx::Canvas* canvas) OVERRIDE;
54 53
55 private: 54 private:
56 gfx::Size size_; 55 gfx::Size size_;
57 56
58 DISALLOW_COPY_AND_ASSIGN(NotificationCenterButton); 57 DISALLOW_COPY_AND_ASSIGN(NotificationCenterButton);
59 }; 58 };
60 59
61 NotificationCenterButton::NotificationCenterButton( 60 NotificationCenterButton::NotificationCenterButton(
62 views::ButtonListener* listener, 61 views::ButtonListener* listener,
63 int normal_id, 62 int normal_id,
64 int hover_id, 63 int hover_id,
65 int pressed_id, 64 int pressed_id,
66 int text_id) 65 int text_id)
67 : views::ToggleImageButton(listener), size_(kButtonSize, kButtonSize) { 66 : views::ToggleImageButton(listener), size_(kButtonSize, kButtonSize) {
68 ui::ResourceBundle& resource_bundle = ui::ResourceBundle::GetSharedInstance(); 67 ui::ResourceBundle& resource_bundle = ui::ResourceBundle::GetSharedInstance();
69 SetImage(STATE_NORMAL, resource_bundle.GetImageSkiaNamed(normal_id)); 68 SetImage(STATE_NORMAL, resource_bundle.GetImageSkiaNamed(normal_id));
70 SetImage(STATE_HOVERED, resource_bundle.GetImageSkiaNamed(hover_id)); 69 SetImage(STATE_HOVERED, resource_bundle.GetImageSkiaNamed(hover_id));
71 SetImage(STATE_PRESSED, resource_bundle.GetImageSkiaNamed(pressed_id)); 70 SetImage(STATE_PRESSED, resource_bundle.GetImageSkiaNamed(pressed_id));
72 SetImageAlignment(views::ImageButton::ALIGN_CENTER, 71 SetImageAlignment(views::ImageButton::ALIGN_CENTER,
73 views::ImageButton::ALIGN_MIDDLE); 72 views::ImageButton::ALIGN_MIDDLE);
74 if (text_id) 73 if (text_id)
75 SetTooltipText(resource_bundle.GetLocalizedString(text_id)); 74 SetTooltipText(resource_bundle.GetLocalizedString(text_id));
76 75
77 set_focusable(true); 76 set_focusable(true);
78 set_request_focus_on_press(false); 77 set_request_focus_on_press(false);
78
79 set_focus_border(views::FocusBorder::CreateSolidFocusBorder(
80 kFocusBorderColor,
81 gfx::Insets(1, 2, 2, 2)));
79 } 82 }
80 83
81 gfx::Size NotificationCenterButton::GetPreferredSize() { return size_; } 84 gfx::Size NotificationCenterButton::GetPreferredSize() { return size_; }
82 85
83 void NotificationCenterButton::OnPaintFocusBorder(gfx::Canvas* canvas) {
84 if (HasFocus()) {
85 canvas->DrawRect(gfx::Rect(2, 1, width() - 4, height() - 3),
86 kFocusBorderColor);
87 }
88 }
89
90 // MessageCenterButtonBar ///////////////////////////////////////////////////// 86 // MessageCenterButtonBar /////////////////////////////////////////////////////
91 /////////////////////////////////////////////////////////////////////////////// 87 ///////////////////////////////////////////////////////////////////////////////
92 MessageCenterButtonBar::MessageCenterButtonBar( 88 MessageCenterButtonBar::MessageCenterButtonBar(
93 MessageCenterView* message_center_view, 89 MessageCenterView* message_center_view,
94 MessageCenter* message_center, 90 MessageCenter* message_center,
95 NotifierSettingsProvider* notifier_settings_provider, 91 NotifierSettingsProvider* notifier_settings_provider,
96 bool settings_initially_visible) 92 bool settings_initially_visible)
97 : message_center_view_(message_center_view), 93 : message_center_view_(message_center_view),
98 message_center_(message_center), 94 message_center_(message_center),
99 title_arrow_(NULL), 95 title_arrow_(NULL),
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 message_center()->SetQuietMode(false); 261 message_center()->SetQuietMode(false);
266 else 262 else
267 message_center()->EnterQuietModeWithExpire(base::TimeDelta::FromDays(1)); 263 message_center()->EnterQuietModeWithExpire(base::TimeDelta::FromDays(1));
268 quiet_mode_button_->SetToggled(message_center()->IsQuietMode()); 264 quiet_mode_button_->SetToggled(message_center()->IsQuietMode());
269 } else { 265 } else {
270 NOTREACHED(); 266 NOTREACHED();
271 } 267 }
272 } 268 }
273 269
274 } // namespace message_center 270 } // namespace message_center
OLDNEW
« no previous file with comments | « ui/message_center/message_center.gyp ('k') | ui/message_center/views/message_center_focus_border.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698