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