Sync download change listeners

This commit is contained in:
crschnick 2024-07-23 06:18:59 +00:00
parent 490bd7953b
commit 167d1c1da2
2 changed files with 12 additions and 6 deletions

View file

@ -56,11 +56,15 @@ public class BrowserTransferComp extends SimpleComp {
if (sourceItem.isEmpty()) { if (sourceItem.isEmpty()) {
return new SimpleStringProperty("?"); return new SimpleStringProperty("?");
} }
return Bindings.createStringBinding(() -> { synchronized (sourceItem.get().getProgress()) {
var p = sourceItem.get().getProgress().getValue(); return Bindings.createStringBinding(() -> {
var progressSuffix = p == null || sourceItem.get().downloadFinished().get() ? "" : " " + (p.getTransferred() * 100 / p.getTotal()) + "%"; var p = sourceItem.get().getProgress().getValue();
return entry.getFileName() + progressSuffix; var progressSuffix = p == null || sourceItem.get().downloadFinished().get() ?
}, sourceItem.get().getProgress()); "" :
" " + (p.getTransferred() * 100 / p.getTotal()) + "%";
return entry.getFileName() + progressSuffix;
}, sourceItem.get().getProgress());
}
}) })
.grow(false, true); .grow(false, true);
var dragNotice = new LabelComp(AppI18n.observable("dragLocalFiles")) var dragNotice = new LabelComp(AppI18n.observable("dragLocalFiles"))

View file

@ -130,7 +130,9 @@ public class BrowserTransferModel {
BrowserFileTransferMode.COPY, BrowserFileTransferMode.COPY,
false, false,
progress -> { progress -> {
item.getProgress().setValue(progress); synchronized (item.getProgress()) {
item.getProgress().setValue(progress);
}
item.getOpenFileSystemModel().getProgress().setValue(progress); item.getOpenFileSystemModel().getProgress().setValue(progress);
}); });
op.execute(); op.execute();