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

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

Issue 2579513002: [WebPayments] Factor out sheet-specific logic in Controllers. (Closed)
Patch Set: Add missing include and semicolon. 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/ui/views/payments/order_summary_view_controller.h"
6
7 #include <memory>
8 #include <utility>
9
10 #include "base/logging.h"
11 #include "base/memory/ptr_util.h"
12 #include "base/strings/utf_string_conversions.h"
13 #include "chrome/browser/ui/views/payments/payment_request_dialog.h"
14 #include "chrome/browser/ui/views/payments/payment_request_views_util.h"
15 #include "chrome/grit/generated_resources.h"
16 #include "ui/base/l10n/l10n_util.h"
17 #include "ui/views/controls/button/label_button.h"
18 #include "ui/views/controls/button/md_text_button.h"
19 #include "ui/views/layout/grid_layout.h"
20 #include "ui/views/view.h"
21
22 namespace {
23
24 // The tag for the button that navigates back to the payment sheet.
25 constexpr int kBackButtonTag = 0;
26
27 } // namespace
28
29 namespace payments {
30
31 OrderSummaryViewController::OrderSummaryViewController(
32 PaymentRequestImpl* impl, PaymentRequestDialog* dialog)
33 : PaymentRequestSheetController(impl, dialog) {}
34
35 OrderSummaryViewController::~OrderSummaryViewController() {}
36
37 std::unique_ptr<views::View> OrderSummaryViewController::CreateView() {
38 std::unique_ptr<views::View> content_view = base::MakeUnique<views::View>();
39
40 views::GridLayout* layout = new views::GridLayout(content_view.get());
41 content_view->SetLayoutManager(layout);
42 views::ColumnSet* columns = layout->AddColumnSet(0);
43 columns->AddColumn(views::GridLayout::TRAILING, views::GridLayout::CENTER,
44 0, views::GridLayout::USE_PREF, 0, 0);
45
46 layout->StartRow(0, 0);
47 views::LabelButton* back_button =
48 views::MdTextButton::CreateSecondaryUiBlueButton(
49 this, base::ASCIIToUTF16("Back"));
50 back_button->set_tag(kBackButtonTag);
51 layout->AddView(back_button);
52
53 return payments::CreatePaymentView(
54 l10n_util::GetStringUTF16(IDS_PAYMENT_REQUEST_ORDER_SUMMARY_TITLE),
55 std::move(content_view));
56 }
57
58 void OrderSummaryViewController::ButtonPressed(
59 views::Button* sender, const ui::Event& event) {
60 DCHECK_EQ(kBackButtonTag, sender->tag());
61
62 dialog()->GoBack();
63 }
64
65 } // namespace payments
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698