gpui: Press enter, space to trigger click to focused element (#35075)

Release Notes:

- N/A

> Any user interaction that is equivalent to a click, such as pressing
the Space key or Enter key while the element is focused. Note that this
only applies to elements with a default key event handler, and
therefore, excludes other elements that have been made focusable by
setting the
[tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/tabindex)
attribute.

https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event

---------

Co-authored-by: Anthony <anthony@zed.dev>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Umesh Yadav <23421535+imumesh18@users.noreply.github.com>
This commit is contained in:
Jason Lee 2025-08-06 06:15:30 +08:00 committed by GitHub
parent b7469f5bc3
commit 0025019db4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 231 additions and 63 deletions

View file

@ -2570,11 +2570,11 @@ impl OutlinePanel {
.on_click({
let clicked_entry = rendered_entry.clone();
cx.listener(move |outline_panel, event: &gpui::ClickEvent, window, cx| {
if event.down.button == MouseButton::Right || event.down.first_mouse {
if event.is_right_click() || event.first_focus() {
return;
}
let change_focus = event.down.click_count > 1;
let change_focus = event.click_count() > 1;
outline_panel.toggle_expanded(&clicked_entry, window, cx);
outline_panel.scroll_editor_to_entry(