From c726dbf62b709da324a9b186e4e5ac8a9ff6cced Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 31 May 2011 19:21:34 +0200 Subject: [PATCH] don't show "moments ago" unless the log message has been immediately obscured by some other message --- .../com/intellij/openapi/wm/impl/status/StatusPanel.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/StatusPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/StatusPanel.java index 9e79ef9508bc..288e776ee2c8 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/StatusPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/StatusPanel.java @@ -29,11 +29,13 @@ class StatusPanel extends TextPanel { private boolean myLogMode; private String myLogMessage; private Date myLogTime; + private boolean myDirty; private final Alarm myLogAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD); public void setLogMessage(String text) { myLogMessage = text; myLogTime = new Date(); + myDirty = false; } public void updateText(boolean logMode, @Nullable String nonLogText) { @@ -43,11 +45,16 @@ class StatusPanel extends TextPanel { new Runnable() { @Override public void run() { - setText(myLogMessage + " (" + StringUtil.decapitalize(DateFormatUtil.formatPrettyDateTime(myLogTime)) + ")"); + String text = myLogMessage; + if (myDirty || System.currentTimeMillis() - myLogTime.getTime() >= DateFormatUtil.MINUTE) { + text += " (" + StringUtil.decapitalize(DateFormatUtil.formatPrettyDateTime(myLogTime)) + ")"; + } + setText(text); myLogAlarm.addRequest(this, 30000); } }.run(); } else { + myDirty = true; setText(nonLogText); myLogAlarm.cancelAllRequests(); }