diff --git a/src/main/java/fucoin/gui/FilteredLogModel.java b/src/main/java/fucoin/gui/FilteredLogModel.java index 501c88353ca1528aefd05cc1e424172b0a500c72..225e008b1ea5937e805acb6b1823ad0f9830234f 100644 --- a/src/main/java/fucoin/gui/FilteredLogModel.java +++ b/src/main/java/fucoin/gui/FilteredLogModel.java @@ -14,8 +14,7 @@ public class FilteredLogModel extends AbstractListModel<LogMessage> { public FilteredLogModel() { super(); - this. - log = new ArrayList<>(); + this.log = new ArrayList<>(); filteredLog = new ArrayList<>(); } @@ -32,9 +31,7 @@ public class FilteredLogModel extends AbstractListModel<LogMessage> { private void refilter() { filteredLog.clear(); for (LogMessage msg : log) { - if (!filterTransactions - || (msg.getContext() == LogMessage.Context.TRANSACTION_SUCCESS - || msg.getContext() == LogMessage.Context.TRANSACTION_FAIL)) { + if (matchesFilter(msg)) { filteredLog.add(msg); } @@ -42,6 +39,12 @@ public class FilteredLogModel extends AbstractListModel<LogMessage> { fireContentsChanged(this, 0, getSize()-1); } + private boolean matchesFilter(LogMessage msg){ + return !filterTransactions + || (msg.getContext() == LogMessage.Context.TRANSACTION_SUCCESS + || msg.getContext() == LogMessage.Context.TRANSACTION_FAIL); + } + @Override public int getSize() { return filteredLog.size(); @@ -54,7 +57,13 @@ public class FilteredLogModel extends AbstractListModel<LogMessage> { public void addElement(LogMessage message) { + log.add(message); - refilter(); + + if(matchesFilter(message)){ + filteredLog.add(message); + int index = getSize() - 1; + fireIntervalAdded(this, index, index); + } } } diff --git a/src/main/java/fucoin/gui/SuperVisorGuiControlImpl.java b/src/main/java/fucoin/gui/SuperVisorGuiControlImpl.java index 91efa95707f4f852e70987b21d5929a4ee51f970..cb4aaf23670a958642e67e1d53ebffe200f032a8 100644 --- a/src/main/java/fucoin/gui/SuperVisorGuiControlImpl.java +++ b/src/main/java/fucoin/gui/SuperVisorGuiControlImpl.java @@ -7,8 +7,6 @@ import java.awt.*; import java.awt.event.ItemEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; public class SuperVisorGuiControlImpl implements SuperVisorGuiControl { private SuperVisorImpl superVisor;