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

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

Issue 2729533002: Adjust behavior of control buttons of notifications. (Closed)
Patch Set: Add unimplemented method to TestContentViewDelegate Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/message_center/views/message_center_view.h ('k') | ui/message_center/views/message_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_center_view.cc
diff --git a/ui/message_center/views/message_center_view.cc b/ui/message_center/views/message_center_view.cc
index 3b0062e60d6063df5159b243e8f303d31b698eb5..375d42be82d5bd5532a66982c25208c3d9056774 100644
--- a/ui/message_center/views/message_center_view.cc
+++ b/ui/message_center/views/message_center_view.cc
@@ -77,7 +77,8 @@ MessageCenterView::MessageCenterView(MessageCenter* message_center,
is_locked_(message_center_->IsLockedState()),
mode_((!initially_settings_visible || is_locked_) ? Mode::BUTTONS_ONLY
: Mode::SETTINGS),
- context_menu_controller_(new MessageViewContextMenuController(this)) {
+ context_menu_controller_(new MessageViewContextMenuController(this)),
+ focus_manager_(nullptr) {
message_center_->AddObserver(this);
set_notify_enter_exit_on_child(true);
set_background(views::Background::CreateSolidBackground(
@@ -133,6 +134,15 @@ MessageCenterView::~MessageCenterView() {
if (!is_closing_)
message_center_->RemoveObserver(this);
+
+ if (focus_manager_)
+ focus_manager_->RemoveFocusChangeListener(this);
+}
+
+void MessageCenterView::Init() {
+ focus_manager_ = GetFocusManager();
+ if (focus_manager_)
+ focus_manager_->AddFocusChangeListener(this);
}
void MessageCenterView::SetNotifications(
@@ -204,6 +214,18 @@ void MessageCenterView::SetIsClosing(bool is_closing) {
message_center_->AddObserver(this);
}
+void MessageCenterView::OnDidChangeFocus(views::View* before,
+ views::View* now) {
+ if (message_list_view_ && (message_list_view_->Contains(before) ||
+ message_list_view_->Contains(now))) {
+ // Focus state of a children of message view center is changed.
+ for (auto pair : notification_views_) {
+ if (pair.second->Contains(before) || pair.second->Contains(now))
+ pair.second->UpdateControlButtonsVisibility();
+ }
+ }
+}
+
void MessageCenterView::Layout() {
if (is_closing_)
return;
« no previous file with comments | « ui/message_center/views/message_center_view.h ('k') | ui/message_center/views/message_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698