diff --git a/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy b/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy index cf4831e1..1a72ffbf 100644 --- a/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy +++ b/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy @@ -126,6 +126,7 @@ class MainFrameModel { @Observable int messages @Observable String me @Observable int loadedFiles + @Observable int hashingFiles @Observable File hashingFile @Observable boolean cancelButtonEnabled @Observable boolean retryButtonEnabled @@ -423,17 +424,18 @@ class MainFrameModel { void onFileHashingEvent(FileHashingEvent e) { runInsideUIAsync { + hashingFiles++ hashingFile = e.hashingFile } } void onFileHashedEvent(FileHashedEvent e) { - runInsideUIAsync { - hashingFile = null - } if (e.error != null) return // TODO do something runInsideUIAsync { + hashingFiles-- + if (e.sharedFile.file == hashingFile) + hashingFile = null shared << e.sharedFile loadedFiles = shared.size() JTable table = builder.getVariable("shared-files-table") diff --git a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy index 66d85e2a..2c20c740 100644 --- a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy @@ -313,11 +313,13 @@ class MainFrameView { borderLayout() panel (constraints : BorderLayout.NORTH) { label(text : bind { - if (model.hashingFile == null) { + if (model.hashingFile == null && model.hashingFiles == 0) { trans("YOU_CAN_DRAG_AND_DROP") - } else { + } else if (model.hashingFiles == 1 && model.hashingFile != null) { trans("HASHING") + ": " + model.hashingFile.getAbsolutePath() + " (" + formatSize(model.hashingFile.length(),"BYTES_SHORT") + ")" + } else { + trans("HASHING") + " " + model.hashingFiles + " " + trans("FILES") } }) }