From c42c5fae4a616e6d54bb3fa0cd6fba175a20a999 Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Wed, 29 Jan 2020 23:39:41 +0300 Subject: [PATCH] IDEA-231627: Async stack trace separator is too small in presentation mode GitOrigin-RevId: 5505675d5a569cbea30595be03f7dc4b3372bfe9 --- .../src/com/intellij/ui/GroupedElementsRenderer.java | 6 ++++++ .../com/intellij/ide/plugins/PluginManagerConfigurable.java | 6 +++++- .../intellij/ui/popup/list/GroupedItemsListRenderer.java | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/platform/platform-api/src/com/intellij/ui/GroupedElementsRenderer.java b/platform/platform-api/src/com/intellij/ui/GroupedElementsRenderer.java index 3948a237ef38..067444c77c3a 100644 --- a/platform/platform-api/src/com/intellij/ui/GroupedElementsRenderer.java +++ b/platform/platform-api/src/com/intellij/ui/GroupedElementsRenderer.java @@ -12,6 +12,8 @@ import javax.swing.border.EmptyBorder; import javax.swing.tree.TreeCellRenderer; import java.awt.*; +import static com.intellij.ui.RelativeFont.BOLD; + public abstract class GroupedElementsRenderer { protected SeparatorWithText mySeparatorComponent = createSeparator(); @@ -70,6 +72,10 @@ public abstract class GroupedElementsRenderer { aComponent.setForeground(selected ? getSelectionForeground() : getForeground()); } + protected void setSeparatorFont(Font font) { + mySeparatorComponent.setFont(BOLD.derive(font)); + } + protected abstract Color getSelectionBackground(); protected abstract Color getSelectionForeground(); diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerConfigurable.java b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerConfigurable.java index 0c5319d99fd0..c7549a1bf010 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerConfigurable.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerConfigurable.java @@ -266,7 +266,6 @@ public class PluginManagerConfigurable return new SeparatorWithText() { { setTextForeground(JBColor.BLACK); - setFont(UIUtil.getLabelFont()); setCaptionCentered(false); } @@ -276,6 +275,11 @@ public class PluginManagerConfigurable }; } + @Override + protected void setSeparatorFont(Font font) { + mySeparatorComponent.setFont(font); + } + @Override protected Border getDefaultItemComponentBorder() { return new EmptyBorder(JBInsets.create(UIUtil.getListCellVPadding(), 15)); diff --git a/platform/platform-impl/src/com/intellij/ui/popup/list/GroupedItemsListRenderer.java b/platform/platform-impl/src/com/intellij/ui/popup/list/GroupedItemsListRenderer.java index b9be9c55572e..eb3771bf511f 100644 --- a/platform/platform-impl/src/com/intellij/ui/popup/list/GroupedItemsListRenderer.java +++ b/platform/platform-impl/src/com/intellij/ui/popup/list/GroupedItemsListRenderer.java @@ -44,6 +44,7 @@ public class GroupedItemsListRenderer extends GroupedElementsRenderer.List im String caption = myDescriptor.getCaptionAboveOf(value); boolean hasSeparator = myDescriptor.hasSeparatorAboveOf(value); if (index == 0 && StringUtil.isEmptyOrSpaces(caption)) hasSeparator = false; + if (hasSeparator) setSeparatorFont(list.getFont()); Icon icon = isSelected ? myDescriptor.getSelectedIconFor(value) : myDescriptor.getIconFor(value); final JComponent result = configureComponent(myDescriptor.getTextFor(value), myDescriptor.getTooltipFor(value),