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

Side by Side Diff: chrome/browser/ui/views/website_settings/chosen_object_row.cc

Issue 2306673003: Material Page Info (Views, 3/3): Update site settings section. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 4 years, 2 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/website_settings/chosen_object_row.h" 5 #include "chrome/browser/ui/views/website_settings/chosen_object_row.h"
6 6
7 #include "chrome/browser/ui/views/website_settings/chosen_object_row_observer.h" 7 #include "chrome/browser/ui/views/website_settings/chosen_object_row_observer.h"
8 #include "chrome/browser/ui/views/website_settings/website_settings_popup_view.h " 8 #include "chrome/browser/ui/views/website_settings/website_settings_popup_view.h "
9 #include "ui/base/l10n/l10n_util.h" 9 #include "ui/base/l10n/l10n_util.h"
10 #include "ui/base/resource/resource_bundle.h" 10 #include "ui/base/resource/resource_bundle.h"
11 #include "ui/gfx/font_list.h"
11 #include "ui/resources/grit/ui_resources.h" 12 #include "ui/resources/grit/ui_resources.h"
12 #include "ui/views/controls/button/image_button.h" 13 #include "ui/views/controls/button/image_button.h"
13 #include "ui/views/controls/image_view.h" 14 #include "ui/views/controls/image_view.h"
14 #include "ui/views/controls/label.h" 15 #include "ui/views/controls/label.h"
16 #include "ui/views/layout/box_layout.h"
15 #include "ui/views/layout/grid_layout.h" 17 #include "ui/views/layout/grid_layout.h"
18 #include "ui/views/layout/layout_constants.h"
16 19
17 ChosenObjectRow::ChosenObjectRow( 20 ChosenObjectRow::ChosenObjectRow(
18 std::unique_ptr<WebsiteSettingsUI::ChosenObjectInfo> info) 21 std::unique_ptr<WebsiteSettingsUI::ChosenObjectInfo> info,
22 views::GridLayout* layout)
19 : info_(std::move(info)) { 23 : info_(std::move(info)) {
20 views::GridLayout* layout = new views::GridLayout(this);
21 SetLayoutManager(layout);
22 const int column_set_id = 0;
23 views::ColumnSet* column_set = layout->AddColumnSet(column_set_id);
24 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1,
25 views::GridLayout::FIXED, kPermissionIconColumnWidth,
26 0);
27 column_set->AddPaddingColumn(0, kPermissionIconMarginLeft);
28 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1,
29 views::GridLayout::USE_PREF, 0, 0);
30 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 1,
31 views::GridLayout::USE_PREF, 0, 0);
32
33 layout->StartRow(1, column_set_id);
34 // Create the permission icon. 24 // Create the permission icon.
35 icon_ = new views::ImageView(); 25 icon_ = new views::ImageView();
36 const gfx::Image& image = 26 const gfx::Image& image =
37 WebsiteSettingsUI::GetChosenObjectIcon(*info_, false); 27 WebsiteSettingsUI::GetChosenObjectIcon(*info_, false);
38 icon_->SetImage(image.ToImageSkia()); 28 icon_->SetImage(image.ToImageSkia());
39 layout->AddView(icon_, 1, 1, views::GridLayout::CENTER, 29 layout->AddView(icon_);
40 views::GridLayout::CENTER); 30
31 label_with_delete_ = new views::View();
32 views::BoxLayout* box_layout = new views::BoxLayout(
33 views::BoxLayout::kHorizontal, 0, 0, views::kRelatedButtonHSpacing);
34 box_layout->set_cross_axis_alignment(
35 views::BoxLayout::CROSS_AXIS_ALIGNMENT_END);
36 label_with_delete_->SetLayoutManager(box_layout);
37
41 // Create the label that displays the permission type. 38 // Create the label that displays the permission type.
42 views::Label* label = new views::Label(l10n_util::GetStringFUTF16( 39 const gfx::FontList& font_list =
43 info_->ui_info.label_string_id, 40 ui::ResourceBundle::GetSharedInstance().GetFontListWithDelta(1);
44 WebsiteSettingsUI::ChosenObjectToUIString(*info_))); 41 views::Label* label =
45 layout->AddView(label, 1, 1, views::GridLayout::LEADING, 42 new views::Label(l10n_util::GetStringFUTF16(
46 views::GridLayout::CENTER); 43 info_->ui_info.label_string_id,
44 WebsiteSettingsUI::ChosenObjectToUIString(*info_)),
45 font_list);
46 label_with_delete_->AddChildView(label);
47
47 // Create the delete button. 48 // Create the delete button.
48 delete_button_ = new views::ImageButton(this); 49 delete_button_ = new views::ImageButton(this);
49 delete_button_->SetFocusForPlatform(); 50 delete_button_->SetFocusForPlatform();
50 delete_button_->set_request_focus_on_press(true); 51 delete_button_->set_request_focus_on_press(true);
51 delete_button_->SetTooltipText( 52 delete_button_->SetTooltipText(
52 l10n_util::GetStringUTF16(info_->ui_info.delete_tooltip_string_id)); 53 l10n_util::GetStringUTF16(info_->ui_info.delete_tooltip_string_id));
53 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); 54 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
54 delete_button_->SetImage(views::ImageButton::STATE_NORMAL, 55 delete_button_->SetImage(views::ImageButton::STATE_NORMAL,
55 rb.GetImageSkiaNamed(IDR_CLOSE_2)); 56 rb.GetImageSkiaNamed(IDR_CLOSE_2));
56 delete_button_->SetImage(views::ImageButton::STATE_HOVERED, 57 delete_button_->SetImage(views::ImageButton::STATE_HOVERED,
57 rb.GetImageSkiaNamed(IDR_CLOSE_2_H)); 58 rb.GetImageSkiaNamed(IDR_CLOSE_2_H));
58 delete_button_->SetImage(views::ImageButton::STATE_PRESSED, 59 delete_button_->SetImage(views::ImageButton::STATE_PRESSED,
59 rb.GetImageSkiaNamed(IDR_CLOSE_2_P)); 60 rb.GetImageSkiaNamed(IDR_CLOSE_2_P));
60 layout->AddView(delete_button_, 1, 1, views::GridLayout::LEADING, 61 label_with_delete_->AddChildView(delete_button_);
61 views::GridLayout::CENTER); 62 layout->AddView(label_with_delete_);
62 } 63 }
63 64
64 void ChosenObjectRow::AddObserver(ChosenObjectRowObserver* observer) { 65 void ChosenObjectRow::AddObserver(ChosenObjectRowObserver* observer) {
65 observer_list_.AddObserver(observer); 66 observer_list_.AddObserver(observer);
66 } 67 }
67 68
68 ChosenObjectRow::~ChosenObjectRow() {} 69 ChosenObjectRow::~ChosenObjectRow() {}
69 70
70 void ChosenObjectRow::ButtonPressed(views::Button* sender, 71 void ChosenObjectRow::ButtonPressed(views::Button* sender,
71 const ui::Event& event) { 72 const ui::Event& event) {
72 // Change the icon to reflect the selected setting. 73 // Change the icon to reflect the selected setting.
73 const gfx::Image& image = 74 const gfx::Image& image =
74 WebsiteSettingsUI::GetChosenObjectIcon(*info_, true); 75 WebsiteSettingsUI::GetChosenObjectIcon(*info_, true);
75 icon_->SetImage(image.ToImageSkia()); 76 icon_->SetImage(image.ToImageSkia());
76 77
77 RemoveChildView(delete_button_); 78 label_with_delete_->RemoveChildView(delete_button_);
78 delete delete_button_; 79 delete delete_button_;
79 delete_button_ = nullptr; 80 delete_button_ = nullptr;
80 81
81 FOR_EACH_OBSERVER(ChosenObjectRowObserver, observer_list_, 82 FOR_EACH_OBSERVER(ChosenObjectRowObserver, observer_list_,
82 OnChosenObjectDeleted(*info_)); 83 OnChosenObjectDeleted(*info_));
83 } 84 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698