diff options
author | 2022-10-17 14:38:24 -0700 | |
---|---|---|
committer | 2022-10-17 14:38:24 -0700 | |
commit | dca99f35e938bebdfdad16eaabd220b5d52c2375 (patch) | |
tree | ae2a4b827654f3f3d8e1c1b6735ea699e70d2d6a /native/src | |
parent | 69e288cad1fef83e1fde18225af63b38e0eed534 (diff) | |
download | iced-dca99f35e938bebdfdad16eaabd220b5d52c2375.tar.gz iced-dca99f35e938bebdfdad16eaabd220b5d52c2375.tar.bz2 iced-dca99f35e938bebdfdad16eaabd220b5d52c2375.zip |
Fix pane grid mouse interactions
- Use `grabbing` interaction while dragging
- Ignore grab interaction when dragging is disabled
Diffstat (limited to 'native/src')
-rw-r--r-- | native/src/widget/pane_grid.rs | 3 | ||||
-rw-r--r-- | native/src/widget/pane_grid/content.rs | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs index d84fb7a0..8eadac48 100644 --- a/native/src/widget/pane_grid.rs +++ b/native/src/widget/pane_grid.rs @@ -341,6 +341,7 @@ where cursor_position, viewport, renderer, + self.on_drag.is_some(), ) }) .max() @@ -648,7 +649,7 @@ pub fn mouse_interaction( resize_leeway: Option<u16>, ) -> Option<mouse::Interaction> { if action.picked_pane().is_some() { - return Some(mouse::Interaction::Grab); + return Some(mouse::Interaction::Grabbing); } let resize_axis = diff --git a/native/src/widget/pane_grid/content.rs b/native/src/widget/pane_grid/content.rs index 8d26c3d8..c236d820 100644 --- a/native/src/widget/pane_grid/content.rs +++ b/native/src/widget/pane_grid/content.rs @@ -238,6 +238,7 @@ where cursor_position: Point, viewport: &Rectangle, renderer: &Renderer, + drag_enabled: bool, ) -> mouse::Interaction { let (body_layout, title_bar_interaction) = if let Some(title_bar) = &self.title_bar { @@ -247,7 +248,7 @@ where let is_over_pick_area = title_bar .is_over_pick_area(title_bar_layout, cursor_position); - if is_over_pick_area { + if is_over_pick_area && drag_enabled { return mouse::Interaction::Grab; } |