diff --git a/src/ui/composable_view.rs b/src/ui/composable_view.rs index ea72859576c0459e86b8c049f6b3d6b8b77eb637..cbada0e41c34592599449c33c6c60488f667e9a6 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, ))), );