From c6a2d088b6a1163c71c8b910441ead71104b8592 Mon Sep 17 00:00:00 2001 From: crschnick Date: Tue, 5 Aug 2025 21:58:48 +0000 Subject: [PATCH] Rework --- .../java/io/xpipe/app/ext/HostAddressChoice.java | 6 ++---- .../io/xpipe/app/ext/HostAddressChoiceComp.java | 15 +++++++++------ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/ext/HostAddressChoice.java b/app/src/main/java/io/xpipe/app/ext/HostAddressChoice.java index 3d2b1950c..e893e700d 100644 --- a/app/src/main/java/io/xpipe/app/ext/HostAddressChoice.java +++ b/app/src/main/java/io/xpipe/app/ext/HostAddressChoice.java @@ -5,17 +5,15 @@ import javafx.beans.property.*; import javafx.collections.FXCollections; import lombok.Builder; import lombok.Value; -import lombok.val; import java.util.ArrayList; -import java.util.List; @Builder @Value public class HostAddressChoice { Property value; - boolean allowAdd; + boolean allowMutation; String translationKey; boolean includeDescription; @@ -29,7 +27,7 @@ public class HostAddressChoice { } else { options.name(translationKey); } - options.addComp(new HostAddressChoiceComp(val, list, allowAdd)) + options.addComp(new HostAddressChoiceComp(val, list, allowMutation)) .addProperty(val); options.bind( () -> { diff --git a/app/src/main/java/io/xpipe/app/ext/HostAddressChoiceComp.java b/app/src/main/java/io/xpipe/app/ext/HostAddressChoiceComp.java index 040a8c60b..94cad4f9e 100644 --- a/app/src/main/java/io/xpipe/app/ext/HostAddressChoiceComp.java +++ b/app/src/main/java/io/xpipe/app/ext/HostAddressChoiceComp.java @@ -56,13 +56,14 @@ public class HostAddressChoiceComp extends Comp> { currentAddress.setValue(null); }); - addButton.disable(!mutable); addButton.styleClass(Styles.CENTER_PILL).grow(false, true); addButton.tooltipKey("addAnotherHostName"); var nodes = new ArrayList>(); nodes.add(combo); - nodes.add(addButton); + if (mutable) { + nodes.add(addButton); + } var layout = new InputGroupComp(nodes).apply(struc -> struc.get().setFillHeight(true)); layout.apply(struc -> { @@ -103,9 +104,11 @@ public class HostAddressChoiceComp extends Comp> { var hbox = new HBox(); hbox.getChildren().add(new Label(item)); hbox.getChildren().add(new Spacer()); - hbox.getChildren().add(new IconButtonComp("mdi2t-trash-can-outline", () -> { - allAddresses.remove(item); - }).createRegion()); + if (mutable) { + hbox.getChildren().add(new IconButtonComp("mdi2t-trash-can-outline", () -> { + allAddresses.remove(item); + }).createRegion()); + } setGraphic(hbox); setText(null); @@ -133,7 +136,7 @@ public class HostAddressChoiceComp extends Comp> { }); struc.get().pseudoClassStateChanged(PseudoClass.getPseudoClass("empty"), allAddresses.isEmpty()); - struc.get().disarm(); + struc.get().setEditable(mutable); }); combo.hgrow(); combo.styleClass(Styles.LEFT_PILL);