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 <iostream> | 9 #include <iostream> |
10 #include <string> | 10 #include <string> |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 void AcceleratorController::Unregister(const ui::Accelerator& accelerator, | 392 void AcceleratorController::Unregister(const ui::Accelerator& accelerator, |
393 ui::AcceleratorTarget* target) { | 393 ui::AcceleratorTarget* target) { |
394 accelerator_manager_->Unregister(accelerator, target); | 394 accelerator_manager_->Unregister(accelerator, target); |
395 } | 395 } |
396 | 396 |
397 void AcceleratorController::UnregisterAll(ui::AcceleratorTarget* target) { | 397 void AcceleratorController::UnregisterAll(ui::AcceleratorTarget* target) { |
398 accelerator_manager_->UnregisterAll(target); | 398 accelerator_manager_->UnregisterAll(target); |
399 } | 399 } |
400 | 400 |
401 bool AcceleratorController::Process(const ui::Accelerator& accelerator) { | 401 bool AcceleratorController::Process(const ui::Accelerator& accelerator) { |
402 if (ime_control_delegate_.get()) { | 402 if (ime_control_delegate_) { |
403 return accelerator_manager_->Process( | 403 return accelerator_manager_->Process( |
404 ime_control_delegate_->RemapAccelerator(accelerator)); | 404 ime_control_delegate_->RemapAccelerator(accelerator)); |
405 } | 405 } |
406 return accelerator_manager_->Process(accelerator); | 406 return accelerator_manager_->Process(accelerator); |
407 } | 407 } |
408 | 408 |
409 bool AcceleratorController::IsRegistered( | 409 bool AcceleratorController::IsRegistered( |
410 const ui::Accelerator& accelerator) const { | 410 const ui::Accelerator& accelerator) const { |
411 return accelerator_manager_->GetCurrentTarget(accelerator) != NULL; | 411 return accelerator_manager_->GetCurrentTarget(accelerator) != NULL; |
412 } | 412 } |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
563 Shell::GetInstance()->delegate()->RestoreTab(); | 563 Shell::GetInstance()->delegate()->RestoreTab(); |
564 return true; | 564 return true; |
565 case TAKE_SCREENSHOT: | 565 case TAKE_SCREENSHOT: |
566 if (screenshot_delegate_.get() && | 566 if (screenshot_delegate_.get() && |
567 screenshot_delegate_->CanTakeScreenshot()) { | 567 screenshot_delegate_->CanTakeScreenshot()) { |
568 screenshot_delegate_->HandleTakeScreenshotForAllRootWindows(); | 568 screenshot_delegate_->HandleTakeScreenshotForAllRootWindows(); |
569 } | 569 } |
570 // Return true to prevent propagation of the key event. | 570 // Return true to prevent propagation of the key event. |
571 return true; | 571 return true; |
572 case TAKE_PARTIAL_SCREENSHOT: | 572 case TAKE_PARTIAL_SCREENSHOT: |
573 if (screenshot_delegate_.get()) { | 573 if (screenshot_delegate_) { |
574 ash::PartialScreenshotView::StartPartialScreenshot( | 574 ash::PartialScreenshotView::StartPartialScreenshot( |
575 screenshot_delegate_.get()); | 575 screenshot_delegate_.get()); |
576 } | 576 } |
577 // Return true to prevent propagation of the key event because | 577 // Return true to prevent propagation of the key event because |
578 // this key combination is reserved for partial screenshot. | 578 // this key combination is reserved for partial screenshot. |
579 return true; | 579 return true; |
580 case TOGGLE_APP_LIST: | 580 case TOGGLE_APP_LIST: |
581 // If something else was pressed between the Search key (LWIN) | 581 // If something else was pressed between the Search key (LWIN) |
582 // being pressed and released, then ignore the release of the | 582 // being pressed and released, then ignore the release of the |
583 // Search key. | 583 // Search key. |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
615 // being pressed and released, then ignore the release of the | 615 // being pressed and released, then ignore the release of the |
616 // Search key. | 616 // Search key. |
617 // TODO(danakj): Releasing Alt first breaks this: crbug.com/166495 | 617 // TODO(danakj): Releasing Alt first breaks this: crbug.com/166495 |
618 if (previous_event_type == ui::ET_KEY_RELEASED || | 618 if (previous_event_type == ui::ET_KEY_RELEASED || |
619 previous_key_code != ui::VKEY_LWIN) | 619 previous_key_code != ui::VKEY_LWIN) |
620 return false; | 620 return false; |
621 } | 621 } |
622 shell->caps_lock_delegate()->ToggleCapsLock(); | 622 shell->caps_lock_delegate()->ToggleCapsLock(); |
623 return true; | 623 return true; |
624 case BRIGHTNESS_DOWN: | 624 case BRIGHTNESS_DOWN: |
625 if (brightness_control_delegate_.get()) | 625 if (brightness_control_delegate_) |
626 return brightness_control_delegate_->HandleBrightnessDown(accelerator); | 626 return brightness_control_delegate_->HandleBrightnessDown(accelerator); |
627 break; | 627 break; |
628 case BRIGHTNESS_UP: | 628 case BRIGHTNESS_UP: |
629 if (brightness_control_delegate_.get()) | 629 if (brightness_control_delegate_) |
630 return brightness_control_delegate_->HandleBrightnessUp(accelerator); | 630 return brightness_control_delegate_->HandleBrightnessUp(accelerator); |
631 break; | 631 break; |
632 case KEYBOARD_BRIGHTNESS_DOWN: | 632 case KEYBOARD_BRIGHTNESS_DOWN: |
633 if (keyboard_brightness_control_delegate_.get()) | 633 if (keyboard_brightness_control_delegate_) |
634 return keyboard_brightness_control_delegate_-> | 634 return keyboard_brightness_control_delegate_-> |
635 HandleKeyboardBrightnessDown(accelerator); | 635 HandleKeyboardBrightnessDown(accelerator); |
636 break; | 636 break; |
637 case KEYBOARD_BRIGHTNESS_UP: | 637 case KEYBOARD_BRIGHTNESS_UP: |
638 if (keyboard_brightness_control_delegate_.get()) | 638 if (keyboard_brightness_control_delegate_) |
639 return keyboard_brightness_control_delegate_-> | 639 return keyboard_brightness_control_delegate_-> |
640 HandleKeyboardBrightnessUp(accelerator); | 640 HandleKeyboardBrightnessUp(accelerator); |
641 break; | 641 break; |
642 case VOLUME_MUTE: | 642 case VOLUME_MUTE: |
643 return shell->system_tray_delegate()->GetVolumeControlDelegate()-> | 643 return shell->system_tray_delegate()->GetVolumeControlDelegate()-> |
644 HandleVolumeMute(accelerator); | 644 HandleVolumeMute(accelerator); |
645 break; | 645 break; |
646 case VOLUME_DOWN: | 646 case VOLUME_DOWN: |
647 return shell->system_tray_delegate()->GetVolumeControlDelegate()-> | 647 return shell->system_tray_delegate()->GetVolumeControlDelegate()-> |
648 HandleVolumeDown(accelerator); | 648 HandleVolumeDown(accelerator); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
707 // an IME string and then switch from the IME to the English layout. | 707 // an IME string and then switch from the IME to the English layout. |
708 // This workaround allows the user to trigger NEXT_IME even if the | 708 // This workaround allows the user to trigger NEXT_IME even if the |
709 // user presses Shift+Alt before releasing Enter. | 709 // user presses Shift+Alt before releasing Enter. |
710 // TODO(nona|mazda): Fix crbug.com/139556 in a cleaner way. | 710 // TODO(nona|mazda): Fix crbug.com/139556 in a cleaner way. |
711 previous_key_code != ui::VKEY_RETURN && | 711 previous_key_code != ui::VKEY_RETURN && |
712 previous_key_code != ui::VKEY_SPACE) { | 712 previous_key_code != ui::VKEY_SPACE) { |
713 // We totally ignore this accelerator. | 713 // We totally ignore this accelerator. |
714 // TODO(mazda): Fix crbug.com/158217 | 714 // TODO(mazda): Fix crbug.com/158217 |
715 return false; | 715 return false; |
716 } | 716 } |
717 if (ime_control_delegate_.get()) | 717 if (ime_control_delegate_) |
718 return ime_control_delegate_->HandleNextIme(); | 718 return ime_control_delegate_->HandleNextIme(); |
719 break; | 719 break; |
720 case PREVIOUS_IME: | 720 case PREVIOUS_IME: |
721 if (ime_control_delegate_.get()) | 721 if (ime_control_delegate_) |
722 return ime_control_delegate_->HandlePreviousIme(); | 722 return ime_control_delegate_->HandlePreviousIme(); |
723 break; | 723 break; |
724 case PRINT_UI_HIERARCHIES: | 724 case PRINT_UI_HIERARCHIES: |
725 return HandlePrintUIHierarchies(); | 725 return HandlePrintUIHierarchies(); |
726 case SWITCH_IME: | 726 case SWITCH_IME: |
727 if (ime_control_delegate_.get()) | 727 if (ime_control_delegate_) |
728 return ime_control_delegate_->HandleSwitchIme(accelerator); | 728 return ime_control_delegate_->HandleSwitchIme(accelerator); |
729 break; | 729 break; |
730 case SELECT_WIN_0: | 730 case SELECT_WIN_0: |
731 Launcher::ForPrimaryDisplay()->SwitchToWindow(0); | 731 Launcher::ForPrimaryDisplay()->SwitchToWindow(0); |
732 return true; | 732 return true; |
733 case SELECT_WIN_1: | 733 case SELECT_WIN_1: |
734 Launcher::ForPrimaryDisplay()->SwitchToWindow(1); | 734 Launcher::ForPrimaryDisplay()->SwitchToWindow(1); |
735 return true; | 735 return true; |
736 case SELECT_WIN_2: | 736 case SELECT_WIN_2: |
737 Launcher::ForPrimaryDisplay()->SwitchToWindow(2); | 737 Launcher::ForPrimaryDisplay()->SwitchToWindow(2); |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
915 keyboard_brightness_control_delegate) { | 915 keyboard_brightness_control_delegate) { |
916 keyboard_brightness_control_delegate_ = | 916 keyboard_brightness_control_delegate_ = |
917 keyboard_brightness_control_delegate.Pass(); | 917 keyboard_brightness_control_delegate.Pass(); |
918 } | 918 } |
919 | 919 |
920 bool AcceleratorController::CanHandleAccelerators() const { | 920 bool AcceleratorController::CanHandleAccelerators() const { |
921 return true; | 921 return true; |
922 } | 922 } |
923 | 923 |
924 } // namespace ash | 924 } // namespace ash |
OLD | NEW |