| Index: ui/message_center/views/message_center_view.cc
|
| diff --git a/ui/message_center/views/message_center_view.cc b/ui/message_center/views/message_center_view.cc
|
| index 59679d5e8e985ea805112ae3183243b31336f8bb..76e5e8b9335d3347dc86d0113dc165bf7e742763 100644
|
| --- a/ui/message_center/views/message_center_view.cc
|
| +++ b/ui/message_center/views/message_center_view.cc
|
| @@ -61,63 +61,7 @@ const int kAnimateClearingNextNotificationDelayMS = 40;
|
| static const int kDefaultFrameRateHz = 60;
|
| static const int kDefaultAnimationDurationMs = 120;
|
|
|
| -// PoorMessageCenterButtonBar //////////////////////////////////////////////////
|
| -
|
| -// The view for the buttons at the bottom of the message center window used
|
| -// when kEnableRichNotifications is false (hence the "poor" in the name :-).
|
| -class PoorMessageCenterButtonBar : public MessageCenterButtonBar,
|
| - public views::ButtonListener {
|
| - public:
|
| - PoorMessageCenterButtonBar(MessageCenterView* message_center_view,
|
| - MessageCenter* message_center);
|
| -
|
| - // Overridden from views::ButtonListener:
|
| - virtual void ButtonPressed(views::Button* sender,
|
| - const ui::Event& event) OVERRIDE;
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(PoorMessageCenterButtonBar);
|
| -};
|
| -
|
| -PoorMessageCenterButtonBar::PoorMessageCenterButtonBar(
|
| - MessageCenterView* message_center_view, MessageCenter* message_center)
|
| - : MessageCenterButtonBar(message_center_view, message_center) {
|
| - set_background(views::Background::CreateBackgroundPainter(
|
| - true,
|
| - views::Painter::CreateVerticalGradient(kBackgroundLightColor,
|
| - kBackgroundDarkColor)));
|
| - set_border(views::Border::CreateSolidSidedBorder(
|
| - 2, 0, 0, 0, kBorderDarkColor));
|
| -
|
| - views::GridLayout* layout = new views::GridLayout(this);
|
| - SetLayoutManager(layout);
|
| - views::ColumnSet* columns = layout->AddColumnSet(0);
|
| - columns->AddPaddingColumn(100, 0);
|
| - columns->AddColumn(views::GridLayout::TRAILING, views::GridLayout::CENTER,
|
| - 0, /* resize percent */
|
| - views::GridLayout::USE_PREF, 0, 0);
|
| - columns->AddPaddingColumn(0, 4);
|
| -
|
| - ui::ResourceBundle& resource_bundle = ui::ResourceBundle::GetSharedInstance();
|
| - views::LabelButton* close_all_button = new views::LabelButton(
|
| - this, resource_bundle.GetLocalizedString(IDS_MESSAGE_CENTER_CLEAR_ALL));
|
| - close_all_button->SetHorizontalAlignment(gfx::ALIGN_CENTER);
|
| - close_all_button->set_request_focus_on_press(false);
|
| - close_all_button->SetTextColor(views::Button::STATE_NORMAL, kFooterTextColor);
|
| - close_all_button->SetTextColor(views::Button::STATE_HOVERED,
|
| - kButtonTextHoverColor);
|
| -
|
| - layout->AddPaddingRow(0, 4);
|
| - layout->StartRow(0, 0);
|
| - layout->AddView(close_all_button);
|
| - set_close_all_button(close_all_button);
|
| -}
|
| -
|
| -void PoorMessageCenterButtonBar::ButtonPressed(views::Button* sender,
|
| - const ui::Event& event) {
|
| - if (sender == close_all_button())
|
| - message_center_view()->ClearAllNotifications();
|
| -}
|
| +} // namespace
|
|
|
| // NotificationCenterButton ////////////////////////////////////////////////////
|
|
|
| @@ -167,36 +111,52 @@ void NotificationCenterButton::OnPaintFocusBorder(gfx::Canvas* canvas) {
|
| }
|
| }
|
|
|
| -// RichMessageCenterButtonBar //////////////////////////////////////////////////
|
| +// MessageCenterButtonBar //////////////////////////////////////////////////
|
|
|
| -// TODO(mukai): Merge this into MessageCenterButtonBar and get rid of
|
| -// PoorMessageCenterButtonBar when the kEnableRichNotifications flag disappears.
|
| -class RichMessageCenterButtonBar : public MessageCenterButtonBar,
|
| - public views::ButtonListener {
|
| +class MessageCenterButtonBar : public views::View,
|
| + public views::ButtonListener {
|
| public:
|
| - RichMessageCenterButtonBar(MessageCenterView* message_center_view,
|
| - MessageCenter* message_center);
|
| + MessageCenterButtonBar(MessageCenterView* message_center_view,
|
| + MessageCenter* message_center);
|
| + virtual ~MessageCenterButtonBar();
|
|
|
| - private:
|
| - // Overridden from MessageCenterButtonBar:
|
| - virtual void SetAllButtonsEnabled(bool enabled) OVERRIDE;
|
| + virtual void SetAllButtonsEnabled(bool enabled);
|
| + void SetCloseAllVisible(bool visible);
|
|
|
| + private:
|
| // Overridden from views::View:
|
| virtual void ChildVisibilityChanged(views::View* child) OVERRIDE;
|
|
|
| // Overridden from views::ButtonListener:
|
| - virtual void ButtonPressed(views::Button* sender,
|
| - const ui::Event& event) OVERRIDE;
|
| + virtual void ButtonPressed(views::Button* sender, const ui::Event& event)
|
| + OVERRIDE;
|
|
|
| + MessageCenterView* message_center_view() const {
|
| + return message_center_view_;
|
| + }
|
| + MessageCenter* message_center() const { return message_center_; }
|
| + MessageCenterTray* tray() const { return tray_; }
|
| + views::Button* close_all_button() const { return close_all_button_; }
|
| + void set_close_all_button(views::Button* button) {
|
| + close_all_button_ = button;
|
| + }
|
| +
|
| + MessageCenterView* message_center_view_; // Weak reference.
|
| + MessageCenter* message_center_; // Weak reference.
|
| + MessageCenterTray* tray_; // Weak reference.
|
| + views::Button* close_all_button_;
|
| NotificationCenterButton* settings_button_;
|
| NotificationCenterButton* quiet_mode_button_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(RichMessageCenterButtonBar);
|
| + DISALLOW_COPY_AND_ASSIGN(MessageCenterButtonBar);
|
| };
|
|
|
| -RichMessageCenterButtonBar::RichMessageCenterButtonBar(
|
| - MessageCenterView* message_center_view, MessageCenter* message_center)
|
| - : MessageCenterButtonBar(message_center_view, message_center) {
|
| +MessageCenterButtonBar::MessageCenterButtonBar(
|
| + MessageCenterView* message_center_view,
|
| + MessageCenter* message_center)
|
| + : message_center_view_(message_center_view),
|
| + message_center_(message_center),
|
| + close_all_button_(NULL) {
|
| if (get_use_acceleration_when_possible())
|
| SetPaintToLayer(true);
|
| set_background(views::Background::CreateSolidBackground(
|
| @@ -265,21 +225,28 @@ RichMessageCenterButtonBar::RichMessageCenterButtonBar(
|
| layout->AddView(button_container);
|
| }
|
|
|
| -// Overridden from MessageCenterButtonBar:
|
| -void RichMessageCenterButtonBar::SetAllButtonsEnabled(bool enabled) {
|
| - MessageCenterButtonBar::SetAllButtonsEnabled(enabled);
|
| +MessageCenterButtonBar::~MessageCenterButtonBar() {}
|
| +
|
| +void MessageCenterButtonBar::SetAllButtonsEnabled(bool enabled) {
|
| + if (close_all_button_)
|
| + close_all_button_->SetEnabled(enabled);
|
| settings_button_->SetEnabled(enabled);
|
| quiet_mode_button_->SetEnabled(enabled);
|
| }
|
|
|
| +void MessageCenterButtonBar::SetCloseAllVisible(bool visible) {
|
| + if (close_all_button_)
|
| + close_all_button_->SetVisible(visible);
|
| +}
|
| +
|
| // Overridden from views::View:
|
| -void RichMessageCenterButtonBar::ChildVisibilityChanged(views::View* child) {
|
| +void MessageCenterButtonBar::ChildVisibilityChanged(views::View* child) {
|
| InvalidateLayout();
|
| }
|
|
|
| // Overridden from views::ButtonListener:
|
| -void RichMessageCenterButtonBar::ButtonPressed(views::Button* sender,
|
| - const ui::Event& event) {
|
| +void MessageCenterButtonBar::ButtonPressed(views::Button* sender,
|
| + const ui::Event& event) {
|
| if (sender == close_all_button()) {
|
| message_center_view()->ClearAllNotifications();
|
| } else if (sender == settings_button_) {
|
| @@ -322,11 +289,9 @@ BoundedScrollView::BoundedScrollView(int min_height, int max_height)
|
| set_notify_enter_exit_on_child(true);
|
| // Cancels the default dashed focus border.
|
| set_focus_border(NULL);
|
| - if (IsRichNotificationEnabled()) {
|
| - set_background(views::Background::CreateSolidBackground(
|
| - kMessageCenterBackgroundColor));
|
| - SetVerticalScrollBar(new views::OverlayScrollBar(false));
|
| - }
|
| + set_background(
|
| + views::Background::CreateSolidBackground(kMessageCenterBackgroundColor));
|
| + SetVerticalScrollBar(new views::OverlayScrollBar(false));
|
| }
|
|
|
| gfx::Size BoundedScrollView::GetPreferredSize() {
|
| @@ -403,67 +368,20 @@ void NoNotificationMessageView::Layout() {
|
| label_->SetBounds(0, margin, width(), text_height);
|
| }
|
|
|
| -} // namespace
|
| -
|
| -// MessageListView /////////////////////////////////////////////////////////////
|
| -
|
| -// Displays a list of messages.
|
| -class MessageListView : public views::View {
|
| - public:
|
| - explicit MessageListView(MessageCenterView* message_center_view);
|
| -
|
| - // The interface for repositioning.
|
| - virtual void AddNotificationAt(views::View* view, int i);
|
| - virtual void RemoveNotificationAt(int i);
|
| - virtual void UpdateNotificationAt(views::View* view, int i);
|
| - virtual void SetRepositionTarget(const gfx::Rect& target_rect) {}
|
| - virtual void ResetRepositionSession() {}
|
| - virtual void ClearAllNotifications(const gfx::Rect& visible_scroll_rect);
|
| -
|
| - protected:
|
| - MessageCenterView* message_center_view() const {
|
| - return message_center_view_;
|
| - }
|
| -
|
| - private:
|
| - MessageCenterView* message_center_view_; // Weak reference.
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MessageListView);
|
| -};
|
| -
|
| -MessageListView::MessageListView(MessageCenterView* message_center_view)
|
| - : message_center_view_(message_center_view) {
|
| - views::BoxLayout* layout =
|
| - new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 1);
|
| - layout->set_spread_blank_space(true);
|
| - SetLayoutManager(layout);
|
| -}
|
| -
|
| -void MessageListView::AddNotificationAt(views::View* view, int i) {
|
| - AddChildViewAt(view, i);
|
| -}
|
| -
|
| -void MessageListView::RemoveNotificationAt(int i) {
|
| - delete child_at(i);
|
| -}
|
| -
|
| -void MessageListView::UpdateNotificationAt(views::View* view, int i) {
|
| - delete child_at(i);
|
| - AddChildViewAt(view, i);
|
| -}
|
| -
|
| -void MessageListView::ClearAllNotifications(
|
| - const gfx::Rect& visible_scroll_rect) {
|
| - message_center_view_->OnAllNotificationsCleared();
|
| -}
|
| -
|
| // Displays a list of messages for rich notifications. It also supports
|
| // repositioning.
|
| -class RichMessageListView : public MessageListView,
|
| - public views::BoundsAnimatorObserver {
|
| +class MessageListView : public views::View,
|
| + public views::BoundsAnimatorObserver {
|
| public:
|
| - explicit RichMessageListView(MessageCenterView* message_center_view);
|
| - virtual ~RichMessageListView();
|
| + explicit MessageListView(MessageCenterView* message_center_view);
|
| + virtual ~MessageListView();
|
| +
|
| + void AddNotificationAt(views::View* view, int i);
|
| + void RemoveNotificationAt(int i);
|
| + void UpdateNotificationAt(views::View* view, int i);
|
| + void SetRepositionTarget(const gfx::Rect& target_rect);
|
| + void ResetRepositionSession();
|
| + void ClearAllNotifications(const gfx::Rect& visible_scroll_rect);
|
|
|
| protected:
|
| // Overridden from views::View.
|
| @@ -473,15 +391,6 @@ class RichMessageListView : public MessageListView,
|
| virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE;
|
| virtual void ReorderChildLayers(ui::Layer* parent_layer) OVERRIDE;
|
|
|
| - // Overridden from MessageListView.
|
| - virtual void AddNotificationAt(views::View* view, int i) OVERRIDE;
|
| - virtual void RemoveNotificationAt(int i) OVERRIDE;
|
| - virtual void UpdateNotificationAt(views::View* view, int i) OVERRIDE;
|
| - virtual void SetRepositionTarget(const gfx::Rect& target_rect) OVERRIDE;
|
| - virtual void ResetRepositionSession() OVERRIDE;
|
| - virtual void ClearAllNotifications(
|
| - const gfx::Rect& visible_scroll_rect) OVERRIDE;
|
| -
|
| // Overridden from views::BoundsAnimatorObserver.
|
| virtual void OnBoundsAnimatorProgressed(
|
| views::BoundsAnimator* animator) OVERRIDE;
|
| @@ -489,6 +398,10 @@ class RichMessageListView : public MessageListView,
|
|
|
| private:
|
| // Returns the actual index for child of |index|.
|
| + // MessageListView allows to slide down upper notifications, which means
|
| + // that the upper ones should come above the lower ones. To achieve this,
|
| + // inversed order is adopted. The top most notification is the last child,
|
| + // and the bottom most notification is the first child.
|
| int GetActualIndex(int index);
|
| bool IsValidChild(views::View* child);
|
| void DoUpdateIfPossible();
|
| @@ -498,12 +411,14 @@ class RichMessageListView : public MessageListView,
|
|
|
| // Animate clearing one notification.
|
| void AnimateClearingOneNotification();
|
| + MessageCenterView* message_center_view() const {
|
| + return message_center_view_;
|
| + }
|
|
|
| + MessageCenterView* message_center_view_; // Weak reference.
|
| // The top position of the reposition target rectangle.
|
| int reposition_top_;
|
| -
|
| int fixed_height_;
|
| -
|
| bool has_deferred_task_;
|
| bool clear_all_started_;
|
| std::set<views::View*> adding_views_;
|
| @@ -511,18 +426,23 @@ class RichMessageListView : public MessageListView,
|
| std::set<views::View*> deleted_when_done_;
|
| std::list<views::View*> clearing_all_views_;
|
| scoped_ptr<views::BoundsAnimator> animator_;
|
| - base::WeakPtrFactory<RichMessageListView> weak_ptr_factory_;
|
| + base::WeakPtrFactory<MessageListView> weak_ptr_factory_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(RichMessageListView);
|
| + DISALLOW_COPY_AND_ASSIGN(MessageListView);
|
| };
|
|
|
| -RichMessageListView::RichMessageListView(MessageCenterView* message_center_view)
|
| - : MessageListView(message_center_view),
|
| +MessageListView::MessageListView(MessageCenterView* message_center_view)
|
| + : message_center_view_(message_center_view),
|
| reposition_top_(-1),
|
| fixed_height_(0),
|
| has_deferred_task_(false),
|
| clear_all_started_(false),
|
| weak_ptr_factory_(this) {
|
| + views::BoxLayout* layout =
|
| + new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 1);
|
| + layout->set_spread_blank_space(true);
|
| + SetLayoutManager(layout);
|
| +
|
| // Set the margin to 0 for the layout. BoxLayout assumes the same margin
|
| // for top and bottom, but the bottom margin here should be smaller
|
| // because of the shadow of message view. Use an empty border instead
|
| @@ -537,12 +457,12 @@ RichMessageListView::RichMessageListView(MessageCenterView* message_center_view)
|
| kMarginBetweenItems - shadow_insets.right() /* right */ ));
|
| }
|
|
|
| -RichMessageListView::~RichMessageListView() {
|
| +MessageListView::~MessageListView() {
|
| if (animator_.get())
|
| animator_->RemoveObserver(this);
|
| }
|
|
|
| -void RichMessageListView::Layout() {
|
| +void MessageListView::Layout() {
|
| if (animator_.get())
|
| return;
|
|
|
| @@ -561,7 +481,7 @@ void RichMessageListView::Layout() {
|
| }
|
| }
|
|
|
| -void RichMessageListView::AddNotificationAt(views::View* view, int i) {
|
| +void MessageListView::AddNotificationAt(views::View* view, int i) {
|
| AddChildViewAt(view, GetActualIndex(i));
|
| if (GetContentsBounds().IsEmpty())
|
| return;
|
| @@ -570,7 +490,7 @@ void RichMessageListView::AddNotificationAt(views::View* view, int i) {
|
| DoUpdateIfPossible();
|
| }
|
|
|
| -void RichMessageListView::RemoveNotificationAt(int i) {
|
| +void MessageListView::RemoveNotificationAt(int i) {
|
| views::View* child = child_at(GetActualIndex(i));
|
| if (GetContentsBounds().IsEmpty()) {
|
| delete child;
|
| @@ -586,7 +506,7 @@ void RichMessageListView::RemoveNotificationAt(int i) {
|
| }
|
| }
|
|
|
| -void RichMessageListView::UpdateNotificationAt(views::View* view, int i) {
|
| +void MessageListView::UpdateNotificationAt(views::View* view, int i) {
|
| int actual_index = GetActualIndex(i);
|
| views::View* child = child_at(actual_index);
|
| if (animator_.get())
|
| @@ -603,7 +523,7 @@ void RichMessageListView::UpdateNotificationAt(views::View* view, int i) {
|
| DoUpdateIfPossible();
|
| }
|
|
|
| -gfx::Size RichMessageListView::GetPreferredSize() {
|
| +gfx::Size MessageListView::GetPreferredSize() {
|
| int width = 0;
|
| for (int i = 0; i < child_count(); i++) {
|
| views::View* child = child_at(i);
|
| @@ -615,7 +535,7 @@ gfx::Size RichMessageListView::GetPreferredSize() {
|
| GetHeightForWidth(width + GetInsets().width()));
|
| }
|
|
|
| -int RichMessageListView::GetHeightForWidth(int width) {
|
| +int MessageListView::GetHeightForWidth(int width) {
|
| if (fixed_height_ > 0)
|
| return fixed_height_;
|
|
|
| @@ -633,7 +553,7 @@ int RichMessageListView::GetHeightForWidth(int width) {
|
| return height + GetInsets().height();
|
| }
|
|
|
| -void RichMessageListView::PaintChildren(gfx::Canvas* canvas) {
|
| +void MessageListView::PaintChildren(gfx::Canvas* canvas) {
|
| // Paint in the inversed order. Otherwise upper notification may be
|
| // hidden by the lower one.
|
| for (int i = child_count() - 1; i >= 0; --i) {
|
| @@ -642,7 +562,7 @@ void RichMessageListView::PaintChildren(gfx::Canvas* canvas) {
|
| }
|
| }
|
|
|
| -void RichMessageListView::ReorderChildLayers(ui::Layer* parent_layer) {
|
| +void MessageListView::ReorderChildLayers(ui::Layer* parent_layer) {
|
| // Reorder children to stack the last child layer at the top. Otherwise
|
| // upper notification may be hidden by the lower one.
|
| for (int i = 0; i < child_count(); ++i) {
|
| @@ -651,12 +571,12 @@ void RichMessageListView::ReorderChildLayers(ui::Layer* parent_layer) {
|
| }
|
| }
|
|
|
| -void RichMessageListView::SetRepositionTarget(const gfx::Rect& target) {
|
| +void MessageListView::SetRepositionTarget(const gfx::Rect& target) {
|
| reposition_top_ = target.y();
|
| fixed_height_ = GetHeightForWidth(width());
|
| }
|
|
|
| -void RichMessageListView::ResetRepositionSession() {
|
| +void MessageListView::ResetRepositionSession() {
|
| // Don't call DoUpdateIfPossible(), but let Layout() do the task without
|
| // animation. Reset will cause the change of the bubble size itself, and
|
| // animation from the old location will look weird.
|
| @@ -674,7 +594,7 @@ void RichMessageListView::ResetRepositionSession() {
|
| fixed_height_ = 0;
|
| }
|
|
|
| -void RichMessageListView::ClearAllNotifications(
|
| +void MessageListView::ClearAllNotifications(
|
| const gfx::Rect& visible_scroll_rect) {
|
| for (int i = 0; i < child_count(); ++i) {
|
| views::View* child = child_at(i);
|
| @@ -687,7 +607,7 @@ void RichMessageListView::ClearAllNotifications(
|
| DoUpdateIfPossible();
|
| }
|
|
|
| -void RichMessageListView::OnBoundsAnimatorProgressed(
|
| +void MessageListView::OnBoundsAnimatorProgressed(
|
| views::BoundsAnimator* animator) {
|
| DCHECK_EQ(animator_.get(), animator);
|
| for (std::set<views::View*>::iterator iter = deleted_when_done_.begin();
|
| @@ -698,8 +618,7 @@ void RichMessageListView::OnBoundsAnimatorProgressed(
|
| }
|
| }
|
|
|
| -void RichMessageListView::OnBoundsAnimatorDone(
|
| - views::BoundsAnimator* animator) {
|
| +void MessageListView::OnBoundsAnimatorDone(views::BoundsAnimator* animator) {
|
| STLDeleteContainerPointers(
|
| deleted_when_done_.begin(), deleted_when_done_.end());
|
| deleted_when_done_.clear();
|
| @@ -718,19 +637,19 @@ void RichMessageListView::OnBoundsAnimatorDone(
|
| GetWidget()->SynthesizeMouseMoveEvent();
|
| }
|
|
|
| -int RichMessageListView::GetActualIndex(int index) {
|
| +int MessageListView::GetActualIndex(int index) {
|
| for (int i = 0; i < child_count() && i <= index; ++i)
|
| index += IsValidChild(child_at(i)) ? 0 : 1;
|
| return std::min(index, child_count());
|
| }
|
|
|
| -bool RichMessageListView::IsValidChild(views::View* child) {
|
| +bool MessageListView::IsValidChild(views::View* child) {
|
| return child->visible() &&
|
| - deleting_views_.find(child) == deleting_views_.end() &&
|
| - deleted_when_done_.find(child) == deleted_when_done_.end();
|
| + deleting_views_.find(child) == deleting_views_.end() &&
|
| + deleted_when_done_.find(child) == deleted_when_done_.end();
|
| }
|
|
|
| -void RichMessageListView::DoUpdateIfPossible() {
|
| +void MessageListView::DoUpdateIfPossible() {
|
| gfx::Rect child_area = GetContentsBounds();
|
| if (child_area.IsEmpty())
|
| return;
|
| @@ -774,9 +693,7 @@ void RichMessageListView::DoUpdateIfPossible() {
|
| deleting_views_.clear();
|
| }
|
|
|
| -void RichMessageListView::AnimateChild(views::View* child,
|
| - int top,
|
| - int height) {
|
| +void MessageListView::AnimateChild(views::View* child, int top, int height) {
|
| gfx::Rect child_area = GetContentsBounds();
|
| if (adding_views_.find(child) != adding_views_.end()) {
|
| child->SetBounds(child_area.right(), top, child_area.width(), height);
|
| @@ -796,7 +713,7 @@ void RichMessageListView::AnimateChild(views::View* child,
|
| }
|
| }
|
|
|
| -void RichMessageListView::AnimateClearingOneNotification() {
|
| +void MessageListView::AnimateClearingOneNotification() {
|
| DCHECK(!clearing_all_views_.empty());
|
|
|
| clear_all_started_ = true;
|
| @@ -813,35 +730,13 @@ void RichMessageListView::AnimateClearingOneNotification() {
|
| if (!clearing_all_views_.empty()) {
|
| base::MessageLoop::current()->PostDelayedTask(
|
| FROM_HERE,
|
| - base::Bind(&RichMessageListView::AnimateClearingOneNotification,
|
| - weak_ptr_factory_.GetWeakPtr()),
|
| + base::Bind(&MessageListView::AnimateClearingOneNotification,
|
| + weak_ptr_factory_.GetWeakPtr()),
|
| base::TimeDelta::FromMilliseconds(
|
| kAnimateClearingNextNotificationDelayMS));
|
| }
|
| }
|
|
|
| -// MessageCenterButtonBar //////////////////////////////////////////////////////
|
| -
|
| -MessageCenterButtonBar::MessageCenterButtonBar(
|
| - MessageCenterView* message_center_view, MessageCenter* message_center)
|
| - : message_center_view_(message_center_view),
|
| - message_center_(message_center),
|
| - close_all_button_(NULL) {
|
| -}
|
| -
|
| -MessageCenterButtonBar::~MessageCenterButtonBar() {
|
| -}
|
| -
|
| -void MessageCenterButtonBar::SetAllButtonsEnabled(bool enabled) {
|
| - if (close_all_button_)
|
| - close_all_button_->SetEnabled(enabled);
|
| -}
|
| -
|
| -void MessageCenterButtonBar::SetCloseAllVisible(bool visible) {
|
| - if (close_all_button_)
|
| - close_all_button_->SetVisible(visible);
|
| -}
|
| -
|
| // MessageCenterView ///////////////////////////////////////////////////////////
|
|
|
| MessageCenterView::MessageCenterView(MessageCenter* message_center,
|
| @@ -856,10 +751,7 @@ MessageCenterView::MessageCenterView(MessageCenter* message_center,
|
| set_background(views::Background::CreateSolidBackground(
|
| kMessageCenterBackgroundColor));
|
|
|
| - if (IsRichNotificationEnabled())
|
| - button_bar_ = new RichMessageCenterButtonBar(this, message_center);
|
| - else
|
| - button_bar_ = new PoorMessageCenterButtonBar(this, message_center);
|
| + button_bar_ = new MessageCenterButtonBar(this, message_center);
|
|
|
| const int button_height = button_bar_->GetPreferredSize().height();
|
| scroller_ = new BoundedScrollView(kMinScrollViewHeight,
|
| @@ -871,8 +763,7 @@ MessageCenterView::MessageCenterView(MessageCenter* message_center,
|
| scroller_->layer()->SetMasksToBounds(true);
|
| }
|
|
|
| - message_list_view_ = IsRichNotificationEnabled() ?
|
| - new RichMessageListView(this) : new MessageListView(this);
|
| + message_list_view_ = new MessageListView(this);
|
| no_notifications_message_view_ = new NoNotificationMessageView();
|
| // Set the default visibility to false, otherwise the notification has slide
|
| // in animation when the center is shown.
|
| @@ -973,7 +864,6 @@ size_t MessageCenterView::NumMessageViewsForTest() const {
|
| }
|
|
|
| void MessageCenterView::Layout() {
|
| - int between_child = IsRichNotificationEnabled() ? 0 : 1;
|
| int button_height = button_bar_->GetHeightForWidth(width());
|
| // Skip unnecessary re-layout of contents during the resize animation.
|
| if (settings_transition_animation_ &&
|
| @@ -983,9 +873,8 @@ void MessageCenterView::Layout() {
|
| return;
|
| }
|
|
|
| - scroller_->SetBounds(0, 0, width(), height() - button_height - between_child);
|
| - settings_view_->SetBounds(
|
| - 0, 0, width(), height() - button_height - between_child);
|
| + scroller_->SetBounds(0, 0, width(), height() - button_height);
|
| + settings_view_->SetBounds(0, 0, width(), height() - button_height);
|
|
|
| bool is_scrollable = false;
|
| if (scroller_->visible())
|
|
|