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

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

Issue 13879011: message_center: Convert NotificationCenterButton to LabelButton. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix nits Created 7 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
« 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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_view.h" 5 #include "ui/message_center/views/message_center_view.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "grit/ui_strings.h" 9 #include "grit/ui_strings.h"
10 #include "ui/base/l10n/l10n_util.h" 10 #include "ui/base/l10n/l10n_util.h"
11 #include "ui/base/resource/resource_bundle.h" 11 #include "ui/base/resource/resource_bundle.h"
12 #include "ui/gfx/canvas.h" 12 #include "ui/gfx/canvas.h"
13 #include "ui/gfx/insets.h" 13 #include "ui/gfx/insets.h"
14 #include "ui/gfx/point.h" 14 #include "ui/gfx/point.h"
15 #include "ui/gfx/rect.h" 15 #include "ui/gfx/rect.h"
16 #include "ui/gfx/size.h" 16 #include "ui/gfx/size.h"
17 #include "ui/gfx/text_constants.h" 17 #include "ui/gfx/text_constants.h"
18 #include "ui/message_center/message_center.h" 18 #include "ui/message_center/message_center.h"
19 #include "ui/message_center/message_center_constants.h" 19 #include "ui/message_center/message_center_constants.h"
20 #include "ui/message_center/message_center_util.h" 20 #include "ui/message_center/message_center_util.h"
21 #include "ui/message_center/views/message_view.h" 21 #include "ui/message_center/views/message_view.h"
22 #include "ui/message_center/views/notification_view.h" 22 #include "ui/message_center/views/notification_view.h"
23 #include "ui/views/background.h" 23 #include "ui/views/background.h"
24 #include "ui/views/border.h" 24 #include "ui/views/border.h"
25 #include "ui/views/controls/button/button.h" 25 #include "ui/views/controls/button/button.h"
26 #include "ui/views/controls/button/label_button.h" 26 #include "ui/views/controls/button/label_button.h"
27 #include "ui/views/controls/button/text_button.h"
28 #include "ui/views/controls/label.h" 27 #include "ui/views/controls/label.h"
29 #include "ui/views/controls/scroll_view.h" 28 #include "ui/views/controls/scroll_view.h"
30 #include "ui/views/controls/scrollbar/kennedy_scroll_bar.h" 29 #include "ui/views/controls/scrollbar/kennedy_scroll_bar.h"
31 #include "ui/views/layout/box_layout.h" 30 #include "ui/views/layout/box_layout.h"
32 #include "ui/views/layout/grid_layout.h" 31 #include "ui/views/layout/grid_layout.h"
33 #include "ui/views/painter.h" 32 #include "ui/views/painter.h"
34 #include "ui/views/widget/widget.h" 33 #include "ui/views/widget/widget.h"
35 34
36 35
37 namespace message_center { 36 namespace message_center {
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 } 97 }
99 98
100 void PoorMessageCenterButtonBar::ButtonPressed(views::Button* sender, 99 void PoorMessageCenterButtonBar::ButtonPressed(views::Button* sender,
101 const ui::Event& event) { 100 const ui::Event& event) {
102 if (sender == close_all_button()) 101 if (sender == close_all_button())
103 message_center()->RemoveAllNotifications(true); // Action by user. 102 message_center()->RemoveAllNotifications(true); // Action by user.
104 } 103 }
105 104
106 // NotificationCenterButton //////////////////////////////////////////////////// 105 // NotificationCenterButton ////////////////////////////////////////////////////
107 106
108 class NotificationCenterButton : public views::TextButton { 107 class NotificationCenterButton : public views::LabelButton {
109 public: 108 public:
110 NotificationCenterButton(views::ButtonListener* listener, 109 NotificationCenterButton(views::ButtonListener* listener,
111 const string16& text); 110 const string16& text);
112 111
113 // Overridden from views::View: 112 // Overridden from views::LabelButton:
114 virtual gfx::Size GetPreferredSize() OVERRIDE; 113 virtual gfx::Size GetPreferredSize() OVERRIDE;
115 114
116 protected: 115 protected:
117 // Overridden from views::View: 116 // Overridden from views::View:
118 virtual void OnPaintBorder(gfx::Canvas* canvas) OVERRIDE; 117 virtual void OnPaintBorder(gfx::Canvas* canvas) OVERRIDE;
119 virtual void OnPaintFocusBorder(gfx::Canvas* canvas) OVERRIDE; 118 virtual void OnPaintFocusBorder(gfx::Canvas* canvas) OVERRIDE;
120 119
121 private: 120 private:
122 DISALLOW_COPY_AND_ASSIGN(NotificationCenterButton); 121 DISALLOW_COPY_AND_ASSIGN(NotificationCenterButton);
123 }; 122 };
124 123
125 NotificationCenterButton::NotificationCenterButton( 124 NotificationCenterButton::NotificationCenterButton(
126 views::ButtonListener* listener, 125 views::ButtonListener* listener,
127 const string16& text) 126 const string16& text)
128 : views::TextButton(listener, text) { 127 : views::LabelButton(listener, text) {
129 set_border(views::Border::CreateEmptyBorder(0, 16, 0, 16)); 128 set_border(views::Border::CreateEmptyBorder(0, 16, 0, 16));
130 set_min_height(kFooterHeight); 129 set_min_size(gfx::Size(0, kFooterHeight));
131 SetEnabledColor(kFooterTextColor); 130 SetTextColor(STATE_NORMAL, kFooterTextColor);
132 SetHoverColor(kButtonTextHoverColor); 131 SetTextColor(STATE_HOVERED, kButtonTextHoverColor);
133 } 132 }
134 133
135 gfx::Size NotificationCenterButton::GetPreferredSize() { 134 gfx::Size NotificationCenterButton::GetPreferredSize() {
136 // Returns an empty size when invisible, to trim its space in the parent's 135 // Returns an empty size when invisible, to trim its space in the GridLayout.
137 // GridLayout. 136 return visible() ? views::LabelButton::GetPreferredSize() : gfx::Size();
138 if (!visible())
139 return gfx::Size();
140 return views::TextButton::GetPreferredSize();
141 } 137 }
142 138
143 void NotificationCenterButton::OnPaintBorder(gfx::Canvas* canvas) { 139 void NotificationCenterButton::OnPaintBorder(gfx::Canvas* canvas) {
144 // Just paint the left border. 140 // Just paint the left border.
145 canvas->DrawLine(gfx::Point(0, 0), gfx::Point(0, height()), 141 canvas->DrawLine(gfx::Point(0, 0), gfx::Point(0, height()),
146 kFooterDelimiterColor); 142 kFooterDelimiterColor);
147 } 143 }
148 144
149 void NotificationCenterButton::OnPaintFocusBorder(gfx::Canvas* canvas) { 145 void NotificationCenterButton::OnPaintFocusBorder(gfx::Canvas* canvas) {
150 if (HasFocus() && (focusable() || IsAccessibilityFocusable())) { 146 if (HasFocus() && (focusable() || IsAccessibilityFocusable())) {
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 // NotificationViews are expanded by default here until 445 // NotificationViews are expanded by default here until
450 // http://crbug.com/217902 is fixed. TODO(dharcourt): Fix. 446 // http://crbug.com/217902 is fixed. TODO(dharcourt): Fix.
451 MessageView* view = NotificationView::Create( 447 MessageView* view = NotificationView::Create(
452 notification, message_center_, true); 448 notification, message_center_, true);
453 view->set_scroller(scroller_); 449 view->set_scroller(scroller_);
454 message_views_[notification.id()] = view; 450 message_views_[notification.id()] = view;
455 message_list_view_->AddChildView(view); 451 message_list_view_->AddChildView(view);
456 } 452 }
457 453
458 } // namespace message_center 454 } // namespace message_center
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