From 8d0494ccca743096bea457b805d99c2e8a1f31c8 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 21 Oct 2010 20:18:51 +0400 Subject: [PATCH] don't show icon in status bar if all exceptions are read and/or submitted; cleanup --- .../intellij/diagnostic/IdeMessagePanel.java | 5 ++-- .../com/intellij/diagnostic/MessagePool.java | 26 ++++++------------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/diagnostic/IdeMessagePanel.java b/platform/platform-impl/src/com/intellij/diagnostic/IdeMessagePanel.java index 46e40f5d4a9f..7ac5219c95d1 100644 --- a/platform/platform-impl/src/com/intellij/diagnostic/IdeMessagePanel.java +++ b/platform/platform-impl/src/com/intellij/diagnostic/IdeMessagePanel.java @@ -17,6 +17,7 @@ package com.intellij.diagnostic; import com.intellij.concurrency.JobScheduler; import com.intellij.ide.util.PropertiesComponent; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.wm.CustomStatusBarWidget; import com.intellij.openapi.wm.StatusBar; @@ -115,7 +116,7 @@ public class IdeMessagePanel extends JPanel implements MessagePoolListener, Cust } private void _openFatals() { - SwingUtilities.invokeLater(new Runnable() { + ApplicationManager.getApplication().invokeLater(new Runnable() { public void run() { myDialog = new IdeErrorsDialog(myMessagePool) { protected void doOKAction() { @@ -189,7 +190,7 @@ public class IdeMessagePanel extends JPanel implements MessagePoolListener, Cust } private void updateFatalErrorsIcon() { - if (myMessagePool.getFatalErrors(true, true).isEmpty()) { + if (myMessagePool.getFatalErrors(false, false).isEmpty()) { myNotificationPopupAlreadyShown = false; myIdeFatal.deactivate(); } diff --git a/platform/platform-impl/src/com/intellij/diagnostic/MessagePool.java b/platform/platform-impl/src/com/intellij/diagnostic/MessagePool.java index b972dd16fb64..d1f7bb57e349 100644 --- a/platform/platform-impl/src/com/intellij/diagnostic/MessagePool.java +++ b/platform/platform-impl/src/com/intellij/diagnostic/MessagePool.java @@ -48,14 +48,9 @@ public class MessagePool { } public static MessagePool getInstance() { - return MessagePoolHolder.ourInstance; } - public void addIdeFatalMessage(LoggingEvent aEvent) { - addIdeFatalMessage(new LogMessage(aEvent)); - } - public void addIdeFatalMessage(IdeaLoggingEvent aEvent) { addIdeFatalMessage(new LogMessage(aEvent)); } @@ -69,13 +64,8 @@ public class MessagePool { } } - public boolean isFatalErrorsPoolEmpty() { - return myIdeFatals.isEmpty(); - } - public boolean hasUnreadMessages() { - for (int i = 0; i < myIdeFatals.size(); i++) { - AbstractMessage message = myIdeFatals.get(i); + for (AbstractMessage message : myIdeFatals) { if (!message.isRead()) return true; } return false; @@ -83,11 +73,11 @@ public class MessagePool { public List getFatalErrors(boolean aIncludeReadMessages, boolean aIncludeSubmittedMessages) { List result = new ArrayList(); - for (int i = 0; i < myIdeFatals.size(); i++) { - AbstractMessage each = myIdeFatals.get(i); + for (AbstractMessage each : myIdeFatals) { if (!each.isRead() && !each.isSubmitted()) { result.add(each); - } else if ((each.isRead() && aIncludeReadMessages) || (each.isSubmitted() && aIncludeSubmittedMessages)) { + } + else if ((each.isRead() && aIncludeReadMessages) || (each.isSubmitted() && aIncludeSubmittedMessages)) { result.add(each); } } @@ -111,15 +101,15 @@ public class MessagePool { if (ourJvmIsShuttingDown) return; final MessagePoolListener[] messagePoolListeners = myListeners.toArray(new MessagePoolListener[myListeners.size()]); - for (int i = 0; i < messagePoolListeners.length; i++) { - messagePoolListeners[i].newEntryAdded(); + for (MessagePoolListener messagePoolListener : messagePoolListeners) { + messagePoolListener.newEntryAdded(); } } private void notifyListenersClear() { final MessagePoolListener[] messagePoolListeners = myListeners.toArray(new MessagePoolListener[myListeners.size()]); - for (int i = 0; i < messagePoolListeners.length; i++) { - messagePoolListeners[i].poolCleared(); + for (MessagePoolListener messagePoolListener : messagePoolListeners) { + messagePoolListener.poolCleared(); } }