diff --git a/gui/griffon-app/models/com/muwire/gui/SearchTabModel.groovy b/gui/griffon-app/models/com/muwire/gui/SearchTabModel.groovy index c518d74a..2966920d 100644 --- a/gui/griffon-app/models/com/muwire/gui/SearchTabModel.groovy +++ b/gui/griffon-app/models/com/muwire/gui/SearchTabModel.groovy @@ -21,6 +21,7 @@ class SearchTabModel { Core core String uuid def results = [] + def hashCount = [:] void mvcGroupInit(Map args) { @@ -34,6 +35,12 @@ class SearchTabModel { void handleResult(UIResultEvent e) { runInsideUIAsync { + Integer count = hashCount.get(e.infohash) + if (count == null) + count = 0 + count++ + hashCount[e.infohash] = count + results << e JTable table = builder.getVariable("results-table") table.model.fireTableDataChanged() diff --git a/gui/griffon-app/views/com/muwire/gui/SearchTabView.groovy b/gui/griffon-app/views/com/muwire/gui/SearchTabView.groovy index 6f3e8864..da29b679 100644 --- a/gui/griffon-app/views/com/muwire/gui/SearchTabView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/SearchTabView.groovy @@ -31,6 +31,7 @@ class SearchTabView { tableModel(list: model.results) { closureColumn(header: "Name", type: String, read : {row -> row.name}) closureColumn(header: "Size", preferredWidth: 150, type: Long, read : {row -> row.size}) + closureColumn(header: "Sources", type : Integer, read : { row -> model.hashCount[row.infohash]}) closureColumn(header: "Sender", type: String, read : {row -> row.sender.getHumanReadableName()}) closureColumn(header: "Trust", type: String, read : {row -> model.core.trustService.getLevel(row.sender.destination)