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

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

Issue 2621033003: [Payments] Currency formatter for order amounts. (Closed)
Patch Set: Initial Created 3 years, 11 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/order_summary_view_controller.h" 5 #include "chrome/browser/ui/views/payments/order_summary_view_controller.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/memory/ptr_util.h" 11 #include "base/memory/ptr_util.h"
12 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
13 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/ui/views/payments/payment_request_dialog.h" 14 #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/browser/ui/views/payments/payment_request_views_util.h"
15 #include "chrome/grit/generated_resources.h" 16 #include "chrome/grit/generated_resources.h"
17 #include "components/payments/currency_formatter.h"
16 #include "components/payments/payment_request.h" 18 #include "components/payments/payment_request.h"
17 #include "components/strings/grit/components_strings.h" 19 #include "components/strings/grit/components_strings.h"
20 #include "third_party/icu/source/common/unicode/locid.h"
18 #include "ui/base/l10n/l10n_util.h" 21 #include "ui/base/l10n/l10n_util.h"
19 #include "ui/views/controls/label.h" 22 #include "ui/views/controls/label.h"
20 #include "ui/views/layout/grid_layout.h" 23 #include "ui/views/layout/grid_layout.h"
21 #include "ui/views/view.h" 24 #include "ui/views/view.h"
22 25
23 namespace payments { 26 namespace payments {
24 27
25 OrderSummaryViewController::OrderSummaryViewController( 28 OrderSummaryViewController::OrderSummaryViewController(
26 PaymentRequest* request, 29 PaymentRequest* request,
27 PaymentRequestDialog* dialog) 30 PaymentRequestDialog* dialog)
28 : PaymentRequestSheetController(request, dialog) {} 31 : PaymentRequestSheetController(request, dialog) {}
29 32
30 OrderSummaryViewController::~OrderSummaryViewController() {} 33 OrderSummaryViewController::~OrderSummaryViewController() {}
31 34
32 std::unique_ptr<views::View> OrderSummaryViewController::CreateView() { 35 std::unique_ptr<views::View> OrderSummaryViewController::CreateView() {
33 std::unique_ptr<views::View> content_view = base::MakeUnique<views::View>(); 36 std::unique_ptr<views::View> content_view = base::MakeUnique<views::View>();
34 37
35 views::GridLayout* layout = new views::GridLayout(content_view.get()); 38 views::GridLayout* layout = new views::GridLayout(content_view.get());
36 content_view->SetLayoutManager(layout); 39 content_view->SetLayoutManager(layout);
37 views::ColumnSet* columns = layout->AddColumnSet(0); 40 views::ColumnSet* columns = layout->AddColumnSet(0);
38 columns->AddColumn(views::GridLayout::FILL, views::GridLayout::CENTER, 41 columns->AddColumn(views::GridLayout::FILL, views::GridLayout::CENTER,
39 0, views::GridLayout::USE_PREF, 0, 0); 42 0, views::GridLayout::USE_PREF, 0, 0);
40 43
44 const std::string formatted_amount = FormatAmountForCurrency(
please use gerrit instead 2017/01/11 18:29:30 nit1: no need for const, because a quick perusal o
Mathieu 2017/01/11 22:22:25 Done.
45 request()->details()->total->amount->value,
46 request()->details()->total->amount->currency,
47 icu::Locale(g_browser_process->GetApplicationLocale().c_str()));
41 layout->StartRow(0, 0); 48 layout->StartRow(0, 0);
42 layout->AddView(new views::Label(l10n_util::GetStringFUTF16( 49 layout->AddView(new views::Label(l10n_util::GetStringFUTF16(
43 IDS_PAYMENT_REQUEST_ORDER_SUMMARY_SECTION_TOTAL_FORMAT, 50 IDS_PAYMENT_REQUEST_ORDER_SUMMARY_SECTION_TOTAL_FORMAT,
44 base::ASCIIToUTF16(request()->details()->total->label), 51 base::UTF8ToUTF16(request()->details()->total->label),
45 base::ASCIIToUTF16(request()->details()->total->amount->value), 52 base::UTF8ToUTF16(request()->details()->total->amount->currency),
46 base::ASCIIToUTF16(request()->details()->total->amount->currency)))); 53 base::UTF8ToUTF16(formatted_amount))));
47 54
48 return payments::CreatePaymentView( 55 return payments::CreatePaymentView(
49 CreateSheetHeaderView( 56 CreateSheetHeaderView(
50 true, 57 true,
51 l10n_util::GetStringUTF16(IDS_PAYMENT_REQUEST_ORDER_SUMMARY_TITLE), 58 l10n_util::GetStringUTF16(IDS_PAYMENT_REQUEST_ORDER_SUMMARY_TITLE),
52 this), 59 this),
53 std::move(content_view)); 60 std::move(content_view));
54 } 61 }
55 62
56 void OrderSummaryViewController::ButtonPressed( 63 void OrderSummaryViewController::ButtonPressed(
57 views::Button* sender, const ui::Event& event) { 64 views::Button* sender, const ui::Event& event) {
58 switch (sender->tag()) { 65 switch (sender->tag()) {
59 case static_cast<int>(PaymentRequestCommonTags::CLOSE_BUTTON_TAG): 66 case static_cast<int>(PaymentRequestCommonTags::CLOSE_BUTTON_TAG):
60 dialog()->CloseDialog(); 67 dialog()->CloseDialog();
61 break; 68 break;
62 case static_cast<int>(PaymentRequestCommonTags::BACK_BUTTON_TAG): 69 case static_cast<int>(PaymentRequestCommonTags::BACK_BUTTON_TAG):
63 dialog()->GoBack(); 70 dialog()->GoBack();
64 break; 71 break;
65 default: 72 default:
66 NOTREACHED(); 73 NOTREACHED();
67 } 74 }
68 } 75 }
69 76
70 } // namespace payments 77 } // namespace payments
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698