fixed merge errors

K Simmons created

Change summary

crates/gpui/src/presenter.rs        |  58 ++++---------
crates/terminal/src/connected_el.rs | 123 +++++++++++++-----------------
crates/workspace/src/pane.rs        |  15 +--
3 files changed, 80 insertions(+), 116 deletions(-)

Detailed changes

crates/gpui/src/presenter.rs 🔗

@@ -284,15 +284,11 @@ impl Presenter {
                     {
                         events_to_send.push((
                             clicked_region.clone(),
-<<<<<<< HEAD
-                            MouseRegionEvent::Drag(*prev_drag_position, *e),
-=======
                             MouseRegionEvent::Drag(DragRegionEvent {
                                 region: clicked_region.bounds,
                                 prev_drag_position: *prev_drag_position,
                                 platform_event: e.clone(),
                             }),
->>>>>>> 4bd8a4b0 (wip tab drag and drop)
                         ));
                     }
 
@@ -313,7 +309,7 @@ impl Presenter {
                 _ => {}
             }
 
-            let (invalidated_views, dispatch_directives, handled) = {
+            let (invalidated_views, handled) = {
                 let mut event_cx = self.handle_hover_events(&event, cx);
                 event_cx.process_region_events(events_to_send);
 
@@ -321,25 +317,9 @@ impl Presenter {
                     event_cx.handled = event_cx.dispatch_event(root_view_id, &event);
                 }
 
-                if let Some(callback) = region.handlers.get(&event.handler_key()) {
-                    event_cx.with_current_view(region.view_id, |event_cx| {
-                        callback(event, event_cx);
-                    })
-                }
-                
-                (
-                    event_cx.invalidated_views,
-                    event_cx.dispatched_actions,
-                    event_cx.handled,
-                )
+                (event_cx.invalidated_views, event_cx.handled)
             };
 
-            if !handled {
-                handled = event_cx.dispatch_event(root_view_id, &event);
-            }
-
-            invalidated_views.extend(event_cx.invalidated_views);
-
             for view_id in invalidated_views {
                 cx.notify_view(self.window_id, view_id);
             }
@@ -400,23 +380,23 @@ impl Presenter {
                         }
                     }
                 } else if let Some(region_id) = region.id() {
-                        if self.hovered_region_ids.contains(&region_id) {
-                            let region_event = if pressed_button.is_some() {
-                                MouseRegionEvent::DragOver(DragOverRegionEvent {
-                                    region: region.bounds,
-                                    started: false,
-                                    platform_event: e.clone(),
-                                })
-                            } else {
-                                MouseRegionEvent::Hover(HoverRegionEvent {
-                                    region: region.bounds,
-                                    started: false,
-                                    platform_event: e.clone(),
-                                })
-                            };
-                            events_to_send.push((region.clone(), region_event));
-                            self.hovered_region_ids.remove(&region_id);
-                        }
+                    if self.hovered_region_ids.contains(&region_id) {
+                        let region_event = if pressed_button.is_some() {
+                            MouseRegionEvent::DragOver(DragOverRegionEvent {
+                                region: region.bounds,
+                                started: false,
+                                platform_event: e.clone(),
+                            })
+                        } else {
+                            MouseRegionEvent::Hover(HoverRegionEvent {
+                                region: region.bounds,
+                                started: false,
+                                platform_event: e.clone(),
+                            })
+                        };
+                        events_to_send.push((region.clone(), region_event));
+                        self.hovered_region_ids.remove(&region_id);
+                    }
                 }
             }
         }

crates/terminal/src/connected_el.rs 🔗

@@ -421,75 +421,60 @@ impl TerminalEl {
         let drag_connection = self.terminal;
         cx.scene.push_mouse_region(
             MouseRegion::new(view_id, None, visible_bounds)
-                .on_down(
-                    MouseButton::Left,
-                    move |MouseButtonEvent { position, .. }, cx| {
-                        if let Some(conn_handle) = mouse_down_connection.upgrade(cx.app) {
-                            conn_handle.update(cx.app, |terminal, cx| {
-                                let (point, side) = TerminalEl::mouse_to_cell_data(
-                                    position,
-                                    origin,
-                                    cur_size,
-                                    display_offset,
-                                );
-
-                                terminal.mouse_down(point, side);
-
-                                cx.notify();
-                            })
-                        }
-                    },
-                )
-                .on_click(
-                    MouseButton::Left,
-                    move |MouseButtonEvent {
-                              position,
-                              click_count,
-                              ..
-                          },
-                          cx| {
-                        cx.focus_parent_view();
-                        if let Some(conn_handle) = click_connection.upgrade(cx.app) {
-                            conn_handle.update(cx.app, |terminal, cx| {
-                                let (point, side) = TerminalEl::mouse_to_cell_data(
-                                    position,
-                                    origin,
-                                    cur_size,
-                                    display_offset,
-                                );
-
-                                terminal.click(point, side, click_count);
-
-                                cx.notify();
-                            });
-                        }
-                    },
-                )
-                .on_click(
-                    MouseButton::Right,
-                    move |MouseButtonEvent { position, .. }, cx| {
-                        cx.dispatch_action(DeployContextMenu { position });
-                    },
-                )
-                .on_drag(
-                    MouseButton::Left,
-                    move |_, MouseMovedEvent { position, .. }, cx| {
-                        if let Some(conn_handle) = drag_connection.upgrade(cx.app) {
-                            conn_handle.update(cx.app, |terminal, cx| {
-                                let (point, side) = TerminalEl::mouse_to_cell_data(
-                                    position,
-                                    origin,
-                                    cur_size,
-                                    display_offset,
-                                );
-
-                                terminal.drag(point, side);
-
-                                cx.notify()
-                            });
-                        }
-                    },
-                ),
+                .on_down(MouseButton::Left, move |e, cx| {
+                    if let Some(conn_handle) = mouse_down_connection.upgrade(cx.app) {
+                        conn_handle.update(cx.app, |terminal, cx| {
+                            let (point, side) = TerminalEl::mouse_to_cell_data(
+                                e.position,
+                                origin,
+                                cur_size,
+                                display_offset,
+                            );
+
+                            terminal.mouse_down(point, side);
+
+                            cx.notify();
+                        })
+                    }
+                })
+                .on_click(MouseButton::Left, move |e, cx| {
+                    cx.focus_parent_view();
+                    if let Some(conn_handle) = click_connection.upgrade(cx.app) {
+                        conn_handle.update(cx.app, |terminal, cx| {
+                            let (point, side) = TerminalEl::mouse_to_cell_data(
+                                e.position,
+                                origin,
+                                cur_size,
+                                display_offset,
+                            );
+
+                            terminal.click(point, side, e.click_count);
+
+                            cx.notify();
+                        });
+                    }
+                })
+                .on_click(MouseButton::Right, move |e, cx| {
+                    cx.dispatch_action(DeployContextMenu {
+                        position: e.position,
+                    });
+                })
+                .on_drag(MouseButton::Left, move |e, cx| {
+                    if let Some(conn_handle) = drag_connection.upgrade(cx.app) {
+                        conn_handle.update(cx.app, |terminal, cx| {
+                            let (point, side) = TerminalEl::mouse_to_cell_data(
+                                e.position,
+                                origin,
+                                cur_size,
+                                display_offset,
+                            );
+
+                            terminal.drag(point, side);
+
+                            cx.notify()
+                        });
+                    }
+                }),
         );
     }
 

crates/workspace/src/pane.rs 🔗

@@ -14,8 +14,8 @@ use gpui::{
     impl_actions, impl_internal_actions,
     platform::{CursorStyle, NavigationDirection},
     AnyViewHandle, AnyWeakViewHandle, AppContext, AsyncAppContext, Entity, EventContext,
-    ModelHandle, MouseButton, MouseButtonEvent, MutableAppContext, PromptLevel, Quad,
-    RenderContext, Task, View, ViewContext, ViewHandle, WeakViewHandle,
+    ModelHandle, MouseButton, MutableAppContext, PromptLevel, Quad, RenderContext, Task, View,
+    ViewContext, ViewHandle, WeakViewHandle,
 };
 use project::{Project, ProjectEntryId, ProjectPath};
 use serde::Deserialize;
@@ -1143,12 +1143,11 @@ impl View for Pane {
                                         },
                                     )
                                     .with_cursor_style(CursorStyle::PointingHand)
-                                    .on_down(
-                                        MouseButton::Left,
-                                        |MouseButtonEvent { position, .. }, cx| {
-                                            cx.dispatch_action(DeployNewMenu { position });
-                                        },
-                                    )
+                                    .on_down(MouseButton::Left, |e, cx| {
+                                        cx.dispatch_action(DeployNewMenu {
+                                            position: e.position,
+                                        });
+                                    })
                                     .boxed(),
                                     MouseEventHandler::new::<SplitIcon, _, _>(
                                         1,