don't show icon in status bar if all exceptions are read and/or submitted; cleanup

This commit is contained in:
Dmitry Jemerov
2010-10-21 21:50:41 +04:00
parent d2e266e6dc
commit 8d0494ccca
2 changed files with 11 additions and 20 deletions
@@ -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();
}
@@ -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<AbstractMessage> getFatalErrors(boolean aIncludeReadMessages, boolean aIncludeSubmittedMessages) {
List<AbstractMessage> result = new ArrayList<AbstractMessage>();
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();
}
}