Change summary
crates/recent_projects2/src/recent_projects.rs | 5 ++++-
crates/vcs_menu2/src/lib.rs | 9 +++++++--
2 files changed, 11 insertions(+), 3 deletions(-)
Detailed changes
@@ -76,7 +76,10 @@ impl RecentProjects {
let delegate =
RecentProjectsDelegate::new(weak_workspace, workspace_locations, true);
- RecentProjects::new(delegate, cx)
+ let modal = RecentProjects::new(delegate, cx);
+ cx.subscribe(&modal.picker, |_, _, _, cx| cx.emit(DismissEvent))
+ .detach();
+ modal
});
} else {
workspace.show_notification(0, cx, |cx| {
@@ -65,8 +65,13 @@ impl ModalBranchList {
) -> Result<()> {
// Modal branch picker has a longer trailoff than a popover one.
let delegate = BranchListDelegate::new(workspace, cx.view().clone(), 70, cx)?;
- workspace.toggle_modal(cx, |cx| ModalBranchList {
- picker: cx.build_view(|cx| Picker::new(delegate, cx)),
+ workspace.toggle_modal(cx, |cx| {
+ let modal = ModalBranchList {
+ picker: cx.build_view(|cx| Picker::new(delegate, cx)),
+ };
+ cx.subscribe(&modal.picker, |_, _, _, cx| cx.emit(DismissEvent))
+ .detach();
+ modal
});
Ok(())