Improve styling of bottom and right docks

This commit is contained in:
Antonio Scandurra 2023-05-23 09:02:45 +02:00
parent 208ff2fba7
commit 19b817e48a
3 changed files with 25 additions and 9 deletions

View file

@ -372,11 +372,10 @@ impl Dock {
pub fn render_placeholder(&self, cx: &WindowContext) -> AnyElement<Workspace> {
if let Some(active_entry) = self.active_entry() {
let style = &settings::get::<ThemeSettings>(cx).theme.workspace.dock;
Empty::new()
.into_any()
.contained()
.with_style(style.container)
.with_style(self.style(cx))
.resizable(
self.position.to_resize_handle_side(),
active_entry.panel.size(cx),
@ -387,6 +386,16 @@ impl Dock {
Empty::new().into_any()
}
}
fn style(&self, cx: &WindowContext) -> ContainerStyle {
let theme = &settings::get::<ThemeSettings>(cx).theme;
let style = match self.position {
DockPosition::Left => theme.workspace.dock.left,
DockPosition::Bottom => theme.workspace.dock.bottom,
DockPosition::Right => theme.workspace.dock.right,
};
style
}
}
impl Entity for Dock {
@ -400,10 +409,10 @@ impl View for Dock {
fn render(&mut self, cx: &mut ViewContext<Self>) -> AnyElement<Self> {
if let Some(active_entry) = self.active_entry() {
let style = &settings::get::<ThemeSettings>(cx).theme.workspace.dock;
let style = self.style(cx);
ChildView::new(active_entry.panel.as_any(), cx)
.contained()
.with_style(style.container)
.with_style(style)
.resizable(
self.position.to_resize_handle_side(),
active_entry.panel.size(cx),