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

Side by Side Diff: ui/message_center/views/notifier_settings_view.cc

Issue 145033006: views: Make View::set_border() take a scoped_ptr<>. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase to ToT Created 6 years, 11 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/message_center/views/notification_view.cc ('k') | ui/views/border.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 learn_more_->SetImage( 326 learn_more_->SetImage(
327 views::Button::STATE_PRESSED, 327 views::Button::STATE_PRESSED,
328 rb.GetImageSkiaNamed(IDR_NOTIFICATION_ADVANCED_SETTINGS_PRESSED)); 328 rb.GetImageSkiaNamed(IDR_NOTIFICATION_ADVANCED_SETTINGS_PRESSED));
329 learn_more_->SetState(views::Button::STATE_NORMAL); 329 learn_more_->SetState(views::Button::STATE_NORMAL);
330 int learn_more_border_width = 330 int learn_more_border_width =
331 (settings::kLearnMoreTargetWidth - settings::kLearnMoreSize) / 2; 331 (settings::kLearnMoreTargetWidth - settings::kLearnMoreSize) / 2;
332 int learn_more_border_height = 332 int learn_more_border_height =
333 (settings::kLearnMoreTargetHeight - settings::kLearnMoreSize) / 2; 333 (settings::kLearnMoreTargetHeight - settings::kLearnMoreSize) / 2;
334 // The image itself is quite small, this large invisible border creates a 334 // The image itself is quite small, this large invisible border creates a
335 // much bigger click target. 335 // much bigger click target.
336 learn_more_->set_border( 336 learn_more_->SetBorder(
337 views::Border::CreateEmptyBorder(learn_more_border_height, 337 views::Border::CreateEmptyBorder(learn_more_border_height,
338 learn_more_border_width, 338 learn_more_border_width,
339 learn_more_border_height, 339 learn_more_border_height,
340 learn_more_border_width)); 340 learn_more_border_width));
341 learn_more_->SetImageAlignment(views::ImageButton::ALIGN_CENTER, 341 learn_more_->SetImageAlignment(views::ImageButton::ALIGN_CENTER,
342 views::ImageButton::ALIGN_MIDDLE); 342 views::ImageButton::ALIGN_MIDDLE);
343 } 343 }
344 344
345 UpdateIconImage(notifier_->icon); 345 UpdateIconImage(notifier_->icon);
346 } 346 }
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 views::Background::CreateSolidBackground(kMessageCenterBackgroundColor)); 489 views::Background::CreateSolidBackground(kMessageCenterBackgroundColor));
490 if (get_use_acceleration_when_possible()) 490 if (get_use_acceleration_when_possible())
491 SetPaintToLayer(true); 491 SetPaintToLayer(true);
492 492
493 title_label_ = new views::Label( 493 title_label_ = new views::Label(
494 l10n_util::GetStringUTF16(IDS_MESSAGE_CENTER_SETTINGS_BUTTON_LABEL), 494 l10n_util::GetStringUTF16(IDS_MESSAGE_CENTER_SETTINGS_BUTTON_LABEL),
495 ui::ResourceBundle::GetSharedInstance().GetFontList( 495 ui::ResourceBundle::GetSharedInstance().GetFontList(
496 ui::ResourceBundle::MediumFont)); 496 ui::ResourceBundle::MediumFont));
497 title_label_->SetHorizontalAlignment(gfx::ALIGN_LEFT); 497 title_label_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
498 title_label_->SetMultiLine(true); 498 title_label_->SetMultiLine(true);
499 title_label_->set_border( 499 title_label_->SetBorder(
500 views::Border::CreateEmptyBorder(kComputedTitleTopMargin, 500 views::Border::CreateEmptyBorder(kComputedTitleTopMargin,
501 settings::kTitleMargin, 501 settings::kTitleMargin,
502 kComputedTitleBottomMargin, 502 kComputedTitleBottomMargin,
503 settings::kTitleMargin)); 503 settings::kTitleMargin));
504 504
505 AddChildView(title_label_); 505 AddChildView(title_label_);
506 506
507 scroller_ = new views::ScrollView(); 507 scroller_ = new views::ScrollView();
508 scroller_->SetVerticalScrollBar(new views::OverlayScrollBar(false)); 508 scroller_->SetVerticalScrollBar(new views::OverlayScrollBar(false));
509 AddChildView(scroller_); 509 AddChildView(scroller_);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 provider_ && provider_->GetNotifierGroupCount() > 1; 564 provider_ && provider_->GetNotifierGroupCount() > 1;
565 int top_label_resource_id = 565 int top_label_resource_id =
566 need_account_switcher ? IDS_MESSAGE_CENTER_SETTINGS_DESCRIPTION_MULTIUSER 566 need_account_switcher ? IDS_MESSAGE_CENTER_SETTINGS_DESCRIPTION_MULTIUSER
567 : IDS_MESSAGE_CENTER_SETTINGS_DIALOG_DESCRIPTION; 567 : IDS_MESSAGE_CENTER_SETTINGS_DIALOG_DESCRIPTION;
568 568
569 views::Label* top_label = 569 views::Label* top_label =
570 new views::Label(l10n_util::GetStringUTF16(top_label_resource_id)); 570 new views::Label(l10n_util::GetStringUTF16(top_label_resource_id));
571 571
572 top_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); 572 top_label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
573 top_label->SetMultiLine(true); 573 top_label->SetMultiLine(true);
574 top_label->set_border(views::Border::CreateEmptyBorder( 574 top_label->SetBorder(views::Border::CreateEmptyBorder(
575 0, 575 0,
576 settings::kTitleMargin + kMenuButtonInnateMargin, 576 settings::kTitleMargin + kMenuButtonInnateMargin,
577 0, 577 0,
578 settings::kTitleMargin + kMenuButtonInnateMargin)); 578 settings::kTitleMargin + kMenuButtonInnateMargin));
579 contents_title_view->AddChildView(top_label); 579 contents_title_view->AddChildView(top_label);
580 580
581 if (need_account_switcher) { 581 if (need_account_switcher) {
582 const NotifierGroup& active_group = provider_->GetActiveNotifierGroup(); 582 const NotifierGroup& active_group = provider_->GetActiveNotifierGroup();
583 base::string16 notifier_group_text = active_group.login_info.empty() ? 583 base::string16 notifier_group_text = active_group.login_info.empty() ?
584 active_group.name : active_group.login_info; 584 active_group.name : active_group.login_info;
585 notifier_group_selector_ = 585 notifier_group_selector_ =
586 new views::MenuButton(NULL, notifier_group_text, this, true); 586 new views::MenuButton(NULL, notifier_group_text, this, true);
587 scoped_ptr<views::TextButtonDefaultBorder> selector_border( 587 scoped_ptr<views::TextButtonDefaultBorder> selector_border(
588 new views::TextButtonDefaultBorder()); 588 new views::TextButtonDefaultBorder());
589 ui::ResourceBundle* rb = &ResourceBundle::GetSharedInstance(); 589 ui::ResourceBundle* rb = &ResourceBundle::GetSharedInstance();
590 gfx::Insets painter_insets(kButtonPainterInsets, kButtonPainterInsets, 590 gfx::Insets painter_insets(kButtonPainterInsets, kButtonPainterInsets,
591 kButtonPainterInsets, kButtonPainterInsets); 591 kButtonPainterInsets, kButtonPainterInsets);
592 selector_border->set_normal_painter(views::Painter::CreateImagePainter( 592 selector_border->set_normal_painter(views::Painter::CreateImagePainter(
593 *rb->GetImageSkiaNamed(IDR_BUTTON_NORMAL), painter_insets)); 593 *rb->GetImageSkiaNamed(IDR_BUTTON_NORMAL), painter_insets));
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_->SetBorder(
602 selector_border.PassAs<views::Border>());
602 notifier_group_selector_->SetFocusPainter(scoped_ptr<views::Painter>()); 603 notifier_group_selector_->SetFocusPainter(scoped_ptr<views::Painter>());
603 notifier_group_selector_->set_animate_on_state_change(false); 604 notifier_group_selector_->set_animate_on_state_change(false);
604 notifier_group_selector_->SetFocusable(true); 605 notifier_group_selector_->SetFocusable(true);
605 contents_title_view->AddChildView(notifier_group_selector_); 606 contents_title_view->AddChildView(notifier_group_selector_);
606 } 607 }
607 608
608 contents_view->AddChildView(contents_title_view); 609 contents_view->AddChildView(contents_title_view);
609 610
610 size_t notifier_count = notifiers.size(); 611 size_t notifier_count = notifiers.size();
611 for (size_t i = 0; i < notifier_count; ++i) { 612 for (size_t i = 0; i < notifier_count; ++i) {
612 NotifierButton* button = new NotifierButton(provider_, notifiers[i], this); 613 NotifierButton* button = new NotifierButton(provider_, notifiers[i], this);
613 EntryView* entry = new EntryView(button); 614 EntryView* entry = new EntryView(button);
614 615
615 // This code emulates separators using borders. We will create an invisible 616 // 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. 617 // border on the last notifier, as the spec leaves a space for it.
617 scoped_ptr<views::Border> entry_border; 618 scoped_ptr<views::Border> entry_border;
618 if (i == notifier_count - 1) { 619 if (i == notifier_count - 1) {
619 entry_border.reset(views::Border::CreateEmptyBorder( 620 entry_border = views::Border::CreateEmptyBorder(
620 0, 0, settings::kEntrySeparatorHeight, 0)); 621 0, 0, settings::kEntrySeparatorHeight, 0);
621 } else { 622 } else {
622 entry_border.reset(views::Border::CreateSolidSidedBorder( 623 entry_border =
623 0, 624 views::Border::CreateSolidSidedBorder(0,
624 0, 625 0,
625 settings::kEntrySeparatorHeight, 626 settings::kEntrySeparatorHeight,
626 0, 627 0,
627 settings::kEntrySeparatorColor)); 628 settings::kEntrySeparatorColor);
628 } 629 }
629 entry->set_border(entry_border.release()); 630 entry->SetBorder(entry_border.Pass());
630 entry->SetFocusable(true); 631 entry->SetFocusable(true);
631 contents_view->AddChildView(entry); 632 contents_view->AddChildView(entry);
632 buttons_.insert(button); 633 buttons_.insert(button);
633 } 634 }
634 635
635 scroller_->SetContents(contents_view); 636 scroller_->SetContents(contents_view);
636 637
637 contents_view->SetBoundsRect(gfx::Rect(contents_view->GetPreferredSize())); 638 contents_view->SetBoundsRect(gfx::Rect(contents_view->GetPreferredSize()));
638 InvalidateLayout(); 639 InvalidateLayout();
639 } 640 }
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 menu_anchor, 720 menu_anchor,
720 views::MenuItemView::BUBBLE_ABOVE, 721 views::MenuItemView::BUBBLE_ABOVE,
721 ui::MENU_SOURCE_MOUSE, 722 ui::MENU_SOURCE_MOUSE,
722 views::MenuRunner::CONTEXT_MENU)) 723 views::MenuRunner::CONTEXT_MENU))
723 return; 724 return;
724 MessageCenterView* center_view = static_cast<MessageCenterView*>(parent()); 725 MessageCenterView* center_view = static_cast<MessageCenterView*>(parent());
725 center_view->OnSettingsChanged(); 726 center_view->OnSettingsChanged();
726 } 727 }
727 728
728 } // namespace message_center 729 } // namespace message_center
OLDNEW
« no previous file with comments | « ui/message_center/views/notification_view.cc ('k') | ui/views/border.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698