mirror of
https://github.com/xpipe-io/xpipe.git
synced 2025-04-17 17:53:37 +00:00
Hide download box buttons while downloading
This commit is contained in:
parent
086237f965
commit
b4d1a9e68b
3 changed files with 18 additions and 4 deletions
|
@ -81,14 +81,14 @@ public class BrowserTransferComp extends SimpleComp {
|
|||
var dragNotice = new LabelComp(AppI18n.observable("dragLocalFiles"))
|
||||
.apply(struc -> struc.get().setGraphic(new FontIcon("mdi2h-hand-left")))
|
||||
.apply(struc -> struc.get().setWrapText(true))
|
||||
.hide(model.getEmpty());
|
||||
.hide(Bindings.or(model.getEmpty(), model.getTransferring()));
|
||||
|
||||
var clearButton = new IconButtonComp("mdi2c-close", () -> {
|
||||
ThreadHelper.runAsync(() -> {
|
||||
model.clear(true);
|
||||
});
|
||||
})
|
||||
.hide(model.getEmpty())
|
||||
.hide(Bindings.or(model.getEmpty(), model.getTransferring()))
|
||||
.tooltipKey("clearTransferDescription");
|
||||
|
||||
var downloadButton = new IconButtonComp("mdi2f-folder-move-outline", () -> {
|
||||
|
@ -96,7 +96,7 @@ public class BrowserTransferComp extends SimpleComp {
|
|||
model.transferToDownloads();
|
||||
});
|
||||
})
|
||||
.hide(model.getEmpty())
|
||||
.hide(Bindings.or(model.getEmpty(), model.getTransferring()))
|
||||
.tooltipKey("downloadStageDescription");
|
||||
|
||||
var bottom = new HorizontalComp(
|
||||
|
|
|
@ -8,7 +8,9 @@ import io.xpipe.app.util.ShellTemp;
|
|||
import io.xpipe.app.util.ThreadHelper;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.BooleanProperty;
|
||||
import javafx.beans.property.Property;
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
import javafx.beans.value.ObservableBooleanValue;
|
||||
import javafx.collections.FXCollections;
|
||||
|
@ -34,6 +36,7 @@ public class BrowserTransferModel {
|
|||
BrowserFullSessionModel browserSessionModel;
|
||||
ObservableList<Item> items = FXCollections.observableArrayList();
|
||||
ObservableBooleanValue empty = Bindings.createBooleanBinding(() -> items.isEmpty(), items);
|
||||
BooleanProperty transferring = new SimpleBooleanProperty();
|
||||
|
||||
public BrowserTransferModel(BrowserFullSessionModel browserSessionModel) {
|
||||
this.browserSessionModel = browserSessionModel;
|
||||
|
@ -126,6 +129,7 @@ public class BrowserTransferModel {
|
|||
}
|
||||
|
||||
try {
|
||||
transferring.setValue(true);
|
||||
var op = new BrowserFileTransferOperation(
|
||||
BrowserLocalFileSystem.getLocalFileEntry(TEMP),
|
||||
List.of(item.getBrowserEntry().getRawFileEntry()),
|
||||
|
@ -150,6 +154,8 @@ public class BrowserTransferModel {
|
|||
synchronized (items) {
|
||||
items.remove(item);
|
||||
}
|
||||
} finally {
|
||||
transferring.setValue(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -154,7 +154,15 @@ public abstract class Comp<S extends CompStructure<?>> {
|
|||
}
|
||||
|
||||
public Comp<S> disable(ObservableValue<Boolean> o) {
|
||||
return apply(struc -> struc.get().disableProperty().bind(o));
|
||||
return apply(struc -> {
|
||||
var region = struc.get();
|
||||
BindingsHelper.preserve(region, o);
|
||||
o.subscribe(n -> {
|
||||
PlatformThread.runLaterIfNeeded(() -> {
|
||||
region.setDisable(n);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public Comp<S> padding(Insets insets) {
|
||||
|
|
Loading…
Add table
Reference in a new issue