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

Unified Diff: ui/message_center/views/notification_view.cc

Issue 75133006: Move knowledge about MessageCenter out of MessageView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more fix Created 7 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/message_center/views/notification_view.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/message_center/views/notification_view.cc
diff --git a/ui/message_center/views/notification_view.cc b/ui/message_center/views/notification_view.cc
index 5032c021953edbeffcb43b7daeea73bd2be02dfc..92eff065e317bdf5691869b833adbbec650b81bb 100644
--- a/ui/message_center/views/notification_view.cc
+++ b/ui/message_center/views/notification_view.cc
@@ -19,6 +19,7 @@
#include "ui/message_center/message_center.h"
#include "ui/message_center/message_center_style.h"
#include "ui/message_center/message_center_switches.h"
+#include "ui/message_center/message_center_tray.h"
#include "ui/message_center/message_center_util.h"
#include "ui/message_center/notification.h"
#include "ui/message_center/notification_types.h"
@@ -420,11 +421,11 @@ namespace message_center {
// NotificationView ////////////////////////////////////////////////////////////
// static
-MessageView* NotificationView::Create(const Notification& notification,
- MessageCenter* message_center,
- MessageCenterTray* tray,
- bool expanded,
- bool top_level) {
+NotificationView* NotificationView::Create(const Notification& notification,
+ MessageCenter* message_center,
+ MessageCenterTray* tray,
+ bool expanded,
+ bool top_level) {
switch (notification.type()) {
case NOTIFICATION_TYPE_BASE_FORMAT:
case NOTIFICATION_TYPE_IMAGE:
@@ -444,7 +445,7 @@ MessageView* NotificationView::Create(const Notification& notification,
}
// Currently all roads lead to the generic NotificationView.
- MessageView* notification_view =
+ NotificationView* notification_view =
new NotificationView(notification, message_center, tray, expanded);
#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
@@ -461,7 +462,11 @@ NotificationView::NotificationView(const Notification& notification,
MessageCenter* message_center,
MessageCenterTray* tray,
bool expanded)
- : MessageView(notification, message_center, tray),
+ : MessageView(notification.display_source()),
+ message_center_(message_center),
+ tray_(tray),
+ notification_id_(notification.id()),
+ notifier_id_(notification.notifier_id()),
clickable_(notification.clickable()),
is_expanded_(expanded) {
std::vector<string16> accessible_lines;
@@ -739,7 +744,7 @@ views::View* NotificationView::GetEventHandlerForRect(const gfx::Rect& rect) {
}
gfx::NativeCursor NotificationView::GetCursor(const ui::MouseEvent& event) {
- if (!clickable_ || !message_center()->HasClickedListener(notification_id()))
+ if (!clickable_ || !message_center_->HasClickedListener(notification_id_))
return views::View::GetCursor(event);
#if defined(USE_AURA)
@@ -755,7 +760,7 @@ void NotificationView::ButtonPressed(views::Button* sender,
// See if the button pressed was an action button.
for (size_t i = 0; i < action_buttons_.size(); ++i) {
if (sender == action_buttons_[i]) {
- message_center()->ClickOnNotificationButton(notification_id(), i);
+ message_center_->ClickOnNotificationButton(notification_id_, i);
return;
}
}
@@ -770,7 +775,7 @@ void NotificationView::ButtonPressed(views::Button* sender,
image_view_->SetVisible(true);
is_expanded_ = true;
- message_center()->ExpandNotification(notification_id());
+ message_center_->ExpandNotification(notification_id_);
return;
}
@@ -780,6 +785,22 @@ void NotificationView::ButtonPressed(views::Button* sender,
MessageView::ButtonPressed(sender, event);
}
+void NotificationView::ClickOnNotification() {
+ message_center_->ClickOnNotification(notification_id_);
+}
+
+void NotificationView::RemoveNotification(bool by_user) {
+ message_center_->RemoveNotification(notification_id_, by_user);
+}
+
+void NotificationView::DisableNotificationsFromThisSource() {
+ message_center_->DisableNotificationsByNotifier(notifier_id_);
+}
+
+void NotificationView::ShowNotifierSettingsBubble() {
+ tray_->ShowNotifierSettingsBubble();
+}
+
bool NotificationView::IsExpansionNeeded(int width) {
return (!is_expanded_ &&
(image_view_ ||
« no previous file with comments | « ui/message_center/views/notification_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698