OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/notifier_settings_view.h" | 5 #include "ui/message_center/views/notifier_settings_view.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 learn_more_(NULL) { | 299 learn_more_(NULL) { |
300 DCHECK(provider); | 300 DCHECK(provider); |
301 DCHECK(notifier); | 301 DCHECK(notifier); |
302 | 302 |
303 // Since there may never be an icon (but that could change at a later time), | 303 // Since there may never be an icon (but that could change at a later time), |
304 // we own the icon view here. | 304 // we own the icon view here. |
305 icon_view_->set_owned_by_client(); | 305 icon_view_->set_owned_by_client(); |
306 | 306 |
307 checkbox_->SetChecked(notifier_->enabled); | 307 checkbox_->SetChecked(notifier_->enabled); |
308 checkbox_->set_listener(this); | 308 checkbox_->set_listener(this); |
309 checkbox_->set_focusable(false); | 309 checkbox_->SetFocusable(false); |
310 checkbox_->SetAccessibleName(notifier_->name); | 310 checkbox_->SetAccessibleName(notifier_->name); |
311 | 311 |
312 if (ShouldHaveLearnMoreButton()) { | 312 if (ShouldHaveLearnMoreButton()) { |
313 // Create a more-info button that will be right-aligned. | 313 // Create a more-info button that will be right-aligned. |
314 learn_more_ = new views::ImageButton(this); | 314 learn_more_ = new views::ImageButton(this); |
315 learn_more_->SetFocusPainter(CreateFocusPainter()); | 315 learn_more_->SetFocusPainter(CreateFocusPainter()); |
316 learn_more_->set_request_focus_on_press(false); | 316 learn_more_->set_request_focus_on_press(false); |
317 learn_more_->set_focusable(true); | 317 learn_more_->SetFocusable(true); |
318 | 318 |
319 ui::ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 319 ui::ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
320 learn_more_->SetImage( | 320 learn_more_->SetImage( |
321 views::Button::STATE_NORMAL, | 321 views::Button::STATE_NORMAL, |
322 rb.GetImageSkiaNamed(IDR_NOTIFICATION_ADVANCED_SETTINGS)); | 322 rb.GetImageSkiaNamed(IDR_NOTIFICATION_ADVANCED_SETTINGS)); |
323 learn_more_->SetImage( | 323 learn_more_->SetImage( |
324 views::Button::STATE_HOVERED, | 324 views::Button::STATE_HOVERED, |
325 rb.GetImageSkiaNamed(IDR_NOTIFICATION_ADVANCED_SETTINGS_HOVER)); | 325 rb.GetImageSkiaNamed(IDR_NOTIFICATION_ADVANCED_SETTINGS_HOVER)); |
326 learn_more_->SetImage( | 326 learn_more_->SetImage( |
327 views::Button::STATE_PRESSED, | 327 views::Button::STATE_PRESSED, |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
476 NotifierSettingsView::NotifierSettingsView(NotifierSettingsProvider* provider) | 476 NotifierSettingsView::NotifierSettingsView(NotifierSettingsProvider* provider) |
477 : title_arrow_(NULL), | 477 : title_arrow_(NULL), |
478 title_label_(NULL), | 478 title_label_(NULL), |
479 notifier_group_selector_(NULL), | 479 notifier_group_selector_(NULL), |
480 scroller_(NULL), | 480 scroller_(NULL), |
481 provider_(provider) { | 481 provider_(provider) { |
482 // |provider_| may be NULL in tests. | 482 // |provider_| may be NULL in tests. |
483 if (provider_) | 483 if (provider_) |
484 provider_->AddObserver(this); | 484 provider_->AddObserver(this); |
485 | 485 |
486 set_focusable(true); | 486 SetFocusable(true); |
487 set_background( | 487 set_background( |
488 views::Background::CreateSolidBackground(kMessageCenterBackgroundColor)); | 488 views::Background::CreateSolidBackground(kMessageCenterBackgroundColor)); |
489 if (get_use_acceleration_when_possible()) | 489 if (get_use_acceleration_when_possible()) |
490 SetPaintToLayer(true); | 490 SetPaintToLayer(true); |
491 | 491 |
492 gfx::Font title_font = | 492 gfx::Font title_font = |
493 ResourceBundle::GetSharedInstance().GetFont(ResourceBundle::MediumFont); | 493 ResourceBundle::GetSharedInstance().GetFont(ResourceBundle::MediumFont); |
494 title_label_ = new views::Label( | 494 title_label_ = new views::Label( |
495 l10n_util::GetStringUTF16(IDS_MESSAGE_CENTER_SETTINGS_BUTTON_LABEL), | 495 l10n_util::GetStringUTF16(IDS_MESSAGE_CENTER_SETTINGS_BUTTON_LABEL), |
496 title_font); | 496 title_font); |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
594 selector_border->set_hot_painter(views::Painter::CreateImagePainter( | 594 selector_border->set_hot_painter(views::Painter::CreateImagePainter( |
595 *rb->GetImageSkiaNamed(IDR_BUTTON_HOVER), painter_insets)); | 595 *rb->GetImageSkiaNamed(IDR_BUTTON_HOVER), painter_insets)); |
596 selector_border->set_pushed_painter(views::Painter::CreateImagePainter( | 596 selector_border->set_pushed_painter(views::Painter::CreateImagePainter( |
597 *rb->GetImageSkiaNamed(IDR_BUTTON_PRESSED), painter_insets)); | 597 *rb->GetImageSkiaNamed(IDR_BUTTON_PRESSED), painter_insets)); |
598 selector_border->SetInsets(gfx::Insets( | 598 selector_border->SetInsets(gfx::Insets( |
599 kMenuButtonVerticalPadding, kMenuButtonLeftPadding, | 599 kMenuButtonVerticalPadding, kMenuButtonLeftPadding, |
600 kMenuButtonVerticalPadding, kMenuButtonRightPadding)); | 600 kMenuButtonVerticalPadding, kMenuButtonRightPadding)); |
601 notifier_group_selector_->set_border(selector_border.release()); | 601 notifier_group_selector_->set_border(selector_border.release()); |
602 notifier_group_selector_->SetFocusPainter(scoped_ptr<views::Painter>()); | 602 notifier_group_selector_->SetFocusPainter(scoped_ptr<views::Painter>()); |
603 notifier_group_selector_->set_animate_on_state_change(false); | 603 notifier_group_selector_->set_animate_on_state_change(false); |
604 notifier_group_selector_->set_focusable(true); | 604 notifier_group_selector_->SetFocusable(true); |
605 contents_title_view->AddChildView(notifier_group_selector_); | 605 contents_title_view->AddChildView(notifier_group_selector_); |
606 } | 606 } |
607 | 607 |
608 contents_view->AddChildView(contents_title_view); | 608 contents_view->AddChildView(contents_title_view); |
609 | 609 |
610 size_t notifier_count = notifiers.size(); | 610 size_t notifier_count = notifiers.size(); |
611 for (size_t i = 0; i < notifier_count; ++i) { | 611 for (size_t i = 0; i < notifier_count; ++i) { |
612 NotifierButton* button = new NotifierButton(provider_, notifiers[i], this); | 612 NotifierButton* button = new NotifierButton(provider_, notifiers[i], this); |
613 EntryView* entry = new EntryView(button); | 613 EntryView* entry = new EntryView(button); |
614 | 614 |
615 // This code emulates separators using borders. We will create an invisible | 615 // This code emulates separators using borders. We will create an invisible |
616 // border on the last notifier, as the spec leaves a space for it. | 616 // border on the last notifier, as the spec leaves a space for it. |
617 scoped_ptr<views::Border> entry_border; | 617 scoped_ptr<views::Border> entry_border; |
618 if (i == notifier_count - 1) { | 618 if (i == notifier_count - 1) { |
619 entry_border.reset(views::Border::CreateEmptyBorder( | 619 entry_border.reset(views::Border::CreateEmptyBorder( |
620 0, 0, settings::kEntrySeparatorHeight, 0)); | 620 0, 0, settings::kEntrySeparatorHeight, 0)); |
621 } else { | 621 } else { |
622 entry_border.reset(views::Border::CreateSolidSidedBorder( | 622 entry_border.reset(views::Border::CreateSolidSidedBorder( |
623 0, | 623 0, |
624 0, | 624 0, |
625 settings::kEntrySeparatorHeight, | 625 settings::kEntrySeparatorHeight, |
626 0, | 626 0, |
627 settings::kEntrySeparatorColor)); | 627 settings::kEntrySeparatorColor)); |
628 } | 628 } |
629 entry->set_border(entry_border.release()); | 629 entry->set_border(entry_border.release()); |
630 entry->set_focusable(true); | 630 entry->SetFocusable(true); |
631 contents_view->AddChildView(entry); | 631 contents_view->AddChildView(entry); |
632 buttons_.insert(button); | 632 buttons_.insert(button); |
633 } | 633 } |
634 | 634 |
635 scroller_->SetContents(contents_view); | 635 scroller_->SetContents(contents_view); |
636 | 636 |
637 contents_view->SetBoundsRect(gfx::Rect(contents_view->GetPreferredSize())); | 637 contents_view->SetBoundsRect(gfx::Rect(contents_view->GetPreferredSize())); |
638 InvalidateLayout(); | 638 InvalidateLayout(); |
639 } | 639 } |
640 | 640 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
719 menu_anchor, | 719 menu_anchor, |
720 views::MenuItemView::BUBBLE_ABOVE, | 720 views::MenuItemView::BUBBLE_ABOVE, |
721 ui::MENU_SOURCE_MOUSE, | 721 ui::MENU_SOURCE_MOUSE, |
722 views::MenuRunner::CONTEXT_MENU)) | 722 views::MenuRunner::CONTEXT_MENU)) |
723 return; | 723 return; |
724 MessageCenterView* center_view = static_cast<MessageCenterView*>(parent()); | 724 MessageCenterView* center_view = static_cast<MessageCenterView*>(parent()); |
725 center_view->OnSettingsChanged(); | 725 center_view->OnSettingsChanged(); |
726 } | 726 } |
727 | 727 |
728 } // namespace message_center | 728 } // namespace message_center |
OLD | NEW |