Make DismissEvent a unit struct
Co-authored-by: Conrad <conrad@zed.dev>
This commit is contained in:
parent
ac34229118
commit
233aac5573
11 changed files with 26 additions and 38 deletions
|
@ -51,6 +51,6 @@ impl UpdateNotification {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn dismiss(&mut self, cx: &mut ViewContext<Self>) {
|
pub fn dismiss(&mut self, cx: &mut ViewContext<Self>) {
|
||||||
cx.emit(DismissEvent::Dismiss);
|
cx.emit(DismissEvent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,7 +161,7 @@ impl PickerDelegate for ContactFinderDelegate {
|
||||||
fn dismissed(&mut self, cx: &mut ViewContext<Picker<Self>>) {
|
fn dismissed(&mut self, cx: &mut ViewContext<Picker<Self>>) {
|
||||||
//cx.emit(PickerEvent::Dismiss);
|
//cx.emit(PickerEvent::Dismiss);
|
||||||
self.parent
|
self.parent
|
||||||
.update(cx, |_, cx| cx.emit(DismissEvent::Dismiss))
|
.update(cx, |_, cx| cx.emit(DismissEvent))
|
||||||
.log_err();
|
.log_err();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -267,7 +267,7 @@ impl PickerDelegate for CommandPaletteDelegate {
|
||||||
|
|
||||||
fn dismissed(&mut self, cx: &mut ViewContext<Picker<Self>>) {
|
fn dismissed(&mut self, cx: &mut ViewContext<Picker<Self>>) {
|
||||||
self.command_palette
|
self.command_palette
|
||||||
.update(cx, |_, cx| cx.emit(DismissEvent::Dismiss))
|
.update(cx, |_, cx| cx.emit(DismissEvent))
|
||||||
.log_err();
|
.log_err();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -687,9 +687,7 @@ impl PickerDelegate for FileFinderDelegate {
|
||||||
.log_err();
|
.log_err();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
finder
|
finder.update(&mut cx, |_, cx| cx.emit(DismissEvent)).ok()?;
|
||||||
.update(&mut cx, |_, cx| cx.emit(DismissEvent::Dismiss))
|
|
||||||
.ok()?;
|
|
||||||
|
|
||||||
Some(())
|
Some(())
|
||||||
})
|
})
|
||||||
|
@ -700,7 +698,7 @@ impl PickerDelegate for FileFinderDelegate {
|
||||||
|
|
||||||
fn dismissed(&mut self, cx: &mut ViewContext<Picker<FileFinderDelegate>>) {
|
fn dismissed(&mut self, cx: &mut ViewContext<Picker<FileFinderDelegate>>) {
|
||||||
self.file_finder
|
self.file_finder
|
||||||
.update(cx, |_, cx| cx.emit(DismissEvent::Dismiss))
|
.update(cx, |_, cx| cx.emit(DismissEvent))
|
||||||
.log_err();
|
.log_err();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ impl GoToLine {
|
||||||
) {
|
) {
|
||||||
match event {
|
match event {
|
||||||
// todo!() this isn't working...
|
// 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),
|
editor::EditorEvent::BufferEdited { .. } => self.highlight_current_line(cx),
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
|
@ -125,7 +125,7 @@ impl GoToLine {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn cancel(&mut self, _: &menu::Cancel, cx: &mut ViewContext<Self>) {
|
fn cancel(&mut self, _: &menu::Cancel, cx: &mut ViewContext<Self>) {
|
||||||
cx.emit(DismissEvent::Dismiss);
|
cx.emit(DismissEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn confirm(&mut self, _: &menu::Confirm, cx: &mut ViewContext<Self>) {
|
fn confirm(&mut self, _: &menu::Confirm, cx: &mut ViewContext<Self>) {
|
||||||
|
@ -142,7 +142,7 @@ impl GoToLine {
|
||||||
self.prev_scroll_position.take();
|
self.prev_scroll_position.take();
|
||||||
}
|
}
|
||||||
|
|
||||||
cx.emit(DismissEvent::Dismiss);
|
cx.emit(DismissEvent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -325,8 +325,7 @@ impl VisualContext for AsyncWindowContext {
|
||||||
where
|
where
|
||||||
V: crate::ManagedView,
|
V: crate::ManagedView,
|
||||||
{
|
{
|
||||||
self.window.update(self, |_, cx| {
|
self.window
|
||||||
view.update(cx, |_, cx| cx.emit(DismissEvent::Dismiss))
|
.update(self, |_, cx| view.update(cx, |_, cx| cx.emit(DismissEvent)))
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -611,7 +611,7 @@ impl<'a> VisualContext for VisualTestContext<'a> {
|
||||||
{
|
{
|
||||||
self.window
|
self.window
|
||||||
.update(self.cx, |_, cx| {
|
.update(self.cx, |_, cx| {
|
||||||
view.update(cx, |_, cx| cx.emit(crate::DismissEvent::Dismiss))
|
view.update(cx, |_, cx| cx.emit(crate::DismissEvent))
|
||||||
})
|
})
|
||||||
.unwrap()
|
.unwrap()
|
||||||
}
|
}
|
||||||
|
|
|
@ -197,9 +197,7 @@ pub trait ManagedView: FocusableView + EventEmitter<DismissEvent> {}
|
||||||
|
|
||||||
impl<M: FocusableView + EventEmitter<DismissEvent>> ManagedView for M {}
|
impl<M: FocusableView + EventEmitter<DismissEvent>> ManagedView for M {}
|
||||||
|
|
||||||
pub enum DismissEvent {
|
pub struct DismissEvent;
|
||||||
Dismiss,
|
|
||||||
}
|
|
||||||
|
|
||||||
// Holds the state for a specific window.
|
// Holds the state for a specific window.
|
||||||
pub struct Window {
|
pub struct Window {
|
||||||
|
@ -1701,7 +1699,7 @@ impl VisualContext for WindowContext<'_> {
|
||||||
where
|
where
|
||||||
V: ManagedView,
|
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
|
where
|
||||||
V: ManagedView,
|
V: ManagedView,
|
||||||
{
|
{
|
||||||
self.defer(|_, cx| cx.emit(DismissEvent::Dismiss))
|
self.defer(|_, cx| cx.emit(DismissEvent))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn listener<E>(
|
pub fn listener<E>(
|
||||||
|
|
|
@ -448,11 +448,9 @@ impl ProjectPanel {
|
||||||
});
|
});
|
||||||
|
|
||||||
cx.focus_view(&context_menu);
|
cx.focus_view(&context_menu);
|
||||||
let subscription = cx.subscribe(&context_menu, |this, _, event, cx| match event {
|
let subscription = cx.subscribe(&context_menu, |this, _, _: &DismissEvent, cx| {
|
||||||
DismissEvent::Dismiss => {
|
this.context_menu.take();
|
||||||
this.context_menu.take();
|
cx.notify();
|
||||||
cx.notify();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
self.context_menu = Some((context_menu, position, subscription));
|
self.context_menu = Some((context_menu, position, subscription));
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,11 +94,11 @@ impl ContextMenu {
|
||||||
{
|
{
|
||||||
(handler)(cx)
|
(handler)(cx)
|
||||||
}
|
}
|
||||||
cx.emit(DismissEvent::Dismiss);
|
cx.emit(DismissEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn cancel(&mut self, _: &menu::Cancel, cx: &mut ViewContext<Self>) {
|
pub fn cancel(&mut self, _: &menu::Cancel, cx: &mut ViewContext<Self>) {
|
||||||
cx.emit(DismissEvent::Dismiss);
|
cx.emit(DismissEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn select_first(&mut self, _: &SelectFirst, cx: &mut ViewContext<Self>) {
|
fn select_first(&mut self, _: &SelectFirst, cx: &mut ViewContext<Self>) {
|
||||||
|
@ -181,8 +181,7 @@ impl Render for ContextMenu {
|
||||||
key_binding,
|
key_binding,
|
||||||
} => {
|
} => {
|
||||||
let callback = callback.clone();
|
let callback = callback.clone();
|
||||||
let dismiss =
|
let dismiss = cx.listener(|_, _, cx| cx.emit(DismissEvent));
|
||||||
cx.listener(|_, _, cx| cx.emit(DismissEvent::Dismiss));
|
|
||||||
|
|
||||||
ListItem::new(entry.clone())
|
ListItem::new(entry.clone())
|
||||||
.child(
|
.child(
|
||||||
|
@ -348,11 +347,9 @@ impl<M: ManagedView> Element for MenuHandle<M> {
|
||||||
|
|
||||||
let new_menu = (builder)(cx);
|
let new_menu = (builder)(cx);
|
||||||
let menu2 = menu.clone();
|
let menu2 = menu.clone();
|
||||||
cx.subscribe(&new_menu, move |_modal, e, cx| match e {
|
cx.subscribe(&new_menu, move |_modal, _: &DismissEvent, cx| {
|
||||||
&DismissEvent::Dismiss => {
|
*menu2.borrow_mut() = None;
|
||||||
*menu2.borrow_mut() = None;
|
cx.notify();
|
||||||
cx.notify();
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
.detach();
|
.detach();
|
||||||
cx.focus_view(&new_menu);
|
cx.focus_view(&new_menu);
|
||||||
|
|
|
@ -106,10 +106,8 @@ impl Workspace {
|
||||||
let notification = build_notification(cx);
|
let notification = build_notification(cx);
|
||||||
cx.subscribe(
|
cx.subscribe(
|
||||||
¬ification,
|
¬ification,
|
||||||
move |this, handle, event: &DismissEvent, cx| match event {
|
move |this, handle, event: &DismissEvent, cx| {
|
||||||
DismissEvent::Dismiss => {
|
this.dismiss_notification_internal(type_id, id, cx);
|
||||||
this.dismiss_notification_internal(type_id, id, cx);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
.detach();
|
.detach();
|
||||||
|
@ -260,7 +258,7 @@ pub mod simple_message_notification {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn dismiss(&mut self, cx: &mut ViewContext<Self>) {
|
pub fn dismiss(&mut self, cx: &mut ViewContext<Self>) {
|
||||||
cx.emit(DismissEvent::Dismiss);
|
cx.emit(DismissEvent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue