Merge pull request #2290 from zed-industries/close-remote-projects-when-leaving-call

Close remote project windows when leaving a call
This commit is contained in:
Max Brunsfeld 2023-03-15 15:34:51 -07:00 committed by GitHub
commit 51eb53be0d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 0 deletions

View file

@ -275,6 +275,7 @@ impl Room {
if let Some(project) = project.upgrade(cx) {
project.update(cx, |project, cx| {
project.disconnected_from_host(cx);
project.close(cx);
});
}
}

View file

@ -175,6 +175,7 @@ pub enum Event {
},
RemoteIdChanged(Option<u64>),
DisconnectedFromHost,
Closed,
CollaboratorUpdated {
old_peer_id: proto::PeerId,
new_peer_id: proto::PeerId,
@ -1172,6 +1173,10 @@ impl Project {
}
}
pub fn close(&mut self, cx: &mut ModelContext<Self>) {
cx.emit(Event::Closed);
}
pub fn is_read_only(&self) -> bool {
match &self.client_state {
Some(ProjectClientState::Remote {

View file

@ -598,6 +598,11 @@ impl Workspace {
cx.blur();
}
project::Event::Closed => {
let window_id = cx.window_id();
cx.remove_window(window_id);
}
_ => {}
}
cx.notify()