diff options
author | 2021-07-28 15:47:13 +0700 | |
---|---|---|
committer | 2021-07-28 15:47:13 +0700 | |
commit | a08e4ebccbb72f9cf6fca01047e0b46a482ca9ea (patch) | |
tree | df1428c36082dc455581f36a523c1f79c1a7399f /native/src/widget/pane_grid.rs | |
parent | 258621025958ef60d71ad4c4da4fbd8882675ddb (diff) | |
parent | 6618c6bdd9633133623a70e948cd8a0dd5fc71aa (diff) | |
download | iced-a08e4ebccbb72f9cf6fca01047e0b46a482ca9ea.tar.gz iced-a08e4ebccbb72f9cf6fca01047e0b46a482ca9ea.tar.bz2 iced-a08e4ebccbb72f9cf6fca01047e0b46a482ca9ea.zip |
Merge pull request #971 from tarkah/fix/pane-dragging-overlay
fix: allow titlebar overlays to close when dragging pane
Diffstat (limited to 'native/src/widget/pane_grid.rs')
-rw-r--r-- | native/src/widget/pane_grid.rs | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs index b72172cc..26a72409 100644 --- a/native/src/widget/pane_grid.rs +++ b/native/src/widget/pane_grid.rs @@ -452,24 +452,25 @@ where _ => {} } - if self.state.picked_pane().is_none() { - self.elements - .iter_mut() - .zip(layout.children()) - .map(|((_, pane), layout)| { - pane.on_event( - event.clone(), - layout, - cursor_position, - renderer, - clipboard, - messages, - ) - }) - .fold(event_status, event::Status::merge) - } else { - event::Status::Captured - } + let picked_pane = self.state.picked_pane().map(|(pane, _)| pane); + + self.elements + .iter_mut() + .zip(layout.children()) + .map(|((pane, content), layout)| { + let is_picked = picked_pane == Some(*pane); + + content.on_event( + event.clone(), + layout, + cursor_position, + renderer, + clipboard, + messages, + is_picked, + ) + }) + .fold(event_status, event::Status::merge) } fn draw( |