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

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

Issue 2413773003: Material Page Info (Views, 3/3): Update site settings section. (Closed)
Patch Set: 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/permission_selector_row.h" 5 #include "chrome/browser/ui/views/website_settings/permission_selector_row.h"
6 6
7 #include "base/i18n/rtl.h" 7 #include "base/i18n/rtl.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/ui/views/website_settings/website_settings_popup_view.h " 10 #include "chrome/browser/ui/views/website_settings/website_settings_popup_view.h "
11 #include "chrome/browser/ui/website_settings/permission_menu_model.h" 11 #include "chrome/browser/ui/website_settings/permission_menu_model.h"
12 #include "chrome/browser/ui/website_settings/website_settings_ui.h" 12 #include "chrome/browser/ui/website_settings/website_settings_ui.h"
13 #include "chrome/grit/generated_resources.h" 13 #include "chrome/grit/generated_resources.h"
14 #include "ui/accessibility/ax_view_state.h" 14 #include "ui/accessibility/ax_view_state.h"
15 #include "ui/base/l10n/l10n_util.h"
16 #include "ui/base/material_design/material_design_controller.h" 15 #include "ui/base/material_design/material_design_controller.h"
17 #include "ui/base/models/combobox_model.h" 16 #include "ui/base/models/combobox_model.h"
18 #include "ui/gfx/image/image.h" 17 #include "ui/gfx/image/image.h"
19 #include "ui/views/controls/button/menu_button.h" 18 #include "ui/views/controls/button/menu_button.h"
20 #include "ui/views/controls/combobox/combobox.h" 19 #include "ui/views/controls/combobox/combobox.h"
21 #include "ui/views/controls/combobox/combobox_listener.h" 20 #include "ui/views/controls/combobox/combobox_listener.h"
22 #include "ui/views/controls/image_view.h" 21 #include "ui/views/controls/image_view.h"
23 #include "ui/views/controls/label.h" 22 #include "ui/views/controls/label.h"
24 #include "ui/views/controls/menu/menu_runner.h" 23 #include "ui/views/controls/menu/menu_runner.h"
25 #include "ui/views/layout/grid_layout.h" 24 #include "ui/views/layout/grid_layout.h"
26 #include "ui/views/view.h" 25 #include "ui/views/view.h"
27 #include "ui/views/widget/widget.h" 26 #include "ui/views/widget/widget.h"
28 27
28 namespace {
29 // Minimum distance between the label and its corresponding menu.
30 const int kMinSeparationBetweenLabelAndMenu = 16;
31 }
32
29 namespace internal { 33 namespace internal {
30 34
31 // The |PermissionMenuButton| provides a menu for selecting a setting a 35 // The |PermissionMenuButton| provides a menu for selecting a setting a
32 // permissions type. 36 // permissions type.
33 class PermissionMenuButton : public views::MenuButton, 37 class PermissionMenuButton : public views::MenuButton,
34 public views::MenuButtonListener { 38 public views::MenuButtonListener {
35 public: 39 public:
36 // Creates a new |PermissionMenuButton| with the passed |text|. The ownership 40 // Creates a new |PermissionMenuButton| with the passed |text|. The ownership
37 // of the |model| remains with the caller and is not transfered to the 41 // of the |model| remains with the caller and is not transfered to the
38 // |PermissionMenuButton|. If the |show_menu_marker| flag is true, then a 42 // |PermissionMenuButton|. If the |show_menu_marker| flag is true, then a
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 232
229 PermissionSelectorRow::PermissionSelectorRow( 233 PermissionSelectorRow::PermissionSelectorRow(
230 Profile* profile, 234 Profile* profile,
231 const GURL& url, 235 const GURL& url,
232 const WebsiteSettingsUI::PermissionInfo& permission) 236 const WebsiteSettingsUI::PermissionInfo& permission)
233 : profile_(profile), icon_(NULL), menu_button_(NULL), combobox_(NULL) { 237 : profile_(profile), icon_(NULL), menu_button_(NULL), combobox_(NULL) {
234 views::GridLayout* layout = new views::GridLayout(this); 238 views::GridLayout* layout = new views::GridLayout(this);
235 SetLayoutManager(layout); 239 SetLayoutManager(layout);
236 const int column_set_id = 0; 240 const int column_set_id = 0;
237 views::ColumnSet* column_set = layout->AddColumnSet(column_set_id); 241 views::ColumnSet* column_set = layout->AddColumnSet(column_set_id);
238 column_set->AddColumn(views::GridLayout::FILL, 242 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 0,
239 views::GridLayout::FILL, 243 views::GridLayout::FIXED, kPermissionIconColumnWidth,
240 1,
241 views::GridLayout::FIXED,
242 kPermissionIconColumnWidth,
243 0); 244 0);
244 column_set->AddPaddingColumn(0, kPermissionIconMarginLeft); 245 column_set->AddPaddingColumn(0, kPermissionIconMarginLeft);
245 column_set->AddColumn(views::GridLayout::FILL, 246 column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, 0,
246 views::GridLayout::FILL, 247 views::GridLayout::USE_PREF, 0, 0);
247 1, 248 column_set->AddPaddingColumn(1, kMinSeparationBetweenLabelAndMenu);
248 views::GridLayout::USE_PREF, 249 column_set->AddColumn(views::GridLayout::TRAILING, views::GridLayout::FILL, 0,
249 0, 250 views::GridLayout::USE_PREF, 0, 0);
250 0);
251 column_set->AddColumn(views::GridLayout::FILL,
252 views::GridLayout::FILL,
253 1,
254 views::GridLayout::USE_PREF,
255 0,
256 0);
257 251
258 layout->StartRow(1, column_set_id); 252 layout->StartRow(1, column_set_id);
259 // Create the permission icon. 253 // Create the permission icon.
260 icon_ = new views::ImageView(); 254 icon_ = new views::ImageView();
261 const gfx::Image& image = WebsiteSettingsUI::GetPermissionIcon(permission); 255 const gfx::Image& image = WebsiteSettingsUI::GetPermissionIcon(permission);
262 icon_->SetImage(image.ToImageSkia()); 256 icon_->SetImage(image.ToImageSkia());
263 layout->AddView(icon_, 257 layout->AddView(icon_,
264 1, 258 1,
265 1, 259 1,
266 views::GridLayout::CENTER, 260 views::GridLayout::CENTER,
267 views::GridLayout::CENTER); 261 views::GridLayout::CENTER);
268 // Create the label that displays the permission type. 262 // Create the label that displays the permission type.
269 views::Label* label = new views::Label(l10n_util::GetStringFUTF16( 263 views::Label* label = new views::Label(
270 IDS_WEBSITE_SETTINGS_PERMISSION_TYPE, 264 WebsiteSettingsUI::PermissionTypeToUIString(permission.type));
271 WebsiteSettingsUI::PermissionTypeToUIString(permission.type)));
272 layout->AddView(label, 265 layout->AddView(label,
273 1, 266 1,
274 1, 267 1,
275 views::GridLayout::LEADING, 268 views::GridLayout::LEADING,
276 views::GridLayout::CENTER); 269 views::GridLayout::CENTER);
277 // Create the menu model. 270 // Create the menu model.
278 menu_model_.reset(new PermissionMenuModel( 271 menu_model_.reset(new PermissionMenuModel(
279 profile, url, permission, 272 profile, url, permission,
280 base::Bind(&PermissionSelectorRow::PermissionChanged, 273 base::Bind(&PermissionSelectorRow::PermissionChanged,
281 base::Unretained(this)))); 274 base::Unretained(this))));
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 menu_button_->SizeToPreferredSize(); 363 menu_button_->SizeToPreferredSize();
371 } else if (combobox_) { 364 } else if (combobox_) {
372 bool use_default = permission.setting == CONTENT_SETTING_DEFAULT; 365 bool use_default = permission.setting == CONTENT_SETTING_DEFAULT;
373 combobox_->UpdateSelectedIndex(use_default); 366 combobox_->UpdateSelectedIndex(use_default);
374 } 367 }
375 368
376 FOR_EACH_OBSERVER(PermissionSelectorRowObserver, 369 FOR_EACH_OBSERVER(PermissionSelectorRowObserver,
377 observer_list_, 370 observer_list_,
378 OnPermissionChanged(permission)); 371 OnPermissionChanged(permission));
379 } 372 }
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/ui/views/website_settings/website_settings_popup_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698