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

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

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

Powered by Google App Engine
This is Rietveld 408576698