Update button sizes

This commit is contained in:
Nate Butler 2023-12-05 10:11:18 -05:00
parent f9efaebddf
commit 7c5df51d2e
2 changed files with 58 additions and 47 deletions

View file

@ -1447,7 +1447,7 @@ impl Pane {
.child(
IconElement::new(Icon::Close)
.color(Color::Muted)
.size(IconSize::Small),
.size(IconSize::XSmall),
)
};
@ -1589,9 +1589,11 @@ impl Pane {
.border_b()
.border_r()
.border_color(cx.theme().colors().border)
.bg(gpui::red())
// Nav Buttons
.child(
IconButton::new("navigate_backward", Icon::ArrowLeft)
.icon_size(IconSize::Small)
.on_click({
let view = cx.view().clone();
move |_, cx| view.update(cx, Self::navigate_backward)
@ -1600,6 +1602,7 @@ impl Pane {
)
.child(
IconButton::new("navigate_forward", Icon::ArrowRight)
.icon_size(IconSize::Small)
.on_click({
let view = cx.view().clone();
move |_, cx| view.update(cx, Self::navigate_backward)
@ -1612,6 +1615,8 @@ impl Pane {
.relative()
.flex_1()
.h_full()
.overflow_hidden_x()
.bg(gpui::green())
.child(
div()
.absolute()
@ -1623,21 +1628,19 @@ impl Pane {
.border_color(cx.theme().colors().border),
)
.child(
div()
.id("tabs")
.z_index(2)
.flex()
.overflow_x_scroll()
.children(
self.items.iter().enumerate().zip(self.tab_details(cx)).map(
|((ix, item), detail)| self.render_tab(ix, item, detail, cx),
),
),
h_stack().id("tabs").z_index(2).children(
self.items
.iter()
.enumerate()
.zip(self.tab_details(cx))
.map(|((ix, item), detail)| self.render_tab(ix, item, detail, cx)),
),
),
)
// Right Side
.child(
h_stack()
.bg(gpui::blue())
.flex()
.flex_none()
.gap_1()
@ -1650,44 +1653,48 @@ impl Pane {
.flex()
.items_center()
.gap_px()
.child(IconButton::new("plus", Icon::Plus).on_click(cx.listener(
|this, _, cx| {
let menu = ContextMenu::build(cx, |menu, cx| {
menu.action("New File", NewFile.boxed_clone(), cx)
.action(
"New Terminal",
NewCenterTerminal.boxed_clone(),
cx,
)
.action("New Search", NewSearch.boxed_clone(), cx)
});
cx.subscribe(&menu, |this, _, event: &DismissEvent, cx| {
this.focus(cx);
this.new_item_menu = None;
})
.detach();
this.new_item_menu = Some(menu);
},
)))
.child(
IconButton::new("plus", Icon::Plus)
.icon_size(IconSize::Small)
.on_click(cx.listener(|this, _, cx| {
let menu = ContextMenu::build(cx, |menu, cx| {
menu.action("New File", NewFile.boxed_clone(), cx)
.action(
"New Terminal",
NewCenterTerminal.boxed_clone(),
cx,
)
.action("New Search", NewSearch.boxed_clone(), cx)
});
cx.subscribe(&menu, |this, _, event: &DismissEvent, cx| {
this.focus(cx);
this.new_item_menu = None;
})
.detach();
this.new_item_menu = Some(menu);
})),
)
.when_some(self.new_item_menu.as_ref(), |el, new_item_menu| {
el.child(Self::render_menu_overlay(new_item_menu))
})
.child(IconButton::new("split", Icon::Split).on_click(cx.listener(
|this, _, cx| {
let menu = ContextMenu::build(cx, |menu, cx| {
menu.action("Split Right", SplitRight.boxed_clone(), cx)
.action("Split Left", SplitLeft.boxed_clone(), cx)
.action("Split Up", SplitUp.boxed_clone(), cx)
.action("Split Down", SplitDown.boxed_clone(), cx)
});
cx.subscribe(&menu, |this, _, event: &DismissEvent, cx| {
this.focus(cx);
this.split_item_menu = None;
})
.detach();
this.split_item_menu = Some(menu);
},
)))
.child(
IconButton::new("split", Icon::Split)
.icon_size(IconSize::Small)
.on_click(cx.listener(|this, _, cx| {
let menu = ContextMenu::build(cx, |menu, cx| {
menu.action("Split Right", SplitRight.boxed_clone(), cx)
.action("Split Left", SplitLeft.boxed_clone(), cx)
.action("Split Up", SplitUp.boxed_clone(), cx)
.action("Split Down", SplitDown.boxed_clone(), cx)
});
cx.subscribe(&menu, |this, _, event: &DismissEvent, cx| {
this.focus(cx);
this.split_item_menu = None;
})
.detach();
this.split_item_menu = Some(menu);
})),
)
.when_some(self.split_item_menu.as_ref(), |el, split_item_menu| {
el.child(Self::render_menu_overlay(split_item_menu))
}),
@ -2108,6 +2115,8 @@ impl Render for Pane {
v_stack()
.key_context("Pane")
.track_focus(&self.focus_handle)
.size_full()
.overflow_hidden()
.on_focus_in({
let this = this.clone();
move |event, cx| {
@ -2175,7 +2184,6 @@ impl Render for Pane {
pane.close_all_items(action, cx)
.map(|task| task.detach_and_log_err(cx));
}))
.size_full()
.on_action(
cx.listener(|pane: &mut Self, action: &CloseActiveItem, cx| {
pane.close_active_item(action, cx)