-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Code Quality: Fixed keyboard shortcuts when refocusing window #17502
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
cfd737e
to
f88c5dd
Compare
41ce17c
to
16c60a9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes keyboard shortcuts that were not working properly when refocusing the window after clicking empty areas like the toolbar or title bar. The changes implement a pane locking mechanism during layout changes and improve focus management across the application.
- Introduces a pane locking system to prevent focus loss during layout transitions
- Adds pointer event handling to restore focus when clicking empty window areas
- Standardizes focus management by replacing direct control focus calls with centralized pane focus methods
- Automatically closes the layout flyout after selecting a layout option
Reviewed Changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 7 comments.
Show a summary per file
File | Description |
---|---|
ShellPanesPage.xaml.cs | Adds IsActivePaneLocked property and LockActivePane method, updates focus handling logic |
MainPage.xaml.cs | Adds PointerReleased event handler to restore focus when clicking empty areas |
MainPage.xaml | Registers PointerReleased event handler |
BaseLayoutPage.cs | Updates focus restoration logic with conditional pane focus |
ShellViewModel.cs | Locks active pane during layout mode changes |
MainPageViewModel.cs | Replaces direct control focus with centralized pane focus method |
Toolbar.xaml.cs | Adds click handler to hide layout flyout |
Toolbar.xaml | Adds flyout name and click handlers to layout radio buttons |
IShellPanesPage.cs | Adds LockActivePane method to interface |
PreviousTabAction.cs | Replaces direct control focus with centralized pane focus method |
NextTabAction.cs | Replaces direct control focus with centralized pane focus method |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Resolved / Related Issues
To prevent extra work, all changes to the Files codebase must link to an approved issue marked as
Ready to build
. Please insert the issue number following the hashtag with the issue number that this Pull Request resolves.Steps used to test these changes
Stability is a top priority for Files and all changes are required to go through testing before being merged into the repo. Please include a list of steps that you used to test this PR.