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

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

Issue 2555213004: Improving the appearance of overlay scrollbars (Closed)
Patch Set: attempt to fix mac Created 4 years 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
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 title_label_->SetHorizontalAlignment(gfx::ALIGN_LEFT); 435 title_label_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
436 title_label_->SetMultiLine(true); 436 title_label_->SetMultiLine(true);
437 title_label_->SetBorder( 437 title_label_->SetBorder(
438 views::CreateEmptyBorder(kComputedTitleTopMargin, kTitleMargin, 438 views::CreateEmptyBorder(kComputedTitleTopMargin, kTitleMargin,
439 kComputedTitleBottomMargin, kTitleMargin)); 439 kComputedTitleBottomMargin, kTitleMargin));
440 440
441 AddChildView(title_label_); 441 AddChildView(title_label_);
442 442
443 scroller_ = new views::ScrollView(); 443 scroller_ = new views::ScrollView();
444 scroller_->SetVerticalScrollBar(new views::OverlayScrollBar(false)); 444 scroller_->SetVerticalScrollBar(new views::OverlayScrollBar(false));
445 scroller_->SetHorizontalScrollBar(new views::OverlayScrollBar(true));
445 AddChildView(scroller_); 446 AddChildView(scroller_);
446 447
447 std::vector<Notifier*> notifiers; 448 std::vector<Notifier*> notifiers;
448 if (provider_) 449 if (provider_)
449 provider_->GetNotifierList(&notifiers); 450 provider_->GetNotifierList(&notifiers);
450 451
451 UpdateContentsView(notifiers); 452 UpdateContentsView(notifiers);
452 } 453 }
453 454
454 NotifierSettingsView::~NotifierSettingsView() { 455 NotifierSettingsView::~NotifierSettingsView() {
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 } 564 }
564 565
565 void NotifierSettingsView::Layout() { 566 void NotifierSettingsView::Layout() {
566 int title_height = title_label_->GetHeightForWidth(width()); 567 int title_height = title_label_->GetHeightForWidth(width());
567 title_label_->SetBounds(0, 0, width(), title_height); 568 title_label_->SetBounds(0, 0, width(), title_height);
568 569
569 views::View* contents_view = scroller_->contents(); 570 views::View* contents_view = scroller_->contents();
570 int content_width = width(); 571 int content_width = width();
571 int content_height = contents_view->GetHeightForWidth(content_width); 572 int content_height = contents_view->GetHeightForWidth(content_width);
572 if (title_height + content_height > height()) { 573 if (title_height + content_height > height()) {
573 content_width -= scroller_->GetScrollBarWidth(); 574 content_width -= scroller_->GetScrollBarLayoutWidth();
574 content_height = contents_view->GetHeightForWidth(content_width); 575 content_height = contents_view->GetHeightForWidth(content_width);
575 } 576 }
576 contents_view->SetBounds(0, 0, content_width, content_height); 577 contents_view->SetBounds(0, 0, content_width, content_height);
577 scroller_->SetBounds(0, title_height, width(), height() - title_height); 578 scroller_->SetBounds(0, title_height, width(), height() - title_height);
578 } 579 }
579 580
580 gfx::Size NotifierSettingsView::GetMinimumSize() const { 581 gfx::Size NotifierSettingsView::GetMinimumSize() const {
581 gfx::Size size(kWidth, kMinimumHeight); 582 gfx::Size size(kWidth, kMinimumHeight);
582 int total_height = title_label_->GetPreferredSize().height() + 583 int total_height = title_label_->GetPreferredSize().height() +
583 scroller_->contents()->GetPreferredSize().height(); 584 scroller_->contents()->GetPreferredSize().height();
584 if (total_height > kMinimumHeight) 585 if (total_height > kMinimumHeight)
585 size.Enlarge(scroller_->GetScrollBarWidth(), 0); 586 size.Enlarge(scroller_->GetScrollBarLayoutWidth(), 0);
586 return size; 587 return size;
587 } 588 }
588 589
589 gfx::Size NotifierSettingsView::GetPreferredSize() const { 590 gfx::Size NotifierSettingsView::GetPreferredSize() const {
590 gfx::Size preferred_size; 591 gfx::Size preferred_size;
591 gfx::Size title_size = title_label_->GetPreferredSize(); 592 gfx::Size title_size = title_label_->GetPreferredSize();
592 gfx::Size content_size = scroller_->contents()->GetPreferredSize(); 593 gfx::Size content_size = scroller_->contents()->GetPreferredSize();
593 return gfx::Size(std::max(title_size.width(), content_size.width()), 594 return gfx::Size(std::max(title_size.width(), content_size.width()),
594 title_size.height() + content_size.height()); 595 title_size.height() + content_size.height());
595 } 596 }
(...skipping 30 matching lines...) Expand all
626 provider_->SetNotifierEnabled((*iter)->notifier(), (*iter)->checked()); 627 provider_->SetNotifierEnabled((*iter)->notifier(), (*iter)->checked());
627 } 628 }
628 629
629 void NotifierSettingsView::OnPerformAction(views::Combobox* combobox) { 630 void NotifierSettingsView::OnPerformAction(views::Combobox* combobox) {
630 provider_->SwitchToNotifierGroup(combobox->selected_index()); 631 provider_->SwitchToNotifierGroup(combobox->selected_index());
631 MessageCenterView* center_view = static_cast<MessageCenterView*>(parent()); 632 MessageCenterView* center_view = static_cast<MessageCenterView*>(parent());
632 center_view->OnSettingsChanged(); 633 center_view->OnSettingsChanged();
633 } 634 }
634 635
635 } // namespace message_center 636 } // namespace message_center
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698