From ec65035659fe1b2f39bb92b70d85af067f553e6e Mon Sep 17 00:00:00 2001 From: Thorsten Ball Date: Tue, 14 May 2024 11:06:16 +0200 Subject: [PATCH] inline blame: Match icon size to font size in buffer (#11788) This fixes #11311. Release Notes: - Fixed icon in inline git blame entry not changing with the buffer font size. ([#11311](https://github.com/zed-industries/zed/issues/11311)). Before: ![screenshot-2024-05-14-10 48 49@2x](https://github.com/zed-industries/zed/assets/1185253/4a288cae-a52b-4bee-8681-f1d9ba3b57f3) After: ![screenshot-2024-05-14-10 50 06@2x](https://github.com/zed-industries/zed/assets/1185253/f7a6a608-8ecc-4642-adbd-80858dea75e9) --- crates/editor/src/element.rs | 6 +++++- crates/ui/src/components/icon.rs | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index 5c8492b58fa5238f827361948a85e883372f0e05..eb9f717bc2bfb3b8a53693164bc67e7409be3234 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -3388,7 +3388,11 @@ fn render_inline_blame_entry( .font_family(style.text.font().family) .text_color(cx.theme().status().hint) .line_height(style.text.line_height) - .child(Icon::new(IconName::FileGit).color(Color::Hint)) + .child( + Icon::new(IconName::FileGit) + .color(Color::Hint) + .font_size(style.text.font_size), + ) .child(text) .gap_2() .hoverable_tooltip(move |_| tooltip.clone().into()) diff --git a/crates/ui/src/components/icon.rs b/crates/ui/src/components/icon.rs index d94b573cbe8b6da3b408508be546c2ca676609e3..2215d3dd75826bc07e6155808bc285b912397d45 100644 --- a/crates/ui/src/components/icon.rs +++ b/crates/ui/src/components/icon.rs @@ -344,6 +344,14 @@ impl Icon { self } + pub fn font_size(self, font_size: AbsoluteLength) -> Self { + let rems = match font_size { + AbsoluteLength::Pixels(pixels) => rems_from_px(pixels.into()), + AbsoluteLength::Rems(rems) => rems, + }; + self.custom_size(rems) + } + pub fn transform(mut self, transformation: Transformation) -> Self { self.transformation = transformation; self