@@ -28,6 +28,7 @@ impl TerminalPanel {
workspace.app_state().background_actions,
cx,
);
+ pane.set_can_split(false, cx);
pane.on_can_drop(move |drag_and_drop, cx| {
drag_and_drop
.currently_dragged::<DraggedItem>(window_id)
@@ -149,6 +149,7 @@ pub struct Pane {
workspace: WeakViewHandle<Workspace>,
has_focus: bool,
can_drop: Rc<dyn Fn(&DragAndDrop<Workspace>, &WindowContext) -> bool>,
+ can_split: bool,
}
pub struct ItemNavHistory {
@@ -255,6 +256,7 @@ impl Pane {
workspace,
has_focus: false,
can_drop: Rc::new(|_, _| true),
+ can_split: true,
}
}
@@ -282,6 +284,11 @@ impl Pane {
self.can_drop = Rc::new(can_drop);
}
+ pub fn set_can_split(&mut self, can_split: bool, cx: &mut ViewContext<Self>) {
+ self.can_split = can_split;
+ cx.notify();
+ }
+
pub fn nav_history_for_item<T: Item>(&self, item: &ViewHandle<T>) -> ItemNavHistory {
ItemNavHistory {
history: self.nav_history.clone(),
@@ -1563,8 +1570,8 @@ impl View for Pane {
self,
0,
self.active_item_index + 1,
- false,
- Some(100.),
+ !self.can_split,
+ if self.can_split { Some(100.) } else { None },
cx,
{
let toolbar = self.toolbar.clone();