| Index: ash/common/system/tray_accessibility.cc
|
| diff --git a/ash/common/system/tray_accessibility.cc b/ash/common/system/tray_accessibility.cc
|
| index 273a93937a0aff907e732b51e109e1b83d867279..7f922f94791b033b86d5312fa20adf40ed717653 100644
|
| --- a/ash/common/system/tray_accessibility.cc
|
| +++ b/ash/common/system/tray_accessibility.cc
|
| @@ -23,8 +23,10 @@
|
| #include "grit/ash_strings.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| +#include "ui/gfx/color_palette.h"
|
| #include "ui/gfx/image/image.h"
|
| #include "ui/gfx/paint_vector_icon.h"
|
| +#include "ui/gfx/vector_icons_public.h"
|
| #include "ui/views/controls/image_view.h"
|
| #include "ui/views/controls/label.h"
|
| #include "ui/views/layout/box_layout.h"
|
| @@ -151,7 +153,10 @@ AccessibilityDetailedView::AccessibilityDetailedView(SystemTrayItem* owner,
|
| Reset();
|
|
|
| AppendAccessibilityList();
|
| - AppendHelpEntries();
|
| +
|
| + if (!MaterialDesignController::IsSystemTrayMenuMaterial())
|
| + AppendHelpEntries();
|
| +
|
| CreateTitleRow(IDS_ASH_STATUS_TRAY_ACCESSIBILITY_TITLE);
|
|
|
| Layout();
|
| @@ -166,7 +171,8 @@ void AccessibilityDetailedView::AppendAccessibilityList() {
|
| spoken_feedback_view_ =
|
| AddScrollListItem(bundle.GetLocalizedString(
|
| IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SPOKEN_FEEDBACK),
|
| - spoken_feedback_enabled_, spoken_feedback_enabled_);
|
| + spoken_feedback_enabled_, spoken_feedback_enabled_,
|
| + kSystemMenuAccessibilityChromevoxIcon);
|
|
|
| // Large Cursor item is shown only in Login screen.
|
| if (login_ == LoginStatus::NOT_LOGGED_IN) {
|
| @@ -174,33 +180,38 @@ void AccessibilityDetailedView::AppendAccessibilityList() {
|
| large_cursor_view_ =
|
| AddScrollListItem(bundle.GetLocalizedString(
|
| IDS_ASH_STATUS_TRAY_ACCESSIBILITY_LARGE_CURSOR),
|
| - large_cursor_enabled_, large_cursor_enabled_);
|
| + large_cursor_enabled_, large_cursor_enabled_,
|
| + kSystemMenuAccessibilityLargeCursorIcon);
|
| }
|
|
|
| high_contrast_enabled_ = delegate->IsHighContrastEnabled();
|
| high_contrast_view_ = AddScrollListItem(
|
| bundle.GetLocalizedString(
|
| IDS_ASH_STATUS_TRAY_ACCESSIBILITY_HIGH_CONTRAST_MODE),
|
| - high_contrast_enabled_, high_contrast_enabled_);
|
| + high_contrast_enabled_, high_contrast_enabled_,
|
| + kSystemMenuAccessibilityContrastIcon);
|
| screen_magnifier_enabled_ = delegate->IsMagnifierEnabled();
|
| screen_magnifier_view_ =
|
| AddScrollListItem(bundle.GetLocalizedString(
|
| IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SCREEN_MAGNIFIER),
|
| - screen_magnifier_enabled_, screen_magnifier_enabled_);
|
| + screen_magnifier_enabled_, screen_magnifier_enabled_,
|
| + kSystemMenuAccessibilityScreenMagnifierIcon);
|
|
|
| // Don't show autoclick option at login screen.
|
| if (login_ != LoginStatus::NOT_LOGGED_IN) {
|
| autoclick_enabled_ = delegate->IsAutoclickEnabled();
|
| autoclick_view_ = AddScrollListItem(
|
| bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_ACCESSIBILITY_AUTOCLICK),
|
| - autoclick_enabled_, autoclick_enabled_);
|
| + autoclick_enabled_, autoclick_enabled_,
|
| + kSystemMenuAccessibilityAutoClickIcon);
|
| }
|
|
|
| virtual_keyboard_enabled_ = delegate->IsVirtualKeyboardEnabled();
|
| virtual_keyboard_view_ =
|
| AddScrollListItem(bundle.GetLocalizedString(
|
| IDS_ASH_STATUS_TRAY_ACCESSIBILITY_VIRTUAL_KEYBOARD),
|
| - virtual_keyboard_enabled_, virtual_keyboard_enabled_);
|
| + virtual_keyboard_enabled_, virtual_keyboard_enabled_,
|
| + kSystemMenuKeyboardIcon);
|
| }
|
|
|
| void AccessibilityDetailedView::AppendHelpEntries() {
|
| @@ -237,55 +248,70 @@ void AccessibilityDetailedView::AppendHelpEntries() {
|
| HoverHighlightView* AccessibilityDetailedView::AddScrollListItem(
|
| const base::string16& text,
|
| bool highlight,
|
| - bool checked) {
|
| + bool checked,
|
| + const gfx::VectorIcon& icon) {
|
| HoverHighlightView* container = new HoverHighlightView(this);
|
| - container->AddCheckableLabel(text, highlight, checked);
|
| + if (MaterialDesignController::IsSystemTrayMenuMaterial()) {
|
| + gfx::ImageSkia image = CreateVectorIcon(icon, kMenuIconColor);
|
| + const int padding = (kMenuButtonSize - image.width()) / 2;
|
| + container->AddIconAndLabelCustomSize(
|
| + image, text, highlight,
|
| + image.width() + kMenuSeparatorVerticalPadding * 2, padding, padding);
|
| + gfx::ImageSkia check_mark =
|
| + CreateVectorIcon(gfx::VectorIconId::CHECK_CIRCLE, gfx::kGoogleGreen700);
|
| + container->AddRightIcon(check_mark, check_mark.width());
|
| + container->SetRightIconVisible(checked);
|
| + } else {
|
| + container->AddCheckableLabel(text, highlight, checked);
|
| + }
|
| scroll_content()->AddChildView(container);
|
| return container;
|
| }
|
|
|
| void AccessibilityDetailedView::HandleViewClicked(views::View* view) {
|
| AccessibilityDelegate* delegate = WmShell::Get()->accessibility_delegate();
|
| + UserMetricsAction user_action;
|
| if (view == spoken_feedback_view_) {
|
| - WmShell::Get()->RecordUserMetricsAction(
|
| - delegate->IsSpokenFeedbackEnabled()
|
| - ? ash::UMA_STATUS_AREA_DISABLE_SPOKEN_FEEDBACK
|
| - : ash::UMA_STATUS_AREA_ENABLE_SPOKEN_FEEDBACK);
|
| + user_action = delegate->IsSpokenFeedbackEnabled()
|
| + ? ash::UMA_STATUS_AREA_DISABLE_SPOKEN_FEEDBACK
|
| + : ash::UMA_STATUS_AREA_ENABLE_SPOKEN_FEEDBACK;
|
| delegate->ToggleSpokenFeedback(A11Y_NOTIFICATION_NONE);
|
| } else if (view == high_contrast_view_) {
|
| - WmShell::Get()->RecordUserMetricsAction(
|
| - delegate->IsHighContrastEnabled()
|
| - ? ash::UMA_STATUS_AREA_DISABLE_HIGH_CONTRAST
|
| - : ash::UMA_STATUS_AREA_ENABLE_HIGH_CONTRAST);
|
| + user_action = delegate->IsHighContrastEnabled()
|
| + ? ash::UMA_STATUS_AREA_DISABLE_HIGH_CONTRAST
|
| + : ash::UMA_STATUS_AREA_ENABLE_HIGH_CONTRAST;
|
| delegate->ToggleHighContrast();
|
| } else if (view == screen_magnifier_view_) {
|
| - WmShell::Get()->RecordUserMetricsAction(
|
| - delegate->IsMagnifierEnabled() ? ash::UMA_STATUS_AREA_DISABLE_MAGNIFIER
|
| - : ash::UMA_STATUS_AREA_ENABLE_MAGNIFIER);
|
| + user_action = delegate->IsMagnifierEnabled()
|
| + ? ash::UMA_STATUS_AREA_DISABLE_MAGNIFIER
|
| + : ash::UMA_STATUS_AREA_ENABLE_MAGNIFIER;
|
| delegate->SetMagnifierEnabled(!delegate->IsMagnifierEnabled());
|
| } else if (large_cursor_view_ && view == large_cursor_view_) {
|
| - WmShell::Get()->RecordUserMetricsAction(
|
| - delegate->IsLargeCursorEnabled()
|
| - ? ash::UMA_STATUS_AREA_DISABLE_LARGE_CURSOR
|
| - : ash::UMA_STATUS_AREA_ENABLE_LARGE_CURSOR);
|
| + user_action = delegate->IsLargeCursorEnabled()
|
| + ? ash::UMA_STATUS_AREA_DISABLE_LARGE_CURSOR
|
| + : ash::UMA_STATUS_AREA_ENABLE_LARGE_CURSOR;
|
| delegate->SetLargeCursorEnabled(!delegate->IsLargeCursorEnabled());
|
| } else if (autoclick_view_ && view == autoclick_view_) {
|
| - WmShell::Get()->RecordUserMetricsAction(
|
| - delegate->IsAutoclickEnabled()
|
| - ? ash::UMA_STATUS_AREA_DISABLE_AUTO_CLICK
|
| - : ash::UMA_STATUS_AREA_ENABLE_AUTO_CLICK);
|
| + user_action = delegate->IsAutoclickEnabled()
|
| + ? ash::UMA_STATUS_AREA_DISABLE_AUTO_CLICK
|
| + : ash::UMA_STATUS_AREA_ENABLE_AUTO_CLICK;
|
| delegate->SetAutoclickEnabled(!delegate->IsAutoclickEnabled());
|
| } else if (virtual_keyboard_view_ && view == virtual_keyboard_view_) {
|
| - WmShell::Get()->RecordUserMetricsAction(
|
| - delegate->IsVirtualKeyboardEnabled()
|
| - ? ash::UMA_STATUS_AREA_DISABLE_VIRTUAL_KEYBOARD
|
| - : ash::UMA_STATUS_AREA_ENABLE_VIRTUAL_KEYBOARD);
|
| + user_action = delegate->IsVirtualKeyboardEnabled()
|
| + ? ash::UMA_STATUS_AREA_DISABLE_VIRTUAL_KEYBOARD
|
| + : ash::UMA_STATUS_AREA_ENABLE_VIRTUAL_KEYBOARD;
|
| delegate->SetVirtualKeyboardEnabled(!delegate->IsVirtualKeyboardEnabled());
|
| + } else {
|
| + return;
|
| }
|
| + WmShell::Get()->RecordUserMetricsAction(user_action);
|
| }
|
|
|
| void AccessibilityDetailedView::HandleButtonPressed(views::Button* sender,
|
| const ui::Event& event) {
|
| + if (MaterialDesignController::UseMaterialDesignSystemIcons())
|
| + return;
|
| +
|
| SystemTrayDelegate* tray_delegate = WmShell::Get()->system_tray_delegate();
|
| if (sender == help_view_)
|
| tray_delegate->ShowAccessibilityHelp();
|
|
|