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

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

Issue 2715233004: views: use shorter menu strings in Harmony website settings (Closed)
Patch Set: Created 3 years, 9 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
« no previous file with comments | « no previous file | chrome/browser/ui/website_settings/permission_menu_model.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/non_accessible_image_view.h" 10 #include "chrome/browser/ui/views/website_settings/non_accessible_image_view.h"
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 base::string16 ComboboxModelAdapter::GetItemAt(int index) { 166 base::string16 ComboboxModelAdapter::GetItemAt(int index) {
167 return model_->GetLabelAt(index); 167 return model_->GetLabelAt(index);
168 } 168 }
169 169
170 // The |PermissionCombobox| provides a combobox for selecting a permission type. 170 // The |PermissionCombobox| provides a combobox for selecting a permission type.
171 // This is only used on platforms where the permission dialog uses a combobox 171 // This is only used on platforms where the permission dialog uses a combobox
172 // instead of a MenuButton (currently, Mac). 172 // instead of a MenuButton (currently, Mac).
173 class PermissionCombobox : public views::Combobox, 173 class PermissionCombobox : public views::Combobox,
174 public views::ComboboxListener { 174 public views::ComboboxListener {
175 public: 175 public:
176 PermissionCombobox(const base::string16& text, 176 PermissionCombobox(ComboboxModelAdapter* model,
177 ComboboxModelAdapter* model,
178 bool enabled, 177 bool enabled,
179 bool use_default); 178 bool use_default);
180 ~PermissionCombobox() override; 179 ~PermissionCombobox() override;
181 180
182 void UpdateSelectedIndex(bool use_default); 181 void UpdateSelectedIndex(bool use_default);
183 182
184 private: 183 private:
185 // views::Combobox: 184 // views::Combobox:
186 void OnPaintBorder(gfx::Canvas* canvas) override; 185 void OnPaintBorder(gfx::Canvas* canvas) override;
187 186
188 // views::ComboboxListener: 187 // views::ComboboxListener:
189 void OnPerformAction(Combobox* combobox) override; 188 void OnPerformAction(Combobox* combobox) override;
190 189
191 ComboboxModelAdapter* model_; 190 ComboboxModelAdapter* model_;
192 }; 191 };
193 192
194 PermissionCombobox::PermissionCombobox(const base::string16& text, 193 PermissionCombobox::PermissionCombobox(ComboboxModelAdapter* model,
195 ComboboxModelAdapter* model,
196 bool enabled, 194 bool enabled,
197 bool use_default) 195 bool use_default)
198 : views::Combobox(model), model_(model) { 196 : views::Combobox(model), model_(model) {
199 set_listener(this); 197 set_listener(this);
200 SetEnabled(enabled); 198 SetEnabled(enabled);
201 UpdateSelectedIndex(use_default); 199 UpdateSelectedIndex(use_default);
202 if (ui::MaterialDesignController::IsSecondaryUiMaterial()) { 200 if (ui::MaterialDesignController::IsSecondaryUiMaterial()) {
203 set_size_to_largest_label(false); 201 set_size_to_largest_label(false);
204 ModelChanged(); 202 ModelChanged();
205 } 203 }
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 } 326 }
329 327
330 void PermissionSelectorRow::InitializeComboboxView( 328 void PermissionSelectorRow::InitializeComboboxView(
331 views::GridLayout* layout, 329 views::GridLayout* layout,
332 const WebsiteSettingsUI::PermissionInfo& permission) { 330 const WebsiteSettingsUI::PermissionInfo& permission) {
333 bool button_enabled = 331 bool button_enabled =
334 permission.source == content_settings::SETTING_SOURCE_USER; 332 permission.source == content_settings::SETTING_SOURCE_USER;
335 combobox_model_adapter_.reset( 333 combobox_model_adapter_.reset(
336 new internal::ComboboxModelAdapter(menu_model_.get())); 334 new internal::ComboboxModelAdapter(menu_model_.get()));
337 combobox_ = new internal::PermissionCombobox( 335 combobox_ = new internal::PermissionCombobox(
338 WebsiteSettingsUI::PermissionActionToUIString(
339 profile_, permission.type, permission.setting,
340 permission.default_setting, permission.source),
341 combobox_model_adapter_.get(), button_enabled, true); 336 combobox_model_adapter_.get(), button_enabled, true);
342 combobox_->SetEnabled(button_enabled); 337 combobox_->SetEnabled(button_enabled);
343 combobox_->SetAccessibleName( 338 combobox_->SetAccessibleName(
344 WebsiteSettingsUI::PermissionTypeToUIString(permission.type)); 339 WebsiteSettingsUI::PermissionTypeToUIString(permission.type));
345 layout->AddView(combobox_); 340 layout->AddView(combobox_);
346 } 341 }
347 342
348 void PermissionSelectorRow::PermissionChanged( 343 void PermissionSelectorRow::PermissionChanged(
349 const WebsiteSettingsUI::PermissionInfo& permission) { 344 const WebsiteSettingsUI::PermissionInfo& permission) {
350 // Change the permission icon to reflect the selected setting. 345 // Change the permission icon to reflect the selected setting.
351 const gfx::Image& image = WebsiteSettingsUI::GetPermissionIcon(permission); 346 const gfx::Image& image = WebsiteSettingsUI::GetPermissionIcon(permission);
352 icon_->SetImage(image.ToImageSkia()); 347 icon_->SetImage(image.ToImageSkia());
353 348
354 // Update the menu button text to reflect the new setting. 349 // Update the menu button text to reflect the new setting.
355 if (menu_button_) { 350 if (menu_button_) {
356 menu_button_->SetText(WebsiteSettingsUI::PermissionActionToUIString( 351 menu_button_->SetText(WebsiteSettingsUI::PermissionActionToUIString(
357 profile_, permission.type, permission.setting, 352 profile_, permission.type, permission.setting,
358 permission.default_setting, content_settings::SETTING_SOURCE_USER)); 353 permission.default_setting, content_settings::SETTING_SOURCE_USER));
359 menu_button_->SizeToPreferredSize(); 354 menu_button_->SizeToPreferredSize();
360 } else if (combobox_) { 355 } else if (combobox_) {
361 bool use_default = permission.setting == CONTENT_SETTING_DEFAULT; 356 bool use_default = permission.setting == CONTENT_SETTING_DEFAULT;
362 combobox_->UpdateSelectedIndex(use_default); 357 combobox_->UpdateSelectedIndex(use_default);
363 } 358 }
364 359
365 for (PermissionSelectorRowObserver& observer : observer_list_) 360 for (PermissionSelectorRowObserver& observer : observer_list_)
366 observer.OnPermissionChanged(permission); 361 observer.OnPermissionChanged(permission);
367 } 362 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/website_settings/permission_menu_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698