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

Side by Side Diff: chrome/browser/ui/views/payments/payment_sheet_view_controller.cc

Issue 2913223002: Make payment instrument labels dynamic (Closed)
Patch Set: Created 3 years, 6 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "chrome/browser/ui/views/payments/payment_sheet_view_controller.h" 5 #include "chrome/browser/ui/views/payments/payment_sheet_view_controller.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 692 matching lines...) Expand 10 before | Expand all | Expand 10 after
703 std::unique_ptr<views::View> content_view = base::MakeUnique<views::View>(); 703 std::unique_ptr<views::View> content_view = base::MakeUnique<views::View>();
704 704
705 views::GridLayout* layout = new views::GridLayout(content_view.get()); 705 views::GridLayout* layout = new views::GridLayout(content_view.get());
706 content_view->SetLayoutManager(layout); 706 content_view->SetLayoutManager(layout);
707 views::ColumnSet* columns = layout->AddColumnSet(0); 707 views::ColumnSet* columns = layout->AddColumnSet(0);
708 columns->AddColumn(views::GridLayout::LEADING, views::GridLayout::CENTER, 1, 708 columns->AddColumn(views::GridLayout::LEADING, views::GridLayout::CENTER, 1,
709 views::GridLayout::USE_PREF, 0, 0); 709 views::GridLayout::USE_PREF, 0, 0);
710 710
711 layout->StartRow(0, 0); 711 layout->StartRow(0, 0);
712 std::unique_ptr<views::Label> selected_instrument_label = 712 std::unique_ptr<views::Label> selected_instrument_label =
713 base::MakeUnique<views::Label>(selected_instrument->label()); 713 base::MakeUnique<views::Label>(selected_instrument->GetLabel());
714 selected_instrument_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); 714 selected_instrument_label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
715 layout->AddView(selected_instrument_label.release()); 715 layout->AddView(selected_instrument_label.release());
716 716
717 layout->StartRow(0, 0); 717 layout->StartRow(0, 0);
718 std::unique_ptr<views::Label> selected_instrument_sublabel = 718 std::unique_ptr<views::Label> selected_instrument_sublabel =
719 base::MakeUnique<views::Label>(selected_instrument->sublabel()); 719 base::MakeUnique<views::Label>(selected_instrument->GetSublabel());
720 selected_instrument_sublabel->SetHorizontalAlignment(gfx::ALIGN_LEFT); 720 selected_instrument_sublabel->SetHorizontalAlignment(gfx::ALIGN_LEFT);
721 layout->AddView(selected_instrument_sublabel.release()); 721 layout->AddView(selected_instrument_sublabel.release());
722 722
723 std::unique_ptr<views::ImageView> card_icon_view = CreateInstrumentIconView( 723 std::unique_ptr<views::ImageView> card_icon_view =
724 selected_instrument->icon_resource_id(), selected_instrument->label()); 724 CreateInstrumentIconView(selected_instrument->icon_resource_id(),
725 selected_instrument->GetLabel());
725 card_icon_view->SetImageSize(gfx::Size(32, 20)); 726 card_icon_view->SetImageSize(gfx::Size(32, 20));
726 727
727 return builder.Id(DialogViewID::PAYMENT_SHEET_PAYMENT_METHOD_SECTION) 728 return builder.Id(DialogViewID::PAYMENT_SHEET_PAYMENT_METHOD_SECTION)
728 .CreateWithChevron(std::move(content_view), std::move(card_icon_view)); 729 .CreateWithChevron(std::move(content_view), std::move(card_icon_view));
729 } else { 730 } else {
730 builder.Id(DialogViewID::PAYMENT_SHEET_PAYMENT_METHOD_SECTION_BUTTON); 731 builder.Id(DialogViewID::PAYMENT_SHEET_PAYMENT_METHOD_SECTION_BUTTON);
731 if (state()->available_instruments().empty()) { 732 if (state()->available_instruments().empty()) {
732 // If the button is "Add", navigate to the editor directly. 733 // If the button is "Add", navigate to the editor directly.
733 builder.Tag(PaymentSheetViewControllerTags::ADD_PAYMENT_METHOD_BUTTON); 734 builder.Tag(PaymentSheetViewControllerTags::ADD_PAYMENT_METHOD_BUTTON);
734 return builder.CreateWithButton(base::string16(), 735 return builder.CreateWithButton(base::string16(),
735 l10n_util::GetStringUTF16(IDS_ADD), 736 l10n_util::GetStringUTF16(IDS_ADD),
736 /*button_enabled=*/true); 737 /*button_enabled=*/true);
737 } else if (state()->available_instruments().size() == 1) { 738 } else if (state()->available_instruments().size() == 1) {
738 return builder.CreateWithButton( 739 return builder.CreateWithButton(
739 state()->available_instruments()[0]->label(), 740 state()->available_instruments()[0]->GetLabel(),
740 l10n_util::GetStringUTF16(IDS_CHOOSE), 741 l10n_util::GetStringUTF16(IDS_CHOOSE),
741 /*button_enabled=*/true); 742 /*button_enabled=*/true);
742 } else { 743 } else {
743 base::string16 format = l10n_util::GetPluralStringFUTF16( 744 base::string16 format = l10n_util::GetPluralStringFUTF16(
744 IDS_PAYMENT_REQUEST_PAYMENT_METHODS_PREVIEW, 745 IDS_PAYMENT_REQUEST_PAYMENT_METHODS_PREVIEW,
745 state()->available_instruments().size() - 1); 746 state()->available_instruments().size() - 1);
746 return builder.CreateWithButton( 747 return builder.CreateWithButton(
747 state()->available_instruments()[0]->label(), format, 748 state()->available_instruments()[0]->GetLabel(), format,
748 state()->available_instruments().size() - 1, 749 state()->available_instruments().size() - 1,
749 l10n_util::GetStringUTF16(IDS_CHOOSE), 750 l10n_util::GetStringUTF16(IDS_CHOOSE),
750 /*button_enabled=*/true); 751 /*button_enabled=*/true);
751 } 752 }
752 } 753 }
753 } 754 }
754 755
755 std::unique_ptr<views::View> 756 std::unique_ptr<views::View>
756 PaymentSheetViewController::CreateContactInfoSectionContent() { 757 PaymentSheetViewController::CreateContactInfoSectionContent() {
757 autofill::AutofillProfile* profile = state()->selected_contact_profile(); 758 autofill::AutofillProfile* profile = state()->selected_contact_profile();
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
926 data_source_label->SetDefaultStyle(default_style); 927 data_source_label->SetDefaultStyle(default_style);
927 data_source_label->AddStyleRange( 928 data_source_label->AddStyleRange(
928 gfx::Range(link_begin, link_begin + link_length), 929 gfx::Range(link_begin, link_begin + link_length),
929 views::StyledLabel::RangeStyleInfo::CreateForLink()); 930 views::StyledLabel::RangeStyleInfo::CreateForLink());
930 data_source_label->SizeToFit(0); 931 data_source_label->SizeToFit(0);
931 content_view->AddChildView(data_source_label.release()); 932 content_view->AddChildView(data_source_label.release());
932 return content_view; 933 return content_view;
933 } 934 }
934 935
935 } // namespace payments 936 } // namespace payments
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698