terminal/src/cascadia/TerminalControl
Leon Liang 61e5917fe8
Allow IME input in Search Box (#4723)
## Summary of the Pull Request
Currently, when the user attempts to type using IME while the Search Box is focused, the input goes to the terminal instead. This is due to the fact that the `TSFInputControl` assumes it's in control whenever TermControl gets focus. So, it'll intercept IME input before the Search Box receives it. We simply need to modify `TermControl::GotFocus` to check if the SearchBox has focus. If it does, `TSFInputControl::NotifyFocusEnter` shouldn't be called.

As a small side fix, I've also disabled the terminal cursor blinking when the Search Box has focus.

Thinking a little further, if we have more features in the future that behave like search box (i.e. advanced tab switcher, or any other XAML controls that pop up) and require text input, we might need to create a sort of "AnyOtherTextControlInFocus" function to see if TSFInputControl should receive focus or not.

## PR Checklist
* [x] Closes #4434
* [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA
* [x] Tests added/passed

## Validation Steps Performed
Search works as expected with IME. Composition picker appears underneath Search Box when typing IME in the Search Box. Clicking outside of the Search Box still returns control to TSFInputControl/TermControl.

Terminal Cursor blinks when it has focus, and doesn't when the Search Box has focus.
2020-02-26 19:28:01 +00:00
..
Resources Unify resource filenames across the repository (#4642) 2020-02-20 23:51:41 +00:00
init.cpp Fix Search non-blocking follow-ups (#4028) 2019-12-20 17:35:31 -08:00
packages.config Combined changes to make the build work again (see inside) (#2945) 2019-09-30 10:39:55 -07:00
pch.cpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
pch.h Add support for dragging and dropping paths onto the Terminal (#4323) 2020-01-30 20:13:57 +00:00
SearchBoxControl.cpp Fix Search non-blocking follow-ups (#4028) 2019-12-20 17:35:31 -08:00
SearchBoxControl.h Fix Search non-blocking follow-ups (#4028) 2019-12-20 17:35:31 -08:00
SearchBoxControl.idl Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
SearchBoxControl.xaml Fix the search box in High Contrast by using the right theme resources (#4406) 2020-01-30 20:15:19 +00:00
TermControl.cpp Allow IME input in Search Box (#4723) 2020-02-26 19:28:01 +00:00
TermControl.h Fix duplicate copyOnSelect when clicking on an unfocused terminal (#4596) 2020-02-20 18:30:10 +00:00
TermControl.idl Fix scrollbar doesn't update viewport after window resize (#3344) 2020-02-10 23:15:30 +00:00
TermControlAutomationPeer.cpp TermControl: don't use narrow when narrow_cast will do (#4721) 2020-02-25 17:10:07 -08:00
TermControlAutomationPeer.h hook up UIA tree to WPF control (#4548) 2020-02-24 23:17:55 +00:00
TermControlAutomationPeer.idl Attach UiaRenderer and Fire Selection Changed Events (#2989) 2019-12-11 13:52:49 -08:00
TerminalControl.def Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
TerminalControl.vcxproj hook up UIA tree to WPF control (#4548) 2020-02-24 23:17:55 +00:00
TerminalControl.vcxproj.filters Search - add search box control and implement search experience (#3590) 2019-12-17 15:52:37 +00:00
TSFInputControl.cpp Display Emojis, Kaomojis, and symbols while in IME mode (#4688) 2020-02-26 18:36:02 +00:00
TSFInputControl.h Display Emojis, Kaomojis, and symbols while in IME mode (#4688) 2020-02-26 18:36:02 +00:00
TSFInputControl.idl Shut down all controls under a tab before we remove it from the list (#4337) 2020-01-23 22:12:20 +00:00
XamlUiaTextRange.cpp hook up UIA tree to WPF control (#4548) 2020-02-24 23:17:55 +00:00
XamlUiaTextRange.h hook up UIA tree to WPF control (#4548) 2020-02-24 23:17:55 +00:00