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

Unified Diff: ui/message_center/views/message_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/message_view.h ('k') | ui/message_center/views/notification_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/message_center/views/message_view.cc
diff --git a/ui/message_center/views/message_view.cc b/ui/message_center/views/message_view.cc
index da65a0a87c266ad915401b7a08728e773e6db7ea..56e2202214ebf717a605a3d8c1cbd8460a529690 100644
--- a/ui/message_center/views/message_view.cc
+++ b/ui/message_center/views/message_view.cc
@@ -14,7 +14,6 @@
#include "ui/gfx/canvas.h"
#include "ui/message_center/message_center.h"
#include "ui/message_center/message_center_style.h"
-#include "ui/message_center/message_center_tray.h"
#include "ui/message_center/message_center_util.h"
#include "ui/message_center/views/padded_button.h"
#include "ui/views/context_menu_controller.h"
@@ -40,11 +39,8 @@ const int kShowSettingsCommand = 1;
class MenuModel : public ui::SimpleMenuModel,
public ui::SimpleMenuModel::Delegate {
public:
- MenuModel(message_center::MessageCenter* message_center,
- message_center::MessageCenterTray* tray,
- const std::string& notification_id,
- const string16& display_source,
- const message_center::NotifierId& notifier_id);
+ MenuModel(message_center::MessageView* message_view,
+ const string16& display_source);
virtual ~MenuModel();
// Overridden from ui::SimpleMenuModel::Delegate:
@@ -57,24 +53,14 @@ class MenuModel : public ui::SimpleMenuModel,
virtual void ExecuteCommand(int command_id, int event_flags) OVERRIDE;
private:
- message_center::MessageCenter* message_center_; // Weak reference.
- message_center::MessageCenterTray* tray_; // Weak reference.
- std::string notification_id_;
- message_center::NotifierId notifier_id_;
-
+ message_center::MessageView* message_view_; // Weak, owns us.
DISALLOW_COPY_AND_ASSIGN(MenuModel);
};
-MenuModel::MenuModel(message_center::MessageCenter* message_center,
- message_center::MessageCenterTray* tray,
- const std::string& notification_id,
- const string16& display_source,
- const message_center::NotifierId& notifier_id)
+MenuModel::MenuModel(message_center::MessageView* message_view,
+ const string16& display_source)
: ui::SimpleMenuModel(this),
- message_center_(message_center),
- tray_(tray),
- notification_id_(notification_id),
- notifier_id_(notifier_id) {
+ message_view_(message_view) {
// Add 'disable notifications' menu item.
if (!display_source.empty()) {
AddItem(kTogglePermissionCommand,
@@ -109,12 +95,10 @@ bool MenuModel::GetAcceleratorForCommandId(int command_id,
void MenuModel::ExecuteCommand(int command_id, int event_flags) {
switch (command_id) {
case kTogglePermissionCommand:
- message_center_->DisableNotificationsByNotifier(notifier_id_);
+ message_view_->DisableNotificationsFromThisSource();
break;
case kShowSettingsCommand:
- // |tray_| may be NULL in tests.
- if (tray_)
- tray_->ShowNotifierSettingsBubble();
+ message_view_->ShowNotifierSettingsBubble();
break;
default:
NOTREACHED();
@@ -127,10 +111,8 @@ namespace message_center {
class MessageViewContextMenuController : public views::ContextMenuController {
public:
- MessageViewContextMenuController(
- MessageCenter* message_center,
- MessageCenterTray* tray,
- const Notification& notification);
+ MessageViewContextMenuController(MessageView* message_view,
+ const string16& display_source);
virtual ~MessageViewContextMenuController();
protected:
@@ -139,22 +121,15 @@ class MessageViewContextMenuController : public views::ContextMenuController {
const gfx::Point& point,
ui::MenuSourceType source_type) OVERRIDE;
- MessageCenter* message_center_; // Weak reference.
- MessageCenterTray* tray_; // Weak reference.
- std::string notification_id_;
+ MessageView* message_view_; // Weak, owns us.
string16 display_source_;
- NotifierId notifier_id_;
};
MessageViewContextMenuController::MessageViewContextMenuController(
- MessageCenter* message_center,
- MessageCenterTray* tray,
- const Notification& notification)
- : message_center_(message_center),
- tray_(tray),
- notification_id_(notification.id()),
- display_source_(notification.display_source()),
- notifier_id_(notification.notifier_id()) {
+ MessageView* message_view,
+ const string16& display_source)
+ : message_view_(message_view),
+ display_source_(display_source) {
}
MessageViewContextMenuController::~MessageViewContextMenuController() {
@@ -164,8 +139,7 @@ void MessageViewContextMenuController::ShowContextMenuForView(
views::View* source,
const gfx::Point& point,
ui::MenuSourceType source_type) {
- MenuModel menu_model(message_center_, tray_, notification_id_,
- display_source_, notifier_id_);
+ MenuModel menu_model(message_view_, display_source_);
if (menu_model.GetItemCount() == 0)
return;
@@ -180,13 +154,9 @@ void MessageViewContextMenuController::ShowContextMenuForView(
views::MenuRunner::HAS_MNEMONICS));
}
-MessageView::MessageView(const Notification& notification,
- MessageCenter* message_center,
- MessageCenterTray* tray)
- : message_center_(message_center),
- notification_id_(notification.id()),
- context_menu_controller_(new MessageViewContextMenuController(
- message_center, tray, notification)),
+MessageView::MessageView(const string16& display_source)
+ : context_menu_controller_(
+ new MessageViewContextMenuController(this, display_source)),
scroller_(NULL) {
set_focusable(true);
set_context_menu_controller(context_menu_controller_.get());
@@ -203,9 +173,6 @@ MessageView::MessageView(const Notification& notification,
close_button_.reset(close);
}
-MessageView::MessageView() {
-}
-
MessageView::~MessageView() {
}
@@ -239,11 +206,11 @@ void MessageView::GetAccessibleState(ui::AccessibleViewState* state) {
}
bool MessageView::OnMousePressed(const ui::MouseEvent& event) {
- if (event.IsOnlyLeftMouseButton()) {
- message_center_->ClickOnNotification(notification_id_);
- return true;
- }
- return false;
+ if (!event.IsOnlyLeftMouseButton())
+ return false;
+
+ ClickOnNotification();
+ return true;
}
bool MessageView::OnKeyPressed(const ui::KeyEvent& event) {
@@ -251,11 +218,11 @@ bool MessageView::OnKeyPressed(const ui::KeyEvent& event) {
return false;
if (event.key_code() == ui::VKEY_RETURN) {
- message_center_->ClickOnNotification(notification_id_);
+ ClickOnNotification();
return true;
} else if ((event.key_code() == ui::VKEY_DELETE ||
event.key_code() == ui::VKEY_BACK)) {
- message_center_->RemoveNotification(notification_id_, true); // By user.
+ RemoveNotification(true); // By user.
return true;
}
@@ -268,13 +235,13 @@ bool MessageView::OnKeyReleased(const ui::KeyEvent& event) {
if (event.flags() != ui::EF_NONE || event.flags() != ui::VKEY_SPACE)
return false;
- message_center_->ClickOnNotification(notification_id_);
+ ClickOnNotification();
return true;
}
void MessageView::OnGestureEvent(ui::GestureEvent* event) {
if (event->type() == ui::ET_GESTURE_TAP) {
- message_center_->ClickOnNotification(notification_id_);
+ ClickOnNotification();
event->SetHandled();
return;
}
@@ -302,12 +269,12 @@ void MessageView::OnPaintFocusBorder(gfx::Canvas* canvas) {
void MessageView::ButtonPressed(views::Button* sender,
const ui::Event& event) {
if (sender == close_button()) {
- message_center_->RemoveNotification(notification_id_, true); // By user.
+ RemoveNotification(true); // By user.
}
}
void MessageView::OnSlideOut() {
- message_center_->RemoveNotification(notification_id_, true); // By user.
+ RemoveNotification(true); // By user.
}
} // namespace message_center
« no previous file with comments | « ui/message_center/views/message_view.h ('k') | ui/message_center/views/notification_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698