diff --git a/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy b/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy index 6a89fd81..50842dfe 100644 --- a/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy +++ b/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy @@ -593,18 +593,19 @@ class MainFrameModel { void onUploadEvent(UploadEvent e) { runInsideUIAsync { UploaderWrapper wrapper = null - uploads.each { - if (it.uploader == e.uploader) { - wrapper = it - return + for(UploaderWrapper uw : uploads) { + if (uw.uploader == e.uploader) { + wrapper = uw + break } } if (wrapper != null) wrapper.updateUploader(e.uploader) - else - uploads << new UploaderWrapper(uploader : e.uploader) + else { + uploads << new UploaderWrapper(uploader: e.uploader) + view.refreshSharedFilesTable() + } updateTablePreservingSelection("uploads-table") - view.refreshSharedFiles() } } diff --git a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy index 5b6bc204..7c58b469 100644 --- a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy @@ -1852,6 +1852,11 @@ class MainFrameView { } public void refreshSharedFiles() { + refreshSharedFilesTree() + refreshSharedFilesTable() + } + + void refreshSharedFilesTree() { def tree = builder.getVariable("shared-files-tree") TreePath[] selectedPaths = tree.getSelectionPaths() Set expanded = new HashSet<>(expansionListener.expandedPaths) @@ -1860,7 +1865,9 @@ class MainFrameView { expanded.each { tree.expandPath(it) } tree.setSelectionPaths(selectedPaths) - + } + + void refreshSharedFilesTable() { def table = builder.getVariable("shared-files-table") int [] selectedRows = table.getSelectedRows() table.model.fireTableDataChanged()