project_panel: Fix double-click on blank area to create a new file (#40503)
Regressed in https://github.com/zed-industries/zed/pull/38008 Release Notes: - Fixed an issue where double-clicking empty space in the project panel wouldn’t create a new file.
This commit is contained in:
@@ -5463,28 +5463,6 @@ impl Render for ProjectPanel {
|
||||
.on_action(cx.listener(Self::copy))
|
||||
.on_action(cx.listener(Self::paste))
|
||||
.on_action(cx.listener(Self::duplicate))
|
||||
.on_click(cx.listener(|this, event: &gpui::ClickEvent, window, cx| {
|
||||
if event.click_count() > 1
|
||||
&& let Some(entry_id) = this.state.last_worktree_root_id
|
||||
{
|
||||
let project = this.project.read(cx);
|
||||
|
||||
let worktree_id = if let Some(worktree) =
|
||||
project.worktree_for_entry(entry_id, cx)
|
||||
{
|
||||
worktree.read(cx).id()
|
||||
} else {
|
||||
return;
|
||||
};
|
||||
|
||||
this.state.selection = Some(SelectedEntry {
|
||||
worktree_id,
|
||||
entry_id,
|
||||
});
|
||||
|
||||
this.new_file(&NewFile, window, cx);
|
||||
}
|
||||
}))
|
||||
})
|
||||
.when(project.is_local(), |el| {
|
||||
el.on_action(cx.listener(Self::reveal_in_finder))
|
||||
@@ -5819,7 +5797,34 @@ impl Render for ProjectPanel {
|
||||
);
|
||||
}
|
||||
}),
|
||||
),
|
||||
)
|
||||
.when(!project.is_read_only(cx), |el| {
|
||||
el.on_click(cx.listener(
|
||||
|this, event: &gpui::ClickEvent, window, cx| {
|
||||
if event.click_count() > 1
|
||||
&& let Some(entry_id) =
|
||||
this.state.last_worktree_root_id
|
||||
{
|
||||
let project = this.project.read(cx);
|
||||
|
||||
let worktree_id = if let Some(worktree) =
|
||||
project.worktree_for_entry(entry_id, cx)
|
||||
{
|
||||
worktree.read(cx).id()
|
||||
} else {
|
||||
return;
|
||||
};
|
||||
|
||||
this.state.selection = Some(SelectedEntry {
|
||||
worktree_id,
|
||||
entry_id,
|
||||
});
|
||||
|
||||
this.new_file(&NewFile, window, cx);
|
||||
}
|
||||
},
|
||||
))
|
||||
}),
|
||||
)
|
||||
.size_full(),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user