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

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

Issue 2695653004: [Web Payments] Add a mechanism to build item lists in the PR dialog. (Closed)
Patch Set: Created 3 years, 10 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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_request_sheet_controller.h" 5 #include "chrome/browser/ui/views/payments/payment_request_sheet_controller.h"
6 6
7 #include "chrome/browser/ui/views/payments/payment_request_dialog_view.h" 7 #include "chrome/browser/ui/views/payments/payment_request_dialog_view.h"
8 #include "chrome/browser/ui/views/payments/payment_request_views_util.h" 8 #include "chrome/browser/ui/views/payments/payment_request_views_util.h"
9 #include "components/strings/grit/components_strings.h" 9 #include "components/strings/grit/components_strings.h"
10 #include "ui/base/l10n/l10n_util.h" 10 #include "ui/base/l10n/l10n_util.h"
(...skipping 10 matching lines...) Expand all
21 : request_(request), dialog_(dialog) { 21 : request_(request), dialog_(dialog) {
22 DCHECK(request_); 22 DCHECK(request_);
23 DCHECK(dialog_); 23 DCHECK(dialog_);
24 } 24 }
25 25
26 std::unique_ptr<views::Button> 26 std::unique_ptr<views::Button>
27 PaymentRequestSheetController::CreatePrimaryButton() { 27 PaymentRequestSheetController::CreatePrimaryButton() {
28 return nullptr; 28 return nullptr;
29 } 29 }
30 30
31 std::unique_ptr<views::View> PaymentRequestSheetController::CreateExtraView() {
32 return nullptr;
33 }
34
31 void PaymentRequestSheetController::ButtonPressed( 35 void PaymentRequestSheetController::ButtonPressed(
32 views::Button* sender, const ui::Event& event) { 36 views::Button* sender, const ui::Event& event) {
33 switch (static_cast<PaymentRequestCommonTags>(sender->tag())) { 37 switch (static_cast<PaymentRequestCommonTags>(sender->tag())) {
34 case PaymentRequestCommonTags::CLOSE_BUTTON_TAG: 38 case PaymentRequestCommonTags::CLOSE_BUTTON_TAG:
35 dialog()->CloseDialog(); 39 dialog()->CloseDialog();
36 break; 40 break;
37 case PaymentRequestCommonTags::BACK_BUTTON_TAG: 41 case PaymentRequestCommonTags::BACK_BUTTON_TAG:
38 dialog()->GoBack(); 42 dialog()->GoBack();
39 break; 43 break;
40 case PaymentRequestCommonTags::PAYMENT_REQUEST_COMMON_TAG_MAX: 44 case PaymentRequestCommonTags::PAYMENT_REQUEST_COMMON_TAG_MAX:
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 container->SetLayoutManager(layout); 89 container->SetLayoutManager(layout);
86 90
87 views::ColumnSet* columns = layout->AddColumnSet(0); 91 views::ColumnSet* columns = layout->AddColumnSet(0);
88 columns->AddColumn(views::GridLayout::LEADING, views::GridLayout::CENTER, 92 columns->AddColumn(views::GridLayout::LEADING, views::GridLayout::CENTER,
89 0, views::GridLayout::USE_PREF, 0, 0); 93 0, views::GridLayout::USE_PREF, 0, 0);
90 columns->AddPaddingColumn(1, 0); 94 columns->AddPaddingColumn(1, 0);
91 columns->AddColumn(views::GridLayout::TRAILING, views::GridLayout::CENTER, 95 columns->AddColumn(views::GridLayout::TRAILING, views::GridLayout::CENTER,
92 0, views::GridLayout::USE_PREF, 0, 0); 96 0, views::GridLayout::USE_PREF, 0, 0);
93 97
94 layout->StartRow(0, 0); 98 layout->StartRow(0, 0);
95 std::unique_ptr<views::View> leading_buttons_container = 99 std::unique_ptr<views::View> extra_view = CreateExtraView();
96 base::MakeUnique<views::View>(); 100 if (extra_view)
97 101 layout->AddView(extra_view.release());
98 // TODO(anthonyvd): Add the other buttons that can eventually go into this 102 else
99 // footer. 103 layout->SkipColumns(1);
100
101 layout->AddView(leading_buttons_container.release());
102 104
103 std::unique_ptr<views::View> trailing_buttons_container = 105 std::unique_ptr<views::View> trailing_buttons_container =
104 base::MakeUnique<views::View>(); 106 base::MakeUnique<views::View>();
105 107
106 constexpr int kButtonSpacing = 10;
107 trailing_buttons_container->SetLayoutManager(new views::BoxLayout( 108 trailing_buttons_container->SetLayoutManager(new views::BoxLayout(
108 views::BoxLayout::kHorizontal, 109 views::BoxLayout::kHorizontal,
109 kPaymentRequestRowHorizontalInsets, 110 kPaymentRequestRowHorizontalInsets,
110 kPaymentRequestRowVerticalInsets, 111 kPaymentRequestRowVerticalInsets,
111 kButtonSpacing)); 112 kPaymentRequestButtonSpacing));
112 113
113 std::unique_ptr<views::Button> primary_button = CreatePrimaryButton(); 114 std::unique_ptr<views::Button> primary_button = CreatePrimaryButton();
114 if (primary_button) 115 if (primary_button)
115 trailing_buttons_container->AddChildView(primary_button.release()); 116 trailing_buttons_container->AddChildView(primary_button.release());
116 117
117 views::LabelButton* button = views::MdTextButton::CreateSecondaryUiButton( 118 views::LabelButton* button = views::MdTextButton::CreateSecondaryUiButton(
118 this, l10n_util::GetStringUTF16(IDS_CANCEL)); 119 this, l10n_util::GetStringUTF16(IDS_CANCEL));
119 button->set_tag(static_cast<int>(PaymentRequestCommonTags::CLOSE_BUTTON_TAG)); 120 button->set_tag(static_cast<int>(PaymentRequestCommonTags::CLOSE_BUTTON_TAG));
120 trailing_buttons_container->AddChildView(button); 121 trailing_buttons_container->AddChildView(button);
121 122
122 layout->AddView(trailing_buttons_container.release()); 123 layout->AddView(trailing_buttons_container.release());
123 124
124 return container; 125 return container;
125 } 126 }
126 127
127 } // namespace payments 128 } // namespace payments
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698