title_bar: Fix pl to override default TitleBar left padding. (#944)

This commit is contained in:
Jason Lee 2025-06-11 16:52:51 +08:00 committed by GitHub
parent a7505487e1
commit f82c347e37
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -27,7 +27,7 @@ pub struct TitleBar {
impl TitleBar {
pub fn new() -> Self {
Self {
base: div().id("title-bar"),
base: div().id("title-bar").pl(TITLE_BAR_LEFT_PADDING),
children: Vec::new(),
on_close_window: None,
}
@ -243,10 +243,12 @@ impl ParentElement for TitleBar {
}
impl RenderOnce for TitleBar {
fn render(self, window: &mut Window, cx: &mut App) -> impl IntoElement {
fn render(mut self, window: &mut Window, cx: &mut App) -> impl IntoElement {
let is_linux = cfg!(target_os = "linux");
const HEIGHT: Pixels = px(34.);
let paddings = self.base.style().padding.clone();
self.base.style().padding.left = None;
let left_padding = paddings.left.unwrap_or(TITLE_BAR_LEFT_PADDING.into());
div().flex_shrink_0().child(
self.base
@ -254,7 +256,7 @@ impl RenderOnce for TitleBar {
.flex_row()
.items_center()
.justify_between()
.h(HEIGHT)
.h(TITLE_BAR_HEIGHT)
.border_b_1()
.border_color(cx.theme().title_bar_border)
.bg(cx.theme().title_bar)
@ -264,8 +266,8 @@ impl RenderOnce for TitleBar {
.child(
h_flex()
.id("bar")
.pl(TITLE_BAR_LEFT_PADDING)
.when(window.is_fullscreen(), |this| this.pl(px(12.)))
.pl(left_padding)
.when(window.is_fullscreen(), |this| this.pl_3())
.window_control_area(WindowControlArea::Drag)
.h_full()
.justify_between()