From 8b23193f8f9904355ccebe15fd3c0bb4137df162 Mon Sep 17 00:00:00 2001 From: Floyd Wang Date: Wed, 20 Nov 2024 11:24:42 +0800 Subject: [PATCH] dock: Make the panel dock open state controllable (#429) --- crates/app/src/story_workspace.rs | 6 +++--- crates/ui/src/dock/mod.rs | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/crates/app/src/story_workspace.rs b/crates/app/src/story_workspace.rs index 60045b96..346d3521 100644 --- a/crates/app/src/story_workspace.rs +++ b/crates/app/src/story_workspace.rs @@ -268,9 +268,9 @@ impl StoryWorkspace { _ = dock_area.update(cx, |view, cx| { view.set_version(MAIN_DOCK_AREA.version, cx); view.set_root(dock_item, cx); - view.set_left_dock(left_panels, Some(px(350.)), cx); - view.set_bottom_dock(bottom_panels, Some(px(200.)), cx); - view.set_right_dock(right_panels, Some(px(320.)), cx); + view.set_left_dock(left_panels, Some(px(350.)), true, cx); + view.set_bottom_dock(bottom_panels, Some(px(200.)), true, cx); + view.set_right_dock(right_panels, Some(px(320.)), true, cx); Self::save_state(&view.dump(cx)).unwrap(); }); diff --git a/crates/ui/src/dock/mod.rs b/crates/ui/src/dock/mod.rs index b4205337..24f5a9c4 100644 --- a/crates/ui/src/dock/mod.rs +++ b/crates/ui/src/dock/mod.rs @@ -270,6 +270,7 @@ impl DockArea { &mut self, panel: DockItem, size: Option, + open: bool, cx: &mut ViewContext, ) { self.subscribe_item(&panel, cx); @@ -280,6 +281,7 @@ impl DockArea { dock.set_size(size, cx); } dock.set_panel(panel, cx); + dock.set_open(open, cx); dock })); } @@ -288,6 +290,7 @@ impl DockArea { &mut self, panel: DockItem, size: Option, + open: bool, cx: &mut ViewContext, ) { self.subscribe_item(&panel, cx); @@ -298,6 +301,7 @@ impl DockArea { dock.set_size(size, cx); } dock.set_panel(panel, cx); + dock.set_open(open, cx); dock })); } @@ -306,6 +310,7 @@ impl DockArea { &mut self, panel: DockItem, size: Option, + open: bool, cx: &mut ViewContext, ) { self.subscribe_item(&panel, cx); @@ -316,6 +321,7 @@ impl DockArea { dock.set_size(size, cx); } dock.set_panel(panel, cx); + dock.set_open(open, cx); dock })); }