| OLD | NEW |
| 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/message_center/views/message_center_bubble.h" | 5 #include "ui/message_center/views/message_center_bubble.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "ui/base/l10n/l10n_util.h" | 8 #include "ui/base/l10n/l10n_util.h" |
| 9 #include "ui/message_center/message_center_style.h" | 9 #include "ui/message_center/message_center_style.h" |
| 10 #include "ui/message_center/views/message_center_view.h" | 10 #include "ui/message_center/views/message_center_view.h" |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 } | 58 } |
| 59 | 59 |
| 60 // MessageCenterBubble ///////////////////////////////////////////////////////// | 60 // MessageCenterBubble ///////////////////////////////////////////////////////// |
| 61 | 61 |
| 62 MessageCenterBubble::MessageCenterBubble(MessageCenter* message_center, | 62 MessageCenterBubble::MessageCenterBubble(MessageCenter* message_center, |
| 63 MessageCenterTray* tray, | 63 MessageCenterTray* tray, |
| 64 bool first_item_has_no_margin) | 64 bool first_item_has_no_margin) |
| 65 : MessageBubbleBase(message_center, tray), | 65 : MessageBubbleBase(message_center, tray), |
| 66 message_center_view_(NULL), | 66 message_center_view_(NULL), |
| 67 initially_settings_visible_(false), | 67 initially_settings_visible_(false), |
| 68 first_item_has_no_margin_(first_item_has_no_margin), | 68 first_item_has_no_margin_(first_item_has_no_margin) {} |
| 69 title_(l10n_util::GetStringUTF16(IDS_MESSAGE_CENTER_FOOTER_TITLE)) { | |
| 70 } | |
| 71 | 69 |
| 72 MessageCenterBubble::~MessageCenterBubble() { | 70 MessageCenterBubble::~MessageCenterBubble() { |
| 73 } | 71 } |
| 74 | 72 |
| 75 void MessageCenterBubble::SetSettingsVisible() { | 73 void MessageCenterBubble::SetSettingsVisible() { |
| 76 if (message_center_view_) | 74 if (message_center_view_) |
| 77 message_center_view_->SetSettingsVisible(true); | 75 message_center_view_->SetSettingsVisible(true); |
| 78 else | 76 else |
| 79 initially_settings_visible_ = true; | 77 initially_settings_visible_ = true; |
| 80 } | 78 } |
| 81 | 79 |
| 82 views::TrayBubbleView::InitParams MessageCenterBubble::GetInitParams( | 80 views::TrayBubbleView::InitParams MessageCenterBubble::GetInitParams( |
| 83 views::TrayBubbleView::AnchorAlignment anchor_alignment) { | 81 views::TrayBubbleView::AnchorAlignment anchor_alignment) { |
| 84 views::TrayBubbleView::InitParams init_params = | 82 views::TrayBubbleView::InitParams init_params = |
| 85 GetDefaultInitParams(anchor_alignment); | 83 GetDefaultInitParams(anchor_alignment); |
| 86 init_params.min_width += kMarginBetweenItems * 2; | 84 init_params.min_width += kMarginBetweenItems * 2; |
| 87 init_params.max_width += kMarginBetweenItems * 2; | 85 init_params.max_width += kMarginBetweenItems * 2; |
| 88 init_params.max_height = max_height(); | 86 init_params.max_height = max_height(); |
| 89 init_params.can_activate = true; | 87 init_params.can_activate = true; |
| 90 init_params.first_item_has_no_margin = first_item_has_no_margin_; | 88 init_params.first_item_has_no_margin = first_item_has_no_margin_; |
| 91 return init_params; | 89 return init_params; |
| 92 } | 90 } |
| 93 | 91 |
| 94 void MessageCenterBubble::InitializeContents( | 92 void MessageCenterBubble::InitializeContents( |
| 95 views::TrayBubbleView* new_bubble_view) { | 93 views::TrayBubbleView* new_bubble_view) { |
| 96 set_bubble_view(new_bubble_view); | 94 set_bubble_view(new_bubble_view); |
| 97 bubble_view()->GetWidget()->AddObserver(this); | 95 bubble_view()->GetWidget()->AddObserver(this); |
| 98 message_center_view_ = new MessageCenterView( | 96 message_center_view_ = new MessageCenterView( |
| 99 message_center(), | 97 message_center(), tray(), max_height(), initially_settings_visible_, |
| 100 tray(), | 98 false); /* MessageCenterBubble should be used only on ChromeOS. |
| 101 max_height(), | 99 Message center is never shown top down in ChromeOS. */ |
| 102 initially_settings_visible_, | |
| 103 false, /* MessageCenterBubble should be used only on ChromeOS. | |
| 104 Message center is never shown top down in ChromeOS. */ | |
| 105 title_); | |
| 106 bubble_view()->AddChildView(new ContentsView(this, message_center_view_)); | 100 bubble_view()->AddChildView(new ContentsView(this, message_center_view_)); |
| 107 // Resize the content of the bubble view to the given bubble size. This is | 101 // Resize the content of the bubble view to the given bubble size. This is |
| 108 // necessary in case of the bubble border forcing a bigger size then the | 102 // necessary in case of the bubble border forcing a bigger size then the |
| 109 // |new_bubble_view| actually wants. See crbug.com/169390. | 103 // |new_bubble_view| actually wants. See crbug.com/169390. |
| 110 bubble_view()->Layout(); | 104 bubble_view()->Layout(); |
| 111 UpdateBubbleView(); | 105 UpdateBubbleView(); |
| 112 } | 106 } |
| 113 | 107 |
| 114 void MessageCenterBubble::OnBubbleViewDestroyed() { | 108 void MessageCenterBubble::OnBubbleViewDestroyed() { |
| 115 message_center_view_ = NULL; | 109 message_center_view_ = NULL; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 135 } | 129 } |
| 136 | 130 |
| 137 void MessageCenterBubble::OnMouseExitedView() { | 131 void MessageCenterBubble::OnMouseExitedView() { |
| 138 } | 132 } |
| 139 | 133 |
| 140 size_t MessageCenterBubble::NumMessageViewsForTest() const { | 134 size_t MessageCenterBubble::NumMessageViewsForTest() const { |
| 141 return message_center_view_->NumMessageViewsForTest(); | 135 return message_center_view_->NumMessageViewsForTest(); |
| 142 } | 136 } |
| 143 | 137 |
| 144 } // namespace message_center | 138 } // namespace message_center |
| OLD | NEW |