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

View file

@ -97,18 +97,21 @@ impl Render for Toolbar {
.child( .child(
IconButton::new("toggle-inlay-hints", Icon::InlayHint) IconButton::new("toggle-inlay-hints", Icon::InlayHint)
.size(ui::ButtonSize::Compact) .size(ui::ButtonSize::Compact)
.icon_size(ui::IconSize::Small)
.style(ui::ButtonStyle::Subtle) .style(ui::ButtonStyle::Subtle)
.tooltip(move |cx| Tooltip::text("Inlay Hints", cx)), .tooltip(move |cx| Tooltip::text("Inlay Hints", cx)),
) )
.child( .child(
IconButton::new("buffer-search", Icon::MagnifyingGlass) IconButton::new("buffer-search", Icon::MagnifyingGlass)
.size(ui::ButtonSize::Compact) .size(ui::ButtonSize::Compact)
.icon_size(ui::IconSize::Small)
.style(ui::ButtonStyle::Subtle) .style(ui::ButtonStyle::Subtle)
.tooltip(move |cx| Tooltip::text("Search in File", cx)), .tooltip(move |cx| Tooltip::text("Search in File", cx)),
) )
.child( .child(
IconButton::new("inline-assist", Icon::MagicWand) IconButton::new("inline-assist", Icon::MagicWand)
.size(ui::ButtonSize::Compact) .size(ui::ButtonSize::Compact)
.icon_size(ui::IconSize::Small)
.style(ui::ButtonStyle::Subtle) .style(ui::ButtonStyle::Subtle)
.tooltip(move |cx| Tooltip::text("Inline Assist", cx)), .tooltip(move |cx| Tooltip::text("Inline Assist", cx)),
), ),