Refactor and fix format

This commit is contained in:
Mikayla Maki 2023-05-08 17:31:36 -07:00
parent 49335d017a
commit fa049bea6e
No known key found for this signature in database
2 changed files with 13 additions and 20 deletions

View file

@ -147,14 +147,7 @@ impl SerializedPaneGroup {
} else {
let pane = pane.upgrade(cx)?;
workspace
.update(cx, |workspace, cx| {
workspace.panes.retain(|p| p != &pane);
cx.focus(workspace.panes.last().unwrap());
if workspace.last_active_center_pane == Some(pane.downgrade()) {
workspace.last_active_center_pane = None;
}
cx.notify();
})
.update(cx, |workspace, cx| workspace.force_remove_pane(&pane, cx))
.log_err()?;
None
}

View file

@ -1743,16 +1743,12 @@ impl Workspace {
fn remove_pane(&mut self, pane: ViewHandle<Pane>, cx: &mut ViewContext<Self>) {
if self.center.remove(&pane).unwrap() {
self.panes.retain(|p| p != &pane);
cx.focus(self.panes.last().unwrap());
self.force_remove_pane(&pane, cx);
self.unfollow(&pane, cx);
self.last_leaders_by_pane.remove(&pane.downgrade());
for removed_item in pane.read(cx).items() {
self.panes_by_item.remove(&removed_item.id());
}
if self.last_active_center_pane == Some(pane.downgrade()) {
self.last_active_center_pane = None;
}
cx.notify();
} else {
@ -2460,16 +2456,20 @@ impl Workspace {
}
}
Member::Pane(pane) => {
self.panes.retain(|p| p != &pane);
cx.focus(self.panes.last().unwrap());
if self.last_active_center_pane == Some(pane.downgrade()) {
self.last_active_center_pane = None;
}
cx.notify();
},
self.force_remove_pane(&pane, cx);
}
}
}
fn force_remove_pane(&mut self, pane: &ViewHandle<Pane>, cx: &mut ViewContext<Workspace>) {
self.panes.retain(|p| p != pane);
cx.focus(self.panes.last().unwrap());
if self.last_active_center_pane == Some(pane.downgrade()) {
self.last_active_center_pane = None;
}
cx.notify();
}
fn serialize_workspace(&self, cx: &AppContext) {
fn serialize_pane_handle(
pane_handle: &ViewHandle<Pane>,