wip: revamp title bar elements
Some checks failed
Rust / build (ubuntu-latest, stable) (push) Failing after 12m59s
Rust / build (ubuntu-latest, stable) (pull_request) Failing after 9m53s
Rust / build (macos-latest, stable) (push) Has been cancelled
Rust / build (windows-latest, stable) (push) Has been cancelled
Rust / build (macos-latest, stable) (pull_request) Has been cancelled
Rust / build (windows-latest, stable) (pull_request) Has been cancelled

This commit is contained in:
2026-02-23 15:48:35 +07:00
parent 31df6d7937
commit 2ec98e14d0
32 changed files with 595 additions and 1177 deletions

View File

@@ -590,17 +590,13 @@ impl DockArea {
}
}
DockPlacement::Right => {
if let Some(dock) = self.right_dock.as_ref() {
dock.update(cx, |dock, cx| dock.add_panel(panel, window, cx))
} else {
self.set_right_dock(
DockItem::tabs(vec![panel], None, &weak_self, window, cx),
Some(px(320.)),
true,
window,
cx,
);
}
self.set_right_dock(
DockItem::tabs(vec![panel], None, &weak_self, window, cx),
Some(px(320.)),
true,
window,
cx,
);
}
DockPlacement::Center => {
self.items

View File

@@ -371,7 +371,6 @@ impl Focusable for StackPanel {
}
impl EventEmitter<PanelEvent> for StackPanel {}
impl EventEmitter<DismissEvent> for StackPanel {}
impl Render for StackPanel {

View File

@@ -479,12 +479,12 @@ impl TabPanel {
_window: &mut Window,
cx: &mut Context<Self>,
) -> Option<Button> {
let dock_area = self.dock_area.upgrade()?.read(cx);
if self.zoomed {
return None;
}
let dock_area = self.dock_area.upgrade()?.read(cx);
if !dock_area.toggle_button_visible {
return None;
}
@@ -590,10 +590,11 @@ impl TabPanel {
.justify_between()
.items_center()
.line_height(rems(1.0))
.h(px(30.))
.h(TABBAR_HEIGHT)
.py_2()
.pl_3()
.pr_2()
.bg(cx.theme().panel_background)
.when(left_dock_button.is_some(), |this| this.pl_2())
.when(right_dock_button.is_some(), |this| this.pr_2())
.when(has_extend_dock_button, |this| {
@@ -610,6 +611,7 @@ impl TabPanel {
div()
.id("tab")
.flex_1()
.px_2()
.min_w_16()
.overflow_hidden()
.whitespace_nowrap()
@@ -638,7 +640,8 @@ impl TabPanel {
.flex_shrink_0()
.ml_1()
.gap_1()
.child(self.render_toolbar(state, window, cx)),
.child(self.render_toolbar(state, window, cx))
.children(right_dock_button),
)
.into_any_element();
}