| 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/accelerators/accelerator_controller.h" | 5 #include "ash/accelerators/accelerator_controller.h" |
| 6 | 6 |
| 7 #include "ash/brightness_control_delegate.h" | 7 #include "ash/brightness_control_delegate.h" |
| 8 #include "ash/caps_lock_delegate.h" | 8 #include "ash/caps_lock_delegate.h" |
| 9 #include "ash/launcher/launcher.h" | 9 #include "ash/launcher/launcher.h" |
| 10 #include "ash/launcher/launcher_model.h" | 10 #include "ash/launcher/launcher_model.h" |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 VOLUME_MUTE, | 39 VOLUME_MUTE, |
| 40 VOLUME_UP, | 40 VOLUME_UP, |
| 41 #if defined(OS_CHROMEOS) | 41 #if defined(OS_CHROMEOS) |
| 42 LOCK_SCREEN, | 42 LOCK_SCREEN, |
| 43 #endif | 43 #endif |
| 44 #if !defined(NDEBUG) | 44 #if !defined(NDEBUG) |
| 45 PRINT_LAYER_HIERARCHY, | 45 PRINT_LAYER_HIERARCHY, |
| 46 PRINT_WINDOW_HIERARCHY, | 46 PRINT_WINDOW_HIERARCHY, |
| 47 ROTATE_SCREEN, | 47 ROTATE_SCREEN, |
| 48 TOGGLE_COMPACT_WINDOW_MODE, | 48 TOGGLE_COMPACT_WINDOW_MODE, |
| 49 TOGGLE_DESKTOP_BACKGROUND_MODE, |
| 49 TOGGLE_ROOT_WINDOW_FULL_SCREEN, | 50 TOGGLE_ROOT_WINDOW_FULL_SCREEN, |
| 50 #endif | 51 #endif |
| 51 }; | 52 }; |
| 52 | 53 |
| 53 // Accelerators handled by AcceleratorController. | 54 // Accelerators handled by AcceleratorController. |
| 54 struct AcceleratorData { | 55 struct AcceleratorData { |
| 55 ui::KeyboardCode keycode; | 56 ui::KeyboardCode keycode; |
| 56 bool shift; | 57 bool shift; |
| 57 bool ctrl; | 58 bool ctrl; |
| 58 bool alt; | 59 bool alt; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 77 { ui::VKEY_F7, false, false, false, BRIGHTNESS_UP }, | 78 { ui::VKEY_F7, false, false, false, BRIGHTNESS_UP }, |
| 78 { ui::VKEY_F8, false, false, false, VOLUME_MUTE }, | 79 { ui::VKEY_F8, false, false, false, VOLUME_MUTE }, |
| 79 { ui::VKEY_VOLUME_MUTE, false, false, false, VOLUME_MUTE }, | 80 { ui::VKEY_VOLUME_MUTE, false, false, false, VOLUME_MUTE }, |
| 80 { ui::VKEY_F9, false, false, false, VOLUME_DOWN }, | 81 { ui::VKEY_F9, false, false, false, VOLUME_DOWN }, |
| 81 { ui::VKEY_VOLUME_DOWN, false, false, false, VOLUME_DOWN }, | 82 { ui::VKEY_VOLUME_DOWN, false, false, false, VOLUME_DOWN }, |
| 82 { ui::VKEY_F10, false, false, false, VOLUME_UP }, | 83 { ui::VKEY_F10, false, false, false, VOLUME_UP }, |
| 83 { ui::VKEY_VOLUME_UP, false, false, false, VOLUME_UP }, | 84 { ui::VKEY_VOLUME_UP, false, false, false, VOLUME_UP }, |
| 84 #if !defined(NDEBUG) | 85 #if !defined(NDEBUG) |
| 85 { ui::VKEY_HOME, false, true, false, ROTATE_SCREEN }, | 86 { ui::VKEY_HOME, false, true, false, ROTATE_SCREEN }, |
| 86 { ui::VKEY_A, false, true, true, TOGGLE_COMPACT_WINDOW_MODE }, | 87 { ui::VKEY_A, false, true, true, TOGGLE_COMPACT_WINDOW_MODE }, |
| 88 { ui::VKEY_B, false, true, true, TOGGLE_DESKTOP_BACKGROUND_MODE }, |
| 87 { ui::VKEY_F11, false, true, false, TOGGLE_ROOT_WINDOW_FULL_SCREEN }, | 89 { ui::VKEY_F11, false, true, false, TOGGLE_ROOT_WINDOW_FULL_SCREEN }, |
| 88 { ui::VKEY_L, false, false, true, PRINT_LAYER_HIERARCHY }, | 90 { ui::VKEY_L, false, false, true, PRINT_LAYER_HIERARCHY }, |
| 89 { ui::VKEY_L, true, false, true, PRINT_WINDOW_HIERARCHY }, | 91 { ui::VKEY_L, true, false, true, PRINT_WINDOW_HIERARCHY }, |
| 90 // For testing on systems where Alt-Tab is already mapped. | 92 // For testing on systems where Alt-Tab is already mapped. |
| 91 { ui::VKEY_W, false, false, true, CYCLE_FORWARD }, | 93 { ui::VKEY_W, false, false, true, CYCLE_FORWARD }, |
| 92 { ui::VKEY_W, true, false, true, CYCLE_BACKWARD }, | 94 { ui::VKEY_W, true, false, true, CYCLE_BACKWARD }, |
| 93 #endif | 95 #endif |
| 94 }; | 96 }; |
| 95 | 97 |
| 96 bool HandleCycleWindow(ash::WindowCycleController::Direction direction, | 98 bool HandleCycleWindow(ash::WindowCycleController::Direction direction, |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 } | 154 } |
| 153 | 155 |
| 154 bool HandleToggleCompactWindowMode() { | 156 bool HandleToggleCompactWindowMode() { |
| 155 if (ash::Shell::GetInstance()->IsWindowModeCompact()) | 157 if (ash::Shell::GetInstance()->IsWindowModeCompact()) |
| 156 ash::Shell::GetInstance()->ChangeWindowMode(ash::Shell::MODE_OVERLAPPING); | 158 ash::Shell::GetInstance()->ChangeWindowMode(ash::Shell::MODE_OVERLAPPING); |
| 157 else | 159 else |
| 158 ash::Shell::GetInstance()->ChangeWindowMode(ash::Shell::MODE_COMPACT); | 160 ash::Shell::GetInstance()->ChangeWindowMode(ash::Shell::MODE_COMPACT); |
| 159 return true; | 161 return true; |
| 160 } | 162 } |
| 161 | 163 |
| 164 bool HandleToggleDesktopBackgroundMode() { |
| 165 ash::Shell* shell = ash::Shell::GetInstance(); |
| 166 if (shell->desktop_background_mode() == ash::Shell::BACKGROUND_IMAGE) |
| 167 shell->SetDesktopBackgroundMode(ash::Shell::BACKGROUND_SOLID_COLOR); |
| 168 else |
| 169 shell->SetDesktopBackgroundMode(ash::Shell::BACKGROUND_IMAGE); |
| 170 return true; |
| 171 } |
| 172 |
| 162 bool HandleToggleRootWindowFullScreen() { | 173 bool HandleToggleRootWindowFullScreen() { |
| 163 aura::RootWindow::GetInstance()->ToggleFullScreen(); | 174 aura::RootWindow::GetInstance()->ToggleFullScreen(); |
| 164 return true; | 175 return true; |
| 165 } | 176 } |
| 166 | 177 |
| 167 bool HandlePrintLayerHierarchy() { | 178 bool HandlePrintLayerHierarchy() { |
| 168 aura::RootWindow* root_window = aura::RootWindow::GetInstance(); | 179 aura::RootWindow* root_window = aura::RootWindow::GetInstance(); |
| 169 ui::PrintLayerHierarchy(root_window->layer(), | 180 ui::PrintLayerHierarchy(root_window->layer(), |
| 170 root_window->last_mouse_location()); | 181 root_window->last_mouse_location()); |
| 171 return true; | 182 return true; |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 break; | 325 break; |
| 315 case VOLUME_UP: | 326 case VOLUME_UP: |
| 316 if (volume_control_delegate_.get()) | 327 if (volume_control_delegate_.get()) |
| 317 return volume_control_delegate_->HandleVolumeUp(accelerator); | 328 return volume_control_delegate_->HandleVolumeUp(accelerator); |
| 318 break; | 329 break; |
| 319 #if !defined(NDEBUG) | 330 #if !defined(NDEBUG) |
| 320 case ROTATE_SCREEN: | 331 case ROTATE_SCREEN: |
| 321 return HandleRotateScreen(); | 332 return HandleRotateScreen(); |
| 322 case TOGGLE_COMPACT_WINDOW_MODE: | 333 case TOGGLE_COMPACT_WINDOW_MODE: |
| 323 return HandleToggleCompactWindowMode(); | 334 return HandleToggleCompactWindowMode(); |
| 335 case TOGGLE_DESKTOP_BACKGROUND_MODE: |
| 336 return HandleToggleDesktopBackgroundMode(); |
| 324 case TOGGLE_ROOT_WINDOW_FULL_SCREEN: | 337 case TOGGLE_ROOT_WINDOW_FULL_SCREEN: |
| 325 return HandleToggleRootWindowFullScreen(); | 338 return HandleToggleRootWindowFullScreen(); |
| 326 case PRINT_LAYER_HIERARCHY: | 339 case PRINT_LAYER_HIERARCHY: |
| 327 return HandlePrintLayerHierarchy(); | 340 return HandlePrintLayerHierarchy(); |
| 328 case PRINT_WINDOW_HIERARCHY: | 341 case PRINT_WINDOW_HIERARCHY: |
| 329 return HandlePrintWindowHierarchy(); | 342 return HandlePrintWindowHierarchy(); |
| 330 #endif | 343 #endif |
| 331 default: | 344 default: |
| 332 NOTREACHED() << "Unhandled action " << it->second;; | 345 NOTREACHED() << "Unhandled action " << it->second;; |
| 333 } | 346 } |
| 334 return false; | 347 return false; |
| 335 } | 348 } |
| 336 | 349 |
| 337 bool AcceleratorController::CanHandleAccelerators() const { | 350 bool AcceleratorController::CanHandleAccelerators() const { |
| 338 return true; | 351 return true; |
| 339 } | 352 } |
| 340 | 353 |
| 341 } // namespace ash | 354 } // namespace ash |
| OLD | NEW |