From 63700c507a08eab938c752d87b8dffc598a7786c Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 23 Jul 2013 21:10:03 +0200 Subject: [PATCH] remove the gap before the memory indicator, take 2 --- .../intellij/diagnostic/IdeFatalErrorsIcon.java | 12 ------------ .../com/intellij/diagnostic/IdeMessagePanel.java | 15 +++++++++++++-- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/diagnostic/IdeFatalErrorsIcon.java b/platform/platform-impl/src/com/intellij/diagnostic/IdeFatalErrorsIcon.java index 124e3211f0cc..5ff6aacedc19 100644 --- a/platform/platform-impl/src/com/intellij/diagnostic/IdeFatalErrorsIcon.java +++ b/platform/platform-impl/src/com/intellij/diagnostic/IdeFatalErrorsIcon.java @@ -58,7 +58,6 @@ public class IdeFatalErrorsIcon extends JLabel { myState = state; switch (state) { case UnreadErrors: - changeVisibility(true); myIcon.setLayerEnabled(0, true); myIcon.setLayerEnabled(1, false); myIcon.setLayerEnabled(2, false); @@ -68,7 +67,6 @@ public class IdeFatalErrorsIcon extends JLabel { break; case ReadErrors: - changeVisibility(true); stopBlinker(); myIcon.setLayerEnabled(0, false); myIcon.setLayerEnabled(1, true); @@ -80,7 +78,6 @@ public class IdeFatalErrorsIcon extends JLabel { case NoErrors: // let's keep all this layers stuff for the case if we decide not to hide the icon stopBlinker(); - changeVisibility(false); myIcon.setLayerEnabled(0, false); myIcon.setLayerEnabled(1, false); myIcon.setLayerEnabled(2, true); @@ -94,15 +91,6 @@ public class IdeFatalErrorsIcon extends JLabel { repaint(); } - private void changeVisibility(final boolean visible) { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - setVisible(visible); - } - }); - } - private synchronized void startBlinker() { if (myBlinker != null) { return; diff --git a/platform/platform-impl/src/com/intellij/diagnostic/IdeMessagePanel.java b/platform/platform-impl/src/com/intellij/diagnostic/IdeMessagePanel.java index b4aabf76b8b7..95283c122ab7 100644 --- a/platform/platform-impl/src/com/intellij/diagnostic/IdeMessagePanel.java +++ b/platform/platform-impl/src/com/intellij/diagnostic/IdeMessagePanel.java @@ -22,6 +22,7 @@ import com.intellij.openapi.wm.IconLikeCustomStatusBarWidget; import com.intellij.openapi.wm.StatusBar; import com.intellij.ui.LightColors; import com.intellij.ui.popup.NotificationPopup; +import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -125,7 +126,7 @@ public class IdeMessagePanel extends JPanel implements MessagePoolListener, Icon @Override protected void updateOnSubmit() { super.updateOnSubmit(); - myIdeFatal.setState(computeState()); + updateState(computeState()); } }; @@ -141,6 +142,16 @@ public class IdeMessagePanel extends JPanel implements MessagePoolListener, Icon }); } + private void updateState(final IdeFatalErrorsIcon.State state) { + myIdeFatal.setState(state); + UIUtil.invokeLaterIfNeeded(new Runnable() { + @Override + public void run() { + setVisible(state != IdeFatalErrorsIcon.State.NoErrors); + } + }); + } + private void disposeDialog(final IdeErrorsDialog listDialog) { myMessagePool.removeListener(listDialog); updateFatalErrorsIcon(); @@ -198,7 +209,7 @@ public class IdeMessagePanel extends JPanel implements MessagePoolListener, Icon void updateFatalErrorsIcon() { final IdeFatalErrorsIcon.State state = computeState(); - myIdeFatal.setState(state); + updateState(state); if (state == IdeFatalErrorsIcon.State.NoErrors) { myNotificationPopupAlreadyShown = false;