summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--native/src/widget/pane_grid/state.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/native/src/widget/pane_grid/state.rs b/native/src/widget/pane_grid/state.rs
index f537c7de..fb59c846 100644
--- a/native/src/widget/pane_grid/state.rs
+++ b/native/src/widget/pane_grid/state.rs
@@ -335,6 +335,7 @@ pub enum Action {
Dragging {
pane: Pane,
origin: Point,
+ focus: Option<Pane>,
},
Resizing {
split: Split,
@@ -362,7 +363,7 @@ impl Internal {
pub fn focused_pane(&self) -> Option<Pane> {
match self.action {
Action::Idle { focus } => focus,
- Action::Dragging { pane, .. } => Some(pane),
+ Action::Dragging { focus, .. } => focus,
Action::Resizing { focus, .. } => focus,
}
}
@@ -376,7 +377,7 @@ impl Internal {
pub fn picked_pane(&self) -> Option<(Pane, Point)> {
match self.action {
- Action::Dragging { pane, origin } => Some((pane, origin)),
+ Action::Dragging { pane, origin, .. } => Some((pane, origin)),
_ => None,
}
}
@@ -409,9 +410,12 @@ impl Internal {
}
pub fn pick_pane(&mut self, pane: &Pane, origin: Point) {
+ let focus = self.focused_pane();
+
self.action = Action::Dragging {
pane: *pane,
origin,
+ focus,
};
}