Chromium Code Reviews| Index: chrome/browser/ui/views/payments/order_summary_view_controller.cc |
| diff --git a/chrome/browser/ui/views/payments/order_summary_view_controller.cc b/chrome/browser/ui/views/payments/order_summary_view_controller.cc |
| index 3589cc32eaae80b8213377530358903814bd3463..f1b344ce478ebecf8c29498add2177d5c7c5697b 100644 |
| --- a/chrome/browser/ui/views/payments/order_summary_view_controller.cc |
| +++ b/chrome/browser/ui/views/payments/order_summary_view_controller.cc |
| @@ -15,12 +15,12 @@ |
| #include "chrome/browser/ui/views/payments/payment_request_dialog_view_ids.h" |
| #include "chrome/browser/ui/views/payments/payment_request_views_util.h" |
| #include "chrome/grit/generated_resources.h" |
| -#include "components/payments/content/payment_request.h" |
| #include "components/payments/core/currency_formatter.h" |
| #include "components/strings/grit/components_strings.h" |
| #include "ui/base/l10n/l10n_util.h" |
| #include "ui/gfx/font.h" |
| #include "ui/views/border.h" |
| +#include "ui/views/controls/button/md_text_button.h" |
| #include "ui/views/controls/label.h" |
| #include "ui/views/controls/styled_label.h" |
| #include "ui/views/layout/box_layout.h" |
| @@ -84,9 +84,13 @@ std::unique_ptr<views::View> CreateLineItemView(const base::string16& label, |
| OrderSummaryViewController::OrderSummaryViewController( |
| PaymentRequest* request, |
| PaymentRequestDialogView* dialog) |
| - : PaymentRequestSheetController(request, dialog) {} |
| + : PaymentRequestSheetController(request, dialog), pay_button_(nullptr) { |
| + request->AddObserver(this); |
| +} |
| -OrderSummaryViewController::~OrderSummaryViewController() {} |
| +OrderSummaryViewController::~OrderSummaryViewController() { |
| + request()->RemoveObserver(this); |
| +} |
| std::unique_ptr<views::View> OrderSummaryViewController::CreateView() { |
| std::unique_ptr<views::View> content_view = base::MakeUnique<views::View>(); |
| @@ -139,4 +143,24 @@ std::unique_ptr<views::View> OrderSummaryViewController::CreateView() { |
| std::move(content_view)); |
| } |
| +std::unique_ptr<views::Button> |
| +OrderSummaryViewController::CreatePrimaryButton() { |
| + std::unique_ptr<views::Button> button( |
| + views::MdTextButton::CreateSecondaryUiBlueButton( |
| + this, l10n_util::GetStringUTF16(IDS_PAYMENTS_PAY_BUTTON))); |
| + button->set_tag(static_cast<int>(PaymentRequestCommonTags::PAY_BUTTON_TAG)); |
| + button->set_id(static_cast<int>(DialogViewID::PAYMENT_SHEET_PAY_BUTTON)); |
|
anthonyvd
2017/03/01 18:36:08
nit: This view ID should probably be just PAY_BUTT
Mathieu
2017/03/01 19:23:02
ah yes done
|
| + pay_button_ = button.get(); |
| + UpdatePayButtonState(request()->is_ready_to_pay()); |
| + return button; |
| +} |
| + |
| +void OrderSummaryViewController::OnSelectedInformationChanged() { |
| + UpdatePayButtonState(request()->is_ready_to_pay()); |
| +} |
| + |
| +void OrderSummaryViewController::UpdatePayButtonState(bool enabled) { |
| + pay_button_->SetEnabled(enabled); |
| +} |
| + |
| } // namespace payments |