diff --git a/crates/project_panel/src/project_panel.rs b/crates/project_panel/src/project_panel.rs index 03a85f74f3..a02b2e20a8 100644 --- a/crates/project_panel/src/project_panel.rs +++ b/crates/project_panel/src/project_panel.rs @@ -281,6 +281,7 @@ impl ProjectPanel { let focus_handle = cx.focus_handle(); cx.on_focus(&focus_handle, Self::focus_in).detach(); cx.on_focus_out(&focus_handle, |this, _, cx| { + this.focus_out(cx); this.hide_scrollbar(cx); }) .detach(); @@ -595,6 +596,12 @@ impl ProjectPanel { } } + fn focus_out(&mut self, cx: &mut ViewContext) { + if !self.focus_handle.is_focused(cx) { + self.confirm(&Confirm, cx); + } + } + fn deploy_context_menu( &mut self, position: Point,