OLD | NEW |
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 "ash/common/system/tray_accessibility.h" | 5 #include "ash/common/system/tray_accessibility.h" |
6 | 6 |
7 #include "ash/common/accessibility_delegate.h" | 7 #include "ash/common/accessibility_delegate.h" |
8 #include "ash/common/accessibility_types.h" | 8 #include "ash/common/accessibility_types.h" |
9 #include "ash/common/material_design/material_design_controller.h" | 9 #include "ash/common/material_design/material_design_controller.h" |
10 #include "ash/common/session/session_state_delegate.h" | 10 #include "ash/common/session/session_state_delegate.h" |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 high_contrast_enabled_(false), | 145 high_contrast_enabled_(false), |
146 screen_magnifier_enabled_(false), | 146 screen_magnifier_enabled_(false), |
147 large_cursor_enabled_(false), | 147 large_cursor_enabled_(false), |
148 autoclick_enabled_(false), | 148 autoclick_enabled_(false), |
149 virtual_keyboard_enabled_(false), | 149 virtual_keyboard_enabled_(false), |
150 login_(login) { | 150 login_(login) { |
151 Reset(); | 151 Reset(); |
152 | 152 |
153 AppendAccessibilityList(); | 153 AppendAccessibilityList(); |
154 AppendHelpEntries(); | 154 AppendHelpEntries(); |
155 CreateTitleRow(IDS_ASH_STATUS_TRAY_ACCESSIBILITY_TITLE); | 155 CreateSpecialRow(IDS_ASH_STATUS_TRAY_ACCESSIBILITY_TITLE, this); |
156 | 156 |
157 Layout(); | 157 Layout(); |
158 } | 158 } |
159 | 159 |
160 void AccessibilityDetailedView::AppendAccessibilityList() { | 160 void AccessibilityDetailedView::AppendAccessibilityList() { |
161 CreateScrollableList(); | 161 CreateScrollableList(); |
162 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); | 162 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
163 | 163 |
164 AccessibilityDelegate* delegate = WmShell::Get()->accessibility_delegate(); | 164 AccessibilityDelegate* delegate = WmShell::Get()->accessibility_delegate(); |
165 spoken_feedback_enabled_ = delegate->IsSpokenFeedbackEnabled(); | 165 spoken_feedback_enabled_ = delegate->IsSpokenFeedbackEnabled(); |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 HoverHighlightView* AccessibilityDetailedView::AddScrollListItem( | 237 HoverHighlightView* AccessibilityDetailedView::AddScrollListItem( |
238 const base::string16& text, | 238 const base::string16& text, |
239 bool highlight, | 239 bool highlight, |
240 bool checked) { | 240 bool checked) { |
241 HoverHighlightView* container = new HoverHighlightView(this); | 241 HoverHighlightView* container = new HoverHighlightView(this); |
242 container->AddCheckableLabel(text, highlight, checked); | 242 container->AddCheckableLabel(text, highlight, checked); |
243 scroll_content()->AddChildView(container); | 243 scroll_content()->AddChildView(container); |
244 return container; | 244 return container; |
245 } | 245 } |
246 | 246 |
247 void AccessibilityDetailedView::HandleViewClicked(views::View* view) { | 247 void AccessibilityDetailedView::OnViewClicked(views::View* sender) { |
248 AccessibilityDelegate* delegate = WmShell::Get()->accessibility_delegate(); | 248 AccessibilityDelegate* delegate = WmShell::Get()->accessibility_delegate(); |
249 if (view == spoken_feedback_view_) { | 249 if (sender == footer()->content()) { |
| 250 TransitionToDefaultView(); |
| 251 } else if (sender == spoken_feedback_view_) { |
250 WmShell::Get()->RecordUserMetricsAction( | 252 WmShell::Get()->RecordUserMetricsAction( |
251 delegate->IsSpokenFeedbackEnabled() | 253 delegate->IsSpokenFeedbackEnabled() |
252 ? ash::UMA_STATUS_AREA_DISABLE_SPOKEN_FEEDBACK | 254 ? ash::UMA_STATUS_AREA_DISABLE_SPOKEN_FEEDBACK |
253 : ash::UMA_STATUS_AREA_ENABLE_SPOKEN_FEEDBACK); | 255 : ash::UMA_STATUS_AREA_ENABLE_SPOKEN_FEEDBACK); |
254 delegate->ToggleSpokenFeedback(A11Y_NOTIFICATION_NONE); | 256 delegate->ToggleSpokenFeedback(A11Y_NOTIFICATION_NONE); |
255 } else if (view == high_contrast_view_) { | 257 } else if (sender == high_contrast_view_) { |
256 WmShell::Get()->RecordUserMetricsAction( | 258 WmShell::Get()->RecordUserMetricsAction( |
257 delegate->IsHighContrastEnabled() | 259 delegate->IsHighContrastEnabled() |
258 ? ash::UMA_STATUS_AREA_DISABLE_HIGH_CONTRAST | 260 ? ash::UMA_STATUS_AREA_DISABLE_HIGH_CONTRAST |
259 : ash::UMA_STATUS_AREA_ENABLE_HIGH_CONTRAST); | 261 : ash::UMA_STATUS_AREA_ENABLE_HIGH_CONTRAST); |
260 delegate->ToggleHighContrast(); | 262 delegate->ToggleHighContrast(); |
261 } else if (view == screen_magnifier_view_) { | 263 } else if (sender == screen_magnifier_view_) { |
262 WmShell::Get()->RecordUserMetricsAction( | 264 WmShell::Get()->RecordUserMetricsAction( |
263 delegate->IsMagnifierEnabled() ? ash::UMA_STATUS_AREA_DISABLE_MAGNIFIER | 265 delegate->IsMagnifierEnabled() ? ash::UMA_STATUS_AREA_DISABLE_MAGNIFIER |
264 : ash::UMA_STATUS_AREA_ENABLE_MAGNIFIER); | 266 : ash::UMA_STATUS_AREA_ENABLE_MAGNIFIER); |
265 delegate->SetMagnifierEnabled(!delegate->IsMagnifierEnabled()); | 267 delegate->SetMagnifierEnabled(!delegate->IsMagnifierEnabled()); |
266 } else if (large_cursor_view_ && view == large_cursor_view_) { | 268 } else if (large_cursor_view_ && sender == large_cursor_view_) { |
267 WmShell::Get()->RecordUserMetricsAction( | 269 WmShell::Get()->RecordUserMetricsAction( |
268 delegate->IsLargeCursorEnabled() | 270 delegate->IsLargeCursorEnabled() |
269 ? ash::UMA_STATUS_AREA_DISABLE_LARGE_CURSOR | 271 ? ash::UMA_STATUS_AREA_DISABLE_LARGE_CURSOR |
270 : ash::UMA_STATUS_AREA_ENABLE_LARGE_CURSOR); | 272 : ash::UMA_STATUS_AREA_ENABLE_LARGE_CURSOR); |
271 delegate->SetLargeCursorEnabled(!delegate->IsLargeCursorEnabled()); | 273 delegate->SetLargeCursorEnabled(!delegate->IsLargeCursorEnabled()); |
272 } else if (autoclick_view_ && view == autoclick_view_) { | 274 } else if (autoclick_view_ && sender == autoclick_view_) { |
273 WmShell::Get()->RecordUserMetricsAction( | 275 WmShell::Get()->RecordUserMetricsAction( |
274 delegate->IsAutoclickEnabled() | 276 delegate->IsAutoclickEnabled() |
275 ? ash::UMA_STATUS_AREA_DISABLE_AUTO_CLICK | 277 ? ash::UMA_STATUS_AREA_DISABLE_AUTO_CLICK |
276 : ash::UMA_STATUS_AREA_ENABLE_AUTO_CLICK); | 278 : ash::UMA_STATUS_AREA_ENABLE_AUTO_CLICK); |
277 delegate->SetAutoclickEnabled(!delegate->IsAutoclickEnabled()); | 279 delegate->SetAutoclickEnabled(!delegate->IsAutoclickEnabled()); |
278 } else if (virtual_keyboard_view_ && view == virtual_keyboard_view_) { | 280 } else if (virtual_keyboard_view_ && sender == virtual_keyboard_view_) { |
279 WmShell::Get()->RecordUserMetricsAction( | 281 WmShell::Get()->RecordUserMetricsAction( |
280 delegate->IsVirtualKeyboardEnabled() | 282 delegate->IsVirtualKeyboardEnabled() |
281 ? ash::UMA_STATUS_AREA_DISABLE_VIRTUAL_KEYBOARD | 283 ? ash::UMA_STATUS_AREA_DISABLE_VIRTUAL_KEYBOARD |
282 : ash::UMA_STATUS_AREA_ENABLE_VIRTUAL_KEYBOARD); | 284 : ash::UMA_STATUS_AREA_ENABLE_VIRTUAL_KEYBOARD); |
283 delegate->SetVirtualKeyboardEnabled(!delegate->IsVirtualKeyboardEnabled()); | 285 delegate->SetVirtualKeyboardEnabled(!delegate->IsVirtualKeyboardEnabled()); |
284 } | 286 } |
285 } | 287 } |
286 | 288 |
287 void AccessibilityDetailedView::HandleButtonPressed(views::Button* sender, | 289 void AccessibilityDetailedView::ButtonPressed(views::Button* sender, |
288 const ui::Event& event) { | 290 const ui::Event& event) { |
289 SystemTrayDelegate* tray_delegate = WmShell::Get()->system_tray_delegate(); | 291 SystemTrayDelegate* tray_delegate = WmShell::Get()->system_tray_delegate(); |
290 if (sender == help_view_) | 292 if (sender == help_view_) |
291 tray_delegate->ShowAccessibilityHelp(); | 293 tray_delegate->ShowAccessibilityHelp(); |
292 else if (sender == settings_view_) | 294 else if (sender == settings_view_) |
293 tray_delegate->ShowAccessibilitySettings(); | 295 tray_delegate->ShowAccessibilitySettings(); |
294 } | 296 } |
295 | 297 |
296 } // namespace tray | 298 } // namespace tray |
297 | 299 |
298 //////////////////////////////////////////////////////////////////////////////// | 300 //////////////////////////////////////////////////////////////////////////////// |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 if (detailed_popup_) | 417 if (detailed_popup_) |
416 detailed_popup_->GetWidget()->Close(); | 418 detailed_popup_->GetWidget()->Close(); |
417 if (detailed_menu_) | 419 if (detailed_menu_) |
418 detailed_menu_->GetWidget()->Close(); | 420 detailed_menu_->GetWidget()->Close(); |
419 } | 421 } |
420 | 422 |
421 previous_accessibility_state_ = accessibility_state; | 423 previous_accessibility_state_ = accessibility_state; |
422 } | 424 } |
423 | 425 |
424 } // namespace ash | 426 } // namespace ash |
OLD | NEW |