Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Includes the following changes:
Ctrl+Tab/Ctrl+Shift+Tab to switch tabs.
This is implemented as a KeyboardAccelerator.
In order to get down-level RS2 devices to work, it is also implemented as a KeyDown handler behind a platform check. When WinUI 3 is available, we could remove the KeyDown implementation, since KeyboardAccelerator would be available everywhere.
Also updated the existing Ctrl+F4 behavior to use KeyDown on RS2.
Left/Right Arrow Navigation between tabs and '+' Button
This is enabled with XYFocusKeyboardNavigation. However, this hit an issue due to the fact that the tabs slightly overlap by 1px to get the desired visuals. This results in unusual 2d navigation: Up/Down would always navigate to a tab to the left of the right. A fix for this was added TabView::OnListViewGettingFocus to detect when this was happening and block it in the case of Keyboard (up/down should go nowhere) and forward focus elsewhere in the case of Gamepad.
High Contrast Fix
Updates selected tab color so that it is visible in High Contrast mode.
Added test cases for Keyboard and GamePad navigation
Middle Click closes tabs
Closes #1142