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 "chrome/browser/chromeos/input_method/input_method_manager_impl.h" | 5 #include "chrome/browser/chromeos/input_method/input_method_manager_impl.h" |
6 | 6 |
7 #include <algorithm> // std::find | 7 #include <algorithm> // std::find |
8 | 8 |
9 #include "ash/ime/input_method_menu_item.h" | 9 #include "ash/ime/input_method_menu_item.h" |
10 #include "ash/ime/input_method_menu_manager.h" | 10 #include "ash/ime/input_method_menu_manager.h" |
(...skipping 625 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
636 if (initial_input_method_id.empty()) { | 636 if (initial_input_method_id.empty()) { |
637 // If kPreferredKeyboardLayout is not specified, use the hardware layout. | 637 // If kPreferredKeyboardLayout is not specified, use the hardware layout. |
638 input_methods_to_be_enabled = util_.GetHardwareLoginInputMethodIds(); | 638 input_methods_to_be_enabled = util_.GetHardwareLoginInputMethodIds(); |
639 } else { | 639 } else { |
640 input_methods_to_be_enabled.push_back(initial_input_method_id); | 640 input_methods_to_be_enabled.push_back(initial_input_method_id); |
641 } | 641 } |
642 EnableLoginLayouts(locale, input_methods_to_be_enabled); | 642 EnableLoginLayouts(locale, input_methods_to_be_enabled); |
643 } | 643 } |
644 } | 644 } |
645 | 645 |
646 bool InputMethodManagerImpl::SwitchToNextInputMethod() { | 646 void InputMethodManagerImpl::SwitchToNextInputMethod() { |
647 // Sanity checks. | 647 // Sanity checks. |
648 if (active_input_method_ids_.empty()) { | 648 if (active_input_method_ids_.empty()) { |
649 DVLOG(1) << "active input method is empty"; | 649 DVLOG(1) << "active input method is empty"; |
650 return false; | 650 return; |
651 } | 651 } |
652 | 652 |
653 if (current_input_method_.id().empty()) { | 653 if (current_input_method_.id().empty()) { |
654 DVLOG(1) << "current_input_method_ is unknown"; | 654 DVLOG(1) << "current_input_method_ is unknown"; |
655 return false; | 655 return; |
656 } | 656 } |
657 | 657 |
658 // Do not consume key event if there is only one input method is enabled. | 658 // Do not consume key event if there is only one input method is enabled. |
659 // Ctrl+Space or Alt+Shift may be used by other application. | 659 // Ctrl+Space or Alt+Shift may be used by other application. |
660 if (active_input_method_ids_.size() == 1) | 660 if (active_input_method_ids_.size() == 1) |
661 return false; | 661 return; |
662 | 662 |
663 // Find the next input method and switch to it. | 663 // Find the next input method and switch to it. |
664 SwitchToNextInputMethodInternal(active_input_method_ids_, | 664 SwitchToNextInputMethodInternal(active_input_method_ids_, |
665 current_input_method_.id()); | 665 current_input_method_.id()); |
666 return true; | 666 return; |
Shu Chen
2014/06/24 00:48:49
This return is unnecessary.
Seigo Nonaka
2014/06/24 04:35:01
Done.
| |
667 } | 667 } |
668 | 668 |
669 bool InputMethodManagerImpl::SwitchToPreviousInputMethod( | 669 bool InputMethodManagerImpl::SwitchToPreviousInputMethod( |
670 const ui::Accelerator& accelerator) { | 670 const ui::Accelerator& accelerator) { |
671 // Sanity check. | 671 // Sanity check. |
672 if (active_input_method_ids_.empty()) { | 672 if (active_input_method_ids_.empty()) { |
673 DVLOG(1) << "active input method is empty"; | 673 DVLOG(1) << "active input method is empty"; |
674 return false; | 674 return false; |
675 } | 675 } |
676 | 676 |
677 // Do not consume key event if there is only one input method is enabled. | 677 // Do not consume key event if there is only one input method is enabled. |
678 // Ctrl+Space or Alt+Shift may be used by other application. | 678 // Ctrl+Space or Alt+Shift may be used by other application. |
679 if (active_input_method_ids_.size() == 1) | 679 if (active_input_method_ids_.size() == 1) |
680 return false; | 680 return false; |
681 | 681 |
682 if (accelerator.type() == ui::ET_KEY_RELEASED) | 682 if (accelerator.type() == ui::ET_KEY_RELEASED) |
683 return true; | 683 return true; |
684 | 684 |
685 if (previous_input_method_.id().empty() || | 685 if (previous_input_method_.id().empty() || |
686 previous_input_method_.id() == current_input_method_.id()) { | 686 previous_input_method_.id() == current_input_method_.id()) { |
687 return SwitchToNextInputMethod(); | 687 SwitchToNextInputMethod(); |
688 return true; | |
688 } | 689 } |
689 | 690 |
690 std::vector<std::string>::const_iterator iter = | 691 std::vector<std::string>::const_iterator iter = |
691 std::find(active_input_method_ids_.begin(), | 692 std::find(active_input_method_ids_.begin(), |
692 active_input_method_ids_.end(), | 693 active_input_method_ids_.end(), |
693 previous_input_method_.id()); | 694 previous_input_method_.id()); |
694 if (iter == active_input_method_ids_.end()) { | 695 if (iter == active_input_method_ids_.end()) { |
695 // previous_input_method_ is not supported. | 696 // previous_input_method_ is not supported. |
696 return SwitchToNextInputMethod(); | 697 SwitchToNextInputMethod(); |
698 return true; | |
697 } | 699 } |
698 ChangeInputMethodInternal(*iter, true); | 700 ChangeInputMethodInternal(*iter, true); |
699 return true; | 701 return true; |
700 } | 702 } |
701 | 703 |
702 bool InputMethodManagerImpl::SwitchInputMethod( | 704 bool InputMethodManagerImpl::SwitchInputMethod( |
703 const ui::Accelerator& accelerator) { | 705 const ui::Accelerator& accelerator) { |
704 // Sanity check. | 706 // Sanity check. |
705 if (active_input_method_ids_.empty()) { | 707 if (active_input_method_ids_.empty()) { |
706 DVLOG(1) << "active input method is empty"; | 708 DVLOG(1) << "active input method is empty"; |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
913 CandidateWindowController::CreateCandidateWindowController()); | 915 CandidateWindowController::CreateCandidateWindowController()); |
914 candidate_window_controller_->AddObserver(this); | 916 candidate_window_controller_->AddObserver(this); |
915 } | 917 } |
916 | 918 |
917 Profile* InputMethodManagerImpl::GetProfile() const { | 919 Profile* InputMethodManagerImpl::GetProfile() const { |
918 return ProfileManager::GetActiveUserProfile(); | 920 return ProfileManager::GetActiveUserProfile(); |
919 } | 921 } |
920 | 922 |
921 } // namespace input_method | 923 } // namespace input_method |
922 } // namespace chromeos | 924 } // namespace chromeos |
OLD | NEW |