From 1be93d2dae0960852123ca1f8d6adba15bd28708 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Mon, 12 Jul 2010 14:01:34 +0400 Subject: [PATCH] [spleaner] memory indicator polishing on non-mac systems --- .../intellij/openapi/wm/impl/IdeRootPane.java | 5 ++++- .../wm/impl/status/IdeStatusBarImpl.java | 2 +- .../wm/impl/status/MemoryUsagePanel.java | 18 +++++++++++------- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeRootPane.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeRootPane.java index 7b32bd5772ba..ae59c2a7beff 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeRootPane.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeRootPane.java @@ -36,6 +36,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Ref; +import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.wm.CustomStatusBarWidget; import com.intellij.openapi.wm.StatusBar; import com.intellij.openapi.wm.StatusBarCustomComponentFactory; @@ -50,7 +51,6 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.*; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; /** @@ -259,6 +259,9 @@ public class IdeRootPane extends JRootPane implements UISettingsListener { void setMemoryIndicatorVisible(final boolean visible) { if (myMemoryWidget != null) { myMemoryWidget.setShowing(visible); + if (!SystemInfo.isMac) { + myStatusBar.setBorder(BorderFactory.createEmptyBorder(1, 4, 0, visible ? 0 : 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 2176f7e9d102..55506b23d6dc 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 @@ -83,7 +83,7 @@ public class IdeStatusBarImpl extends JComponent implements StatusBarEx { public IdeStatusBarImpl() { setLayout(new BorderLayout()); - setBorder(BorderFactory.createEmptyBorder(1, 4, 0, 2)); + setBorder(BorderFactory.createEmptyBorder(1, 4, 0, SystemInfo.isMac ? 2 : 0)); myInfoAndProgressPanel = new InfoAndProgressPanel(); addWidget(myInfoAndProgressPanel, Position.CENTER); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/MemoryUsagePanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/MemoryUsagePanel.java index 846231437692..14a87704e865 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/MemoryUsagePanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/MemoryUsagePanel.java @@ -107,11 +107,11 @@ public class MemoryUsagePanel extends JButton implements CustomStatusBarWidget { final long maxMemory = runtime.maxMemory(); final long freeMemory = maxMemory - runtime.totalMemory() + runtime.freeMemory(); - final Insets insets = getInsets(); + final Insets insets = SystemInfo.isMac ? getInsets() : new Insets(0, 0, 0, 0); final int totalBarLength = size.width - insets.left - insets.right - (SystemInfo.isMac ? 0 : 0); final int usedBarLength = totalBarLength - (int)(totalBarLength * freeMemory / maxMemory); - final int barHeight = HEIGHT; // size.height - insets.top - insets.bottom; + final int barHeight = SystemInfo.isMac ? HEIGHT : size.height - insets.top - insets.bottom; final Graphics2D g2 = (Graphics2D)g; final int yOffset = (size.height - barHeight) / 2; @@ -129,12 +129,16 @@ public class MemoryUsagePanel extends JButton implements CustomStatusBarWidget { g2.setPaint(new GradientPaint(1, 1, new Color(175, 185, 202), 0, size.height - 2, new Color(126, 138, 168))); g2.fillRect(xOffset + 1, yOffset, usedBarLength, barHeight); - g2.setColor(new Color(194, 197, 203)); - g2.drawLine(xOffset + 1, yOffset+1, xOffset + usedBarLength, yOffset+1); + if (SystemInfo.isMac) { + g2.setColor(new Color(194, 197, 203)); + g2.drawLine(xOffset + 1, yOffset+1, xOffset + usedBarLength, yOffset+1); + } } - g2.setColor(new Color(110, 110, 110)); - g2.drawRect(xOffset, yOffset, totalBarLength, barHeight - 1); + if (SystemInfo.isMac) { + g2.setColor(new Color(110, 110, 110)); + g2.drawRect(xOffset, yOffset, totalBarLength, barHeight - 1); + } g.setFont(getFont()); final long used = (maxMemory - freeMemory) / MEGABYTE; @@ -151,7 +155,7 @@ public class MemoryUsagePanel extends JButton implements CustomStatusBarWidget { public final int getPreferredWidth() { final Insets insets = getInsets(); - return getFontMetrics(UIUtil.getLabelFont().deriveFont(11.0f)).stringWidth(SAMPLE_STRING) + insets.left + insets.right + (SystemInfo.isMac ? 2 : 0); + return getFontMetrics(SystemInfo.isMac ? UIUtil.getLabelFont().deriveFont(11.0f) : UIUtil.getLabelFont()).stringWidth(SAMPLE_STRING) + insets.left + insets.right + (SystemInfo.isMac ? 2 : 0); } @Override