From 233aac557391cb92422b99e8dd9b93e836f22b56 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Wed, 29 Nov 2023 09:42:54 -0800 Subject: [PATCH] Make DismissEvent a unit struct Co-authored-by: Conrad --- crates/auto_update2/src/update_notification.rs | 2 +- .../collab_ui2/src/collab_panel/contact_finder.rs | 2 +- crates/command_palette2/src/command_palette.rs | 2 +- crates/file_finder2/src/file_finder.rs | 6 ++---- crates/go_to_line2/src/go_to_line.rs | 6 +++--- crates/gpui2/src/app/async_context.rs | 5 ++--- crates/gpui2/src/app/test_context.rs | 2 +- crates/gpui2/src/window.rs | 8 +++----- crates/project_panel2/src/project_panel.rs | 8 +++----- crates/ui2/src/components/context_menu.rs | 15 ++++++--------- crates/workspace2/src/notifications.rs | 8 +++----- 11 files changed, 26 insertions(+), 38 deletions(-) diff --git a/crates/auto_update2/src/update_notification.rs b/crates/auto_update2/src/update_notification.rs index d15d82e112..4a2efcf807 100644 --- a/crates/auto_update2/src/update_notification.rs +++ b/crates/auto_update2/src/update_notification.rs @@ -51,6 +51,6 @@ impl UpdateNotification { } pub fn dismiss(&mut self, cx: &mut ViewContext) { - cx.emit(DismissEvent::Dismiss); + cx.emit(DismissEvent); } } diff --git a/crates/collab_ui2/src/collab_panel/contact_finder.rs b/crates/collab_ui2/src/collab_panel/contact_finder.rs index 48453ada72..3701b070d9 100644 --- a/crates/collab_ui2/src/collab_panel/contact_finder.rs +++ b/crates/collab_ui2/src/collab_panel/contact_finder.rs @@ -161,7 +161,7 @@ impl PickerDelegate for ContactFinderDelegate { fn dismissed(&mut self, cx: &mut ViewContext>) { //cx.emit(PickerEvent::Dismiss); self.parent - .update(cx, |_, cx| cx.emit(DismissEvent::Dismiss)) + .update(cx, |_, cx| cx.emit(DismissEvent)) .log_err(); } diff --git a/crates/command_palette2/src/command_palette.rs b/crates/command_palette2/src/command_palette.rs index 076a2625a1..cf39b4f29b 100644 --- a/crates/command_palette2/src/command_palette.rs +++ b/crates/command_palette2/src/command_palette.rs @@ -267,7 +267,7 @@ impl PickerDelegate for CommandPaletteDelegate { fn dismissed(&mut self, cx: &mut ViewContext>) { self.command_palette - .update(cx, |_, cx| cx.emit(DismissEvent::Dismiss)) + .update(cx, |_, cx| cx.emit(DismissEvent)) .log_err(); } diff --git a/crates/file_finder2/src/file_finder.rs b/crates/file_finder2/src/file_finder.rs index 2f7b26dfb5..a24da580eb 100644 --- a/crates/file_finder2/src/file_finder.rs +++ b/crates/file_finder2/src/file_finder.rs @@ -687,9 +687,7 @@ impl PickerDelegate for FileFinderDelegate { .log_err(); } } - finder - .update(&mut cx, |_, cx| cx.emit(DismissEvent::Dismiss)) - .ok()?; + finder.update(&mut cx, |_, cx| cx.emit(DismissEvent)).ok()?; Some(()) }) @@ -700,7 +698,7 @@ impl PickerDelegate for FileFinderDelegate { fn dismissed(&mut self, cx: &mut ViewContext>) { self.file_finder - .update(cx, |_, cx| cx.emit(DismissEvent::Dismiss)) + .update(cx, |_, cx| cx.emit(DismissEvent)) .log_err(); } diff --git a/crates/go_to_line2/src/go_to_line.rs b/crates/go_to_line2/src/go_to_line.rs index c734281d22..5ad95c1f6e 100644 --- a/crates/go_to_line2/src/go_to_line.rs +++ b/crates/go_to_line2/src/go_to_line.rs @@ -90,7 +90,7 @@ impl GoToLine { ) { match event { // todo!() this isn't working... - editor::EditorEvent::Blurred => cx.emit(DismissEvent::Dismiss), + editor::EditorEvent::Blurred => cx.emit(DismissEvent), editor::EditorEvent::BufferEdited { .. } => self.highlight_current_line(cx), _ => {} } @@ -125,7 +125,7 @@ impl GoToLine { } fn cancel(&mut self, _: &menu::Cancel, cx: &mut ViewContext) { - cx.emit(DismissEvent::Dismiss); + cx.emit(DismissEvent); } fn confirm(&mut self, _: &menu::Confirm, cx: &mut ViewContext) { @@ -142,7 +142,7 @@ impl GoToLine { self.prev_scroll_position.take(); } - cx.emit(DismissEvent::Dismiss); + cx.emit(DismissEvent); } } diff --git a/crates/gpui2/src/app/async_context.rs b/crates/gpui2/src/app/async_context.rs index 11420bee69..92ccc118f1 100644 --- a/crates/gpui2/src/app/async_context.rs +++ b/crates/gpui2/src/app/async_context.rs @@ -325,8 +325,7 @@ impl VisualContext for AsyncWindowContext { where V: crate::ManagedView, { - self.window.update(self, |_, cx| { - view.update(cx, |_, cx| cx.emit(DismissEvent::Dismiss)) - }) + self.window + .update(self, |_, cx| view.update(cx, |_, cx| cx.emit(DismissEvent))) } } diff --git a/crates/gpui2/src/app/test_context.rs b/crates/gpui2/src/app/test_context.rs index 71bc8e3d81..9637720a67 100644 --- a/crates/gpui2/src/app/test_context.rs +++ b/crates/gpui2/src/app/test_context.rs @@ -611,7 +611,7 @@ impl<'a> VisualContext for VisualTestContext<'a> { { self.window .update(self.cx, |_, cx| { - view.update(cx, |_, cx| cx.emit(crate::DismissEvent::Dismiss)) + view.update(cx, |_, cx| cx.emit(crate::DismissEvent)) }) .unwrap() } diff --git a/crates/gpui2/src/window.rs b/crates/gpui2/src/window.rs index 862b2f5643..f8326e9df8 100644 --- a/crates/gpui2/src/window.rs +++ b/crates/gpui2/src/window.rs @@ -197,9 +197,7 @@ pub trait ManagedView: FocusableView + EventEmitter {} impl> ManagedView for M {} -pub enum DismissEvent { - Dismiss, -} +pub struct DismissEvent; // Holds the state for a specific window. pub struct Window { @@ -1701,7 +1699,7 @@ impl VisualContext for WindowContext<'_> { where V: ManagedView, { - self.update_view(view, |_, cx| cx.emit(DismissEvent::Dismiss)) + self.update_view(view, |_, cx| cx.emit(DismissEvent)) } } @@ -2405,7 +2403,7 @@ impl<'a, V: 'static> ViewContext<'a, V> { where V: ManagedView, { - self.defer(|_, cx| cx.emit(DismissEvent::Dismiss)) + self.defer(|_, cx| cx.emit(DismissEvent)) } pub fn listener( diff --git a/crates/project_panel2/src/project_panel.rs b/crates/project_panel2/src/project_panel.rs index 88b9a9c28c..594c2d8e03 100644 --- a/crates/project_panel2/src/project_panel.rs +++ b/crates/project_panel2/src/project_panel.rs @@ -448,11 +448,9 @@ impl ProjectPanel { }); cx.focus_view(&context_menu); - let subscription = cx.subscribe(&context_menu, |this, _, event, cx| match event { - DismissEvent::Dismiss => { - this.context_menu.take(); - cx.notify(); - } + let subscription = cx.subscribe(&context_menu, |this, _, _: &DismissEvent, cx| { + this.context_menu.take(); + cx.notify(); }); self.context_menu = Some((context_menu, position, subscription)); } diff --git a/crates/ui2/src/components/context_menu.rs b/crates/ui2/src/components/context_menu.rs index b446bc5f3d..3772fb1bd2 100644 --- a/crates/ui2/src/components/context_menu.rs +++ b/crates/ui2/src/components/context_menu.rs @@ -94,11 +94,11 @@ impl ContextMenu { { (handler)(cx) } - cx.emit(DismissEvent::Dismiss); + cx.emit(DismissEvent); } pub fn cancel(&mut self, _: &menu::Cancel, cx: &mut ViewContext) { - cx.emit(DismissEvent::Dismiss); + cx.emit(DismissEvent); } fn select_first(&mut self, _: &SelectFirst, cx: &mut ViewContext) { @@ -181,8 +181,7 @@ impl Render for ContextMenu { key_binding, } => { let callback = callback.clone(); - let dismiss = - cx.listener(|_, _, cx| cx.emit(DismissEvent::Dismiss)); + let dismiss = cx.listener(|_, _, cx| cx.emit(DismissEvent)); ListItem::new(entry.clone()) .child( @@ -348,11 +347,9 @@ impl Element for MenuHandle { let new_menu = (builder)(cx); let menu2 = menu.clone(); - cx.subscribe(&new_menu, move |_modal, e, cx| match e { - &DismissEvent::Dismiss => { - *menu2.borrow_mut() = None; - cx.notify(); - } + cx.subscribe(&new_menu, move |_modal, _: &DismissEvent, cx| { + *menu2.borrow_mut() = None; + cx.notify(); }) .detach(); cx.focus_view(&new_menu); diff --git a/crates/workspace2/src/notifications.rs b/crates/workspace2/src/notifications.rs index def13c518e..eacf3d288a 100644 --- a/crates/workspace2/src/notifications.rs +++ b/crates/workspace2/src/notifications.rs @@ -106,10 +106,8 @@ impl Workspace { let notification = build_notification(cx); cx.subscribe( ¬ification, - move |this, handle, event: &DismissEvent, cx| match event { - DismissEvent::Dismiss => { - this.dismiss_notification_internal(type_id, id, cx); - } + move |this, handle, event: &DismissEvent, cx| { + this.dismiss_notification_internal(type_id, id, cx); }, ) .detach(); @@ -260,7 +258,7 @@ pub mod simple_message_notification { } pub fn dismiss(&mut self, cx: &mut ViewContext) { - cx.emit(DismissEvent::Dismiss); + cx.emit(DismissEvent); } }