Fix channel dragging
Max Brunsfeld
,
Conrad
, and
Joseph
created
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Joseph <joseph@zed.dev>
Change summary
crates/collab_ui/src/collab_panel.rs | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
Detailed changes
@@ -2143,7 +2143,7 @@ impl CollabPanel {
.on_up(MouseButton::Left, move |_, this, cx| {
if let Some((_, dragged_channel)) = cx
.global::<DragAndDrop<Workspace>>()
- .currently_dragged::<Arc<Channel>>(cx.window())
+ .currently_dragged::<Channel>(cx.window())
{
this.channel_store
.update(cx, |channel_store, cx| {
@@ -2155,20 +2155,18 @@ impl CollabPanel {
.on_move({
let channel = channel.clone();
move |_, this, cx| {
- if let Some((_, dragged_channel_id)) = cx
+ if let Some((_, dragged_channel)) = cx
.global::<DragAndDrop<Workspace>>()
- .currently_dragged::<ChannelId>(cx.window())
+ .currently_dragged::<Channel>(cx.window())
{
- if this.drag_target_channel != Some(*dragged_channel_id) {
+ if channel.id != dragged_channel.id {
this.drag_target_channel = Some(channel.id);
- } else {
- this.drag_target_channel = None;
}
cx.notify()
}
}
})
- .as_draggable(
+ .as_draggable::<_, Channel>(
channel.clone(),
move |_, channel, cx: &mut ViewContext<Workspace>| {
let theme = &theme::current(cx).collab_panel;