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

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

Issue 381953002: New avatar button: Consolidate text elision between Mac and Win/Linux (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 6 years, 5 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/gfx/text_elider_unittest.cc ('k') | ui/views/corewm/tooltip_aura.cc » ('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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/notification_view.h" 5 #include "ui/message_center/views/notification_view.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 } 528 }
529 529
530 DCHECK(top_view_ != NULL); 530 DCHECK(top_view_ != NULL);
531 531
532 const gfx::FontList& font_list = 532 const gfx::FontList& font_list =
533 views::Label().font_list().DeriveWithSizeDelta(2); 533 views::Label().font_list().DeriveWithSizeDelta(2);
534 534
535 int title_character_limit = 535 int title_character_limit =
536 kNotificationWidth * kMaxTitleLines / kMinPixelsPerTitleCharacter; 536 kNotificationWidth * kMaxTitleLines / kMinPixelsPerTitleCharacter;
537 537
538 base::string16 title = gfx::TruncateString(notification.title(),
539 title_character_limit,
540 gfx::WORD_BREAK);
538 if (!title_view_) { 541 if (!title_view_) {
539 int padding = kTitleLineHeight - font_list.GetHeight(); 542 int padding = kTitleLineHeight - font_list.GetHeight();
540 543
541 title_view_ = new BoundedLabel( 544 title_view_ = new BoundedLabel(title, font_list);
542 gfx::TruncateString(notification.title(), title_character_limit),
543 font_list);
544 title_view_->SetLineHeight(kTitleLineHeight); 545 title_view_->SetLineHeight(kTitleLineHeight);
545 title_view_->SetLineLimit(kMaxTitleLines); 546 title_view_->SetLineLimit(kMaxTitleLines);
546 title_view_->SetColors(message_center::kRegularTextColor, 547 title_view_->SetColors(message_center::kRegularTextColor,
547 kRegularTextBackgroundColor); 548 kRegularTextBackgroundColor);
548 title_view_->SetBorder(MakeTextBorder(padding, 3, 0)); 549 title_view_->SetBorder(MakeTextBorder(padding, 3, 0));
549 top_view_->AddChildView(title_view_); 550 top_view_->AddChildView(title_view_);
550 } else { 551 } else {
551 title_view_->SetText( 552 title_view_->SetText(title);
552 gfx::TruncateString(notification.title(), title_character_limit));
553 } 553 }
554 } 554 }
555 555
556 void NotificationView::CreateOrUpdateMessageView( 556 void NotificationView::CreateOrUpdateMessageView(
557 const Notification& notification) { 557 const Notification& notification) {
558 if (notification.message().empty()) { 558 if (notification.message().empty()) {
559 if (message_view_) { 559 if (message_view_) {
560 // Deletion will also remove |message_view_| from its parent. 560 // Deletion will also remove |message_view_| from its parent.
561 delete message_view_; 561 delete message_view_;
562 message_view_ = NULL; 562 message_view_ = NULL;
563 } 563 }
564 return; 564 return;
565 } 565 }
566 566
567 DCHECK(top_view_ != NULL); 567 DCHECK(top_view_ != NULL);
568 568
569 base::string16 text = gfx::TruncateString(notification.message(),
570 kMessageCharacterLimit,
571 gfx::WORD_BREAK);
569 if (!message_view_) { 572 if (!message_view_) {
570 int padding = kMessageLineHeight - views::Label().font_list().GetHeight(); 573 int padding = kMessageLineHeight - views::Label().font_list().GetHeight();
571 message_view_ = new BoundedLabel( 574 message_view_ = new BoundedLabel(text);
572 gfx::TruncateString(notification.message(), kMessageCharacterLimit));
573 message_view_->SetLineHeight(kMessageLineHeight); 575 message_view_->SetLineHeight(kMessageLineHeight);
574 message_view_->SetColors(message_center::kRegularTextColor, 576 message_view_->SetColors(message_center::kRegularTextColor,
575 kDimTextBackgroundColor); 577 kDimTextBackgroundColor);
576 message_view_->SetBorder(MakeTextBorder(padding, 4, 0)); 578 message_view_->SetBorder(MakeTextBorder(padding, 4, 0));
577 top_view_->AddChildView(message_view_); 579 top_view_->AddChildView(message_view_);
578 } else { 580 } else {
579 message_view_->SetText( 581 message_view_->SetText(text);
580 gfx::TruncateString(notification.message(), kMessageCharacterLimit));
581 } 582 }
582 583
583 message_view_->SetVisible(!notification.items().size()); 584 message_view_->SetVisible(!notification.items().size());
584 } 585 }
585 586
586 void NotificationView::CreateOrUpdateContextMessageView( 587 void NotificationView::CreateOrUpdateContextMessageView(
587 const Notification& notification) { 588 const Notification& notification) {
588 if (notification.context_message().empty()) { 589 if (notification.context_message().empty()) {
589 if (context_message_view_) { 590 if (context_message_view_) {
590 // Deletion will also remove |context_message_view_| from its parent. 591 // Deletion will also remove |context_message_view_| from its parent.
591 delete context_message_view_; 592 delete context_message_view_;
592 context_message_view_ = NULL; 593 context_message_view_ = NULL;
593 } 594 }
594 return; 595 return;
595 } 596 }
596 597
597 DCHECK(top_view_ != NULL); 598 DCHECK(top_view_ != NULL);
598 599
600 base::string16 text = gfx::TruncateString(notification.context_message(),
601 kContextMessageCharacterLimit,
602 gfx::WORD_BREAK);
599 if (!context_message_view_) { 603 if (!context_message_view_) {
600 int padding = kMessageLineHeight - views::Label().font_list().GetHeight(); 604 int padding = kMessageLineHeight - views::Label().font_list().GetHeight();
601 context_message_view_ = new BoundedLabel(gfx::TruncateString( 605 context_message_view_ = new BoundedLabel(text);
602 notification.context_message(), kContextMessageCharacterLimit));
603 context_message_view_->SetLineLimit( 606 context_message_view_->SetLineLimit(
604 message_center::kContextMessageLineLimit); 607 message_center::kContextMessageLineLimit);
605 context_message_view_->SetLineHeight(kMessageLineHeight); 608 context_message_view_->SetLineHeight(kMessageLineHeight);
606 context_message_view_->SetColors(message_center::kDimTextColor, 609 context_message_view_->SetColors(message_center::kDimTextColor,
607 kContextTextBackgroundColor); 610 kContextTextBackgroundColor);
608 context_message_view_->SetBorder(MakeTextBorder(padding, 4, 0)); 611 context_message_view_->SetBorder(MakeTextBorder(padding, 4, 0));
609 top_view_->AddChildView(context_message_view_); 612 top_view_->AddChildView(context_message_view_);
610 } else { 613 } else {
611 context_message_view_->SetText(gfx::TruncateString( 614 context_message_view_->SetText(text);
612 notification.context_message(), kContextMessageCharacterLimit));
613 } 615 }
614 } 616 }
615 617
616 void NotificationView::CreateOrUpdateProgressBarView( 618 void NotificationView::CreateOrUpdateProgressBarView(
617 const Notification& notification) { 619 const Notification& notification) {
618 if (notification.type() != NOTIFICATION_TYPE_PROGRESS) { 620 if (notification.type() != NOTIFICATION_TYPE_PROGRESS) {
619 if (progress_bar_view_) { 621 if (progress_bar_view_) {
620 // Deletion will also remove |progress_bar_view_| from its parent. 622 // Deletion will also remove |progress_bar_view_| from its parent.
621 delete progress_bar_view_; 623 delete progress_bar_view_;
622 progress_bar_view_ = NULL; 624 progress_bar_view_ = NULL;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
785 787
786 return message_line_limit; 788 return message_line_limit;
787 } 789 }
788 790
789 int NotificationView::GetMessageHeight(int width, int limit) const { 791 int NotificationView::GetMessageHeight(int width, int limit) const {
790 return message_view_ ? 792 return message_view_ ?
791 message_view_->GetSizeForWidthAndLines(width, limit).height() : 0; 793 message_view_->GetSizeForWidthAndLines(width, limit).height() : 0;
792 } 794 }
793 795
794 } // namespace message_center 796 } // namespace message_center
OLDNEW
« no previous file with comments | « ui/gfx/text_elider_unittest.cc ('k') | ui/views/corewm/tooltip_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698