recent_projects: Fix built-in prompt not capturing focus when removing remote servers (#60965)
Fixes the issues where using the zed builtin prompt when removing wsl/ssh remote servers did not capture focus and caused input to be passed to the existing picker/editor. Closes #60840. # Objective The objective of this fix was to make the remote server removal prompts work correctly, capture focus, when using keyboard navigation to remove a server or wsl distro. The fix was created directly to address #60840. ## Solution The solution here is quite simple, we remove the forced, focus lines, that attempt for the context to capture the new prompt window. The oringal additional call to `cx.focus` was entirely unnecessary and was duplicated from the original ssh remote server addition, into the wsl distro addition. This behaviour and the correct deferal is handled by the receivers invocation upon the execution of the listitem. ## Testing I tested these changes manually, however this is incredibly easy to reproduce, and is entirely platform agnostic. Simply add a testing distro to the list, and then attempt to remove that distro by going into its settings and removing the sever/distro. Then use the keybinds to attempt to navigate. Prior to this PR, this would cause you to interact with the editor behind the prompt, but now correclty directs actions/inputs to the prompt window. ## Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [ ] Unsafe blocks (if any) have justifying comments - [x] The content adheres to Zed's UI standards ([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) and [icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md) guidelines) - [ ] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable --- Release Notes: - Fixed remote server removal prompts not capturing keyboard focus. Signed-off-by: Counterfit IQ <logicye@proton.me> Co-authored-by: dino <dinojoaocosta@gmail.com>
This commit is contained in:
1 parent
a55d12e05a
commit
b9364a77e9
1 file changed
-4
@@ -2723,7 +2723,6 @@ impl RemoteServerProjects {
|
||||
let distro_name = distro_name.clone();
|
||||
move |_, _: &menu::Confirm, window, cx| {
|
||||
remove_wsl_distro(cx.entity(), index, distro_name.clone(), window, cx);
|
||||
cx.focus_self(window);
|
||||
}
|
||||
}))
|
||||
.child(
|
||||
@@ -2735,7 +2734,6 @@ impl RemoteServerProjects {
|
||||
.child(Label::new("Remove Distro").color(Color::Error))
|
||||
.on_click(cx.listener(move |_, _, window, cx| {
|
||||
remove_wsl_distro(cx.entity(), index, distro_name.clone(), window, cx);
|
||||
cx.focus_self(window);
|
||||
})),
|
||||
)
|
||||
})
|
||||
@@ -2880,7 +2878,6 @@ impl RemoteServerProjects {
|
||||
window,
|
||||
cx,
|
||||
);
|
||||
cx.focus_self(window);
|
||||
}
|
||||
}))
|
||||
.child(
|
||||
@@ -2898,7 +2895,6 @@ impl RemoteServerProjects {
|
||||
window,
|
||||
cx,
|
||||
);
|
||||
cx.focus_self(window);
|
||||
})),
|
||||
)
|
||||
})
|
||||
|
||||
Reference in new issue
Block a user