From 802256fce6e2665af3b333e4e43c1e51168694d4 Mon Sep 17 00:00:00 2001 From: Federico Lolli <federico.lolli@skywarder.eu> Date: Thu, 7 Nov 2024 18:49:55 +0100 Subject: [PATCH] Updated pane splitting to consider the hovered plane in the new split layout --- src/ui/composable_view.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ui/composable_view.rs b/src/ui/composable_view.rs index ea72859..cbada0e 100644 --- a/src/ui/composable_view.rs +++ b/src/ui/composable_view.rs @@ -56,7 +56,8 @@ impl eframe::App for ComposableView { if let Some((action, hovered_tile)) = pane_action.take() { match action { PaneAction::SplitH => { - let left_pane = self.tree.tiles.insert_pane(Pane::default()); + let hovered_tile_pane = self.tree.tiles.remove(hovered_tile).unwrap(); + let left_pane = self.tree.tiles.insert_new(hovered_tile_pane); let right_pane = self.tree.tiles.insert_pane(Pane::default()); self.tree.tiles.insert( hovered_tile, @@ -68,13 +69,14 @@ impl eframe::App for ComposableView { ); } PaneAction::SplitV => { - let upper_pane = self.tree.tiles.insert_pane(Pane::default()); + let hovered_tile_pane = self.tree.tiles.remove(hovered_tile).unwrap(); + let replaced = self.tree.tiles.insert_new(hovered_tile_pane); let lower_pane = self.tree.tiles.insert_pane(Pane::default()); self.tree.tiles.insert( hovered_tile, Tile::Container(Container::Linear(Linear::new_binary( LinearDir::Vertical, - [upper_pane, lower_pane], + [replaced, lower_pane], 0.5, ))), ); -- GitLab