| 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 <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 | 326 |
| 327 #endif // !defined(NDEBUG) | 327 #endif // !defined(NDEBUG) |
| 328 | 328 |
| 329 } // namespace | 329 } // namespace |
| 330 | 330 |
| 331 //////////////////////////////////////////////////////////////////////////////// | 331 //////////////////////////////////////////////////////////////////////////////// |
| 332 // AcceleratorController, public: | 332 // AcceleratorController, public: |
| 333 | 333 |
| 334 AcceleratorController::AcceleratorController() | 334 AcceleratorController::AcceleratorController() |
| 335 : accelerator_manager_(new ui::AcceleratorManager), | 335 : accelerator_manager_(new ui::AcceleratorManager), |
| 336 toggle_maximized_suppressed_(false) { | 336 toggle_maximized_suppressed_(false), |
| 337 cycle_backward_linear_suppressed_(false), |
| 338 cycle_forward_linear_suppressed_(false) { |
| 337 Init(); | 339 Init(); |
| 338 } | 340 } |
| 339 | 341 |
| 340 AcceleratorController::~AcceleratorController() { | 342 AcceleratorController::~AcceleratorController() { |
| 341 } | 343 } |
| 342 | 344 |
| 343 void AcceleratorController::Init() { | 345 void AcceleratorController::Init() { |
| 344 for (size_t i = 0; i < kActionsAllowedAtLoginOrLockScreenLength; ++i) { | 346 for (size_t i = 0; i < kActionsAllowedAtLoginOrLockScreenLength; ++i) { |
| 345 actions_allowed_at_login_screen_.insert( | 347 actions_allowed_at_login_screen_.insert( |
| 346 kActionsAllowedAtLoginOrLockScreen[i]); | 348 kActionsAllowedAtLoginOrLockScreen[i]); |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 434 case CYCLE_BACKWARD_MRU: | 436 case CYCLE_BACKWARD_MRU: |
| 435 if (key_code == ui::VKEY_TAB && shell->delegate()) | 437 if (key_code == ui::VKEY_TAB && shell->delegate()) |
| 436 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_TAB); | 438 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_TAB); |
| 437 return HandleCycleWindowMRU(WindowCycleController::BACKWARD, | 439 return HandleCycleWindowMRU(WindowCycleController::BACKWARD, |
| 438 accelerator.IsAltDown()); | 440 accelerator.IsAltDown()); |
| 439 case CYCLE_FORWARD_MRU: | 441 case CYCLE_FORWARD_MRU: |
| 440 if (key_code == ui::VKEY_TAB && shell->delegate()) | 442 if (key_code == ui::VKEY_TAB && shell->delegate()) |
| 441 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_TAB); | 443 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_TAB); |
| 442 return HandleCycleWindowMRU(WindowCycleController::FORWARD, | 444 return HandleCycleWindowMRU(WindowCycleController::FORWARD, |
| 443 accelerator.IsAltDown()); | 445 accelerator.IsAltDown()); |
| 444 case CYCLE_BACKWARD_LINEAR: | 446 case CYCLE_BACKWARD_LINEAR_PRESSED: |
| 447 if (cycle_backward_linear_suppressed_) |
| 448 return true; |
| 449 cycle_backward_linear_suppressed_ = true; |
| 445 if (key_code == ui::VKEY_F5 && shell->delegate()) | 450 if (key_code == ui::VKEY_F5 && shell->delegate()) |
| 446 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_F5); | 451 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_F5); |
| 447 HandleCycleWindowLinear(CYCLE_BACKWARD); | 452 HandleCycleWindowLinear(CYCLE_BACKWARD); |
| 448 return true; | 453 return true; |
| 449 case CYCLE_FORWARD_LINEAR: | 454 case CYCLE_BACKWARD_LINEAR_RELEASED: |
| 455 cycle_backward_linear_suppressed_ = false; |
| 456 return true; |
| 457 case CYCLE_FORWARD_LINEAR_PRESSED: |
| 458 if (cycle_forward_linear_suppressed_) |
| 459 return true; |
| 460 cycle_forward_linear_suppressed_ = true; |
| 450 if (key_code == ui::VKEY_F5 && shell->delegate()) | 461 if (key_code == ui::VKEY_F5 && shell->delegate()) |
| 451 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_F5); | 462 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_F5); |
| 452 HandleCycleWindowLinear(CYCLE_FORWARD); | 463 HandleCycleWindowLinear(CYCLE_FORWARD); |
| 453 return true; | 464 return true; |
| 465 case CYCLE_FORWARD_LINEAR_RELEASED: |
| 466 cycle_forward_linear_suppressed_ = false; |
| 467 return true; |
| 454 #if defined(OS_CHROMEOS) | 468 #if defined(OS_CHROMEOS) |
| 455 case CYCLE_DISPLAY_MODE: | 469 case CYCLE_DISPLAY_MODE: |
| 456 HandleCycleDisplayMode(); | 470 HandleCycleDisplayMode(); |
| 457 return true; | 471 return true; |
| 458 case LOCK_SCREEN: | 472 case LOCK_SCREEN: |
| 459 return HandleLock(); | 473 return HandleLock(); |
| 460 case OPEN_FILE_MANAGER_DIALOG: | 474 case OPEN_FILE_MANAGER_DIALOG: |
| 461 return HandleFileManager(true /* as_dialog */); | 475 return HandleFileManager(true /* as_dialog */); |
| 462 case OPEN_FILE_MANAGER_TAB: | 476 case OPEN_FILE_MANAGER_TAB: |
| 463 return HandleFileManager(false /* as_dialog */); | 477 return HandleFileManager(false /* as_dialog */); |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 829 accelerators_.insert( | 843 accelerators_.insert( |
| 830 std::make_pair(accelerator, accelerators[i].action)); | 844 std::make_pair(accelerator, accelerators[i].action)); |
| 831 } | 845 } |
| 832 } | 846 } |
| 833 | 847 |
| 834 bool AcceleratorController::CanHandleAccelerators() const { | 848 bool AcceleratorController::CanHandleAccelerators() const { |
| 835 return true; | 849 return true; |
| 836 } | 850 } |
| 837 | 851 |
| 838 } // namespace ash | 852 } // namespace ash |
| OLD | NEW |