From aa20e7da83b7fd9718ce6a81425283d4b9227627 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 6 Nov 2013 11:59:02 +0100 Subject: [PATCH] status bar should have a height at least of an icon, even before any icons appear, to prevent unnecessary blinking (IDEA-114453) --- .../openapi/wm/impl/status/IdeStatusBarImpl.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/IdeStatusBarImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/IdeStatusBarImpl.java index 7cd1c80152f8..e7353f040c25 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/IdeStatusBarImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/IdeStatusBarImpl.java @@ -52,6 +52,7 @@ import java.util.List; * User: spLeaner */ public class IdeStatusBarImpl extends JComponent implements StatusBarEx { + private static final int MIN_ICON_HEIGHT = 18; private final InfoAndProgressPanel myInfoAndProgressPanel; private IdeFrame myFrame; @@ -176,6 +177,16 @@ public class IdeStatusBarImpl extends JComponent implements StatusBarEx { this(null); } + @Override + public Dimension getPreferredSize() { + Dimension size = super.getPreferredSize(); + if (size == null) return null; + + Insets insets = getInsets(); + int minHeight = insets.top + insets.bottom + MIN_ICON_HEIGHT; + return new Dimension(size.width, Math.max(size.height, minHeight)); + } + @Override public void addWidget(@NotNull final StatusBarWidget widget) { addWidget(widget, Position.RIGHT, "__AUTODETECT__"); @@ -839,7 +850,7 @@ public class IdeStatusBarImpl extends JComponent implements StatusBarEx { @Override public Dimension getMinimumSize() { - return new Dimension(24, 18); + return new Dimension(24, MIN_ICON_HEIGHT); } @Override