Focus project panel on directory select

This commit is contained in:
Kirill Bulatov 2023-07-22 02:24:46 +03:00
parent dcaf8a9af8
commit f05095a6dd
6 changed files with 184 additions and 95 deletions

View file

@ -174,6 +174,7 @@ pub enum Event {
NewSearchInDirectory {
dir_entry: Entry,
},
ActivatePanel,
}
#[derive(Serialize, Deserialize)]
@ -200,6 +201,9 @@ impl ProjectPanel {
cx.notify();
}
}
project::Event::ActivateProjectPanel => {
cx.emit(Event::ActivatePanel);
}
project::Event::WorktreeRemoved(id) => {
this.expanded_dir_ids.remove(id);
this.update_visible_entries(None, cx);
@ -1014,7 +1018,10 @@ impl ProjectPanel {
None
}
fn selected_entry<'a>(&self, cx: &'a AppContext) -> Option<(&'a Worktree, &'a project::Entry)> {
pub fn selected_entry<'a>(
&self,
cx: &'a AppContext,
) -> Option<(&'a Worktree, &'a project::Entry)> {
let (worktree, entry) = self.selected_entry_handle(cx)?;
Some((worktree.read(cx), entry))
}