From 6e937d1e560e45e43fc5ccbd4942d5cbf4191324 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Fri, 8 May 2015 01:46:21 +0300 Subject: [PATCH] status bar widgets: unify the padding between text and arrows --- .../intellij/openapi/wm/impl/status/EncodingPanel.java | 9 +++++---- .../openapi/wm/impl/status/IdeStatusBarImpl.java | 8 +------- .../openapi/wm/impl/status/LineSeparatorPanel.java | 9 +++++---- .../com/intellij/openapi/wm/impl/status/TextPanel.java | 7 +++++++ 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java index 6ab762e0904b..60139b2b2c7d 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EncodingPanel.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. + * Copyright 2000-2015 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -74,15 +74,16 @@ public class EncodingPanel extends EditorBasedWidget implements StatusBarWidget. public EncodingPanel(@NotNull final Project project) { super(project); update = new Alarm(this); - myComponent = new TextPanel() { + myComponent = new TextPanel.PlusTwo() { @Override protected void paintComponent(@NotNull final Graphics g) { super.paintComponent(g); if (actionEnabled && getText() != null) { final Rectangle r = getBounds(); final Insets insets = getInsets(); - AllIcons.Ide.Statusbar_arrows.paintIcon(this, g, r.width - insets.right - AllIcons.Ide.Statusbar_arrows.getIconWidth() - 2, - r.height / 2 - AllIcons.Ide.Statusbar_arrows.getIconHeight() / 2); + Icon arrows = AllIcons.Ide.Statusbar_arrows; + arrows.paintIcon(this, g, r.width - insets.right - arrows.getIconWidth() - 2, + r.height / 2 - arrows.getIconHeight() / 2); } } }; 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 015c4c2a9ccf..9747db59780f 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 @@ -735,16 +735,10 @@ public class IdeStatusBarImpl extends JComponent implements StatusBarEx { final Insets insets = getInsets(); Icon icon = AllIcons.Ide.Statusbar_arrows; icon.paintIcon(this, g, - r.width - insets.right - icon.getIconWidth() - 2, + r.width - insets.right - icon.getIconWidth(), r.height / 2 - icon.getIconHeight() / 2); } } - - @Override - public Dimension getPreferredSize() { - final Dimension preferredSize = super.getPreferredSize(); - return new Dimension(preferredSize.width + AllIcons.Ide.Statusbar_arrows.getIconWidth() + 4, preferredSize.height); - } } private static final class TextPresentationWrapper extends TextPanel implements StatusBarWrapper { diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java index 27722dd8fb1c..cbe5cc860056 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/LineSeparatorPanel.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2015 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -61,15 +61,16 @@ public class LineSeparatorPanel extends EditorBasedWidget implements StatusBarWi public LineSeparatorPanel(@NotNull final Project project) { super(project); - myComponent = new TextPanel() { + myComponent = new TextPanel.PlusTwo() { @Override protected void paintComponent(@NotNull final Graphics g) { super.paintComponent(g); if (myActionEnabled && getText() != null) { final Rectangle r = getBounds(); final Insets insets = getInsets(); - AllIcons.Ide.Statusbar_arrows.paintIcon(this, g, r.width - insets.right - AllIcons.Ide.Statusbar_arrows.getIconWidth() - 2, - r.height / 2 - AllIcons.Ide.Statusbar_arrows.getIconHeight() / 2); + Icon arrows = AllIcons.Ide.Statusbar_arrows; + arrows.paintIcon(this, g, r.width - insets.right - arrows.getIconWidth() - 2, + r.height / 2 - arrows.getIconHeight() / 2); } } }; diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/TextPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/TextPanel.java index 210ccad5f67a..8806c7ae9bc8 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/TextPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/TextPanel.java @@ -233,4 +233,11 @@ public class TextPanel extends JComponent { myIcon = icon; } } + + public static class PlusTwo extends TextPanel { + public Dimension getPreferredSize() { + Dimension size = super.getPreferredSize(); + return new Dimension(size.width + 2, size.height); + } + } }