diff --git a/client/src/main/java/ctbrec/ui/controls/AbstractFileSelectionBox.java b/client/src/main/java/ctbrec/ui/controls/AbstractFileSelectionBox.java index f377998b..a5a4983c 100644 --- a/client/src/main/java/ctbrec/ui/controls/AbstractFileSelectionBox.java +++ b/client/src/main/java/ctbrec/ui/controls/AbstractFileSelectionBox.java @@ -60,6 +60,16 @@ public abstract class AbstractFileSelectionBox extends HBox { fileInput.disableProperty().bind(disableProperty()); browse.disableProperty().bind(disableProperty()); HBox.setHgrow(fileInput, Priority.ALWAYS); + + disabledProperty().addListener((obs, oldV, newV) -> { + if (newV) { + hideValidationHints(); + } else { + if (StringUtil.isNotBlank(fileInput.getText())) { + setFile(new File(fileInput.getText())); + } + } + }); } public AbstractFileSelectionBox(String initialValue) { @@ -104,6 +114,10 @@ public abstract class AbstractFileSelectionBox extends HBox { } protected String validate(File file) { + if(isDisabled()) { + return null; + } + if (file == null || !file.exists()) { return "File does not exist"; } else { diff --git a/client/src/main/java/ctbrec/ui/controls/DirectorySelectionBox.java b/client/src/main/java/ctbrec/ui/controls/DirectorySelectionBox.java index ca65a7c4..dff40dd8 100644 --- a/client/src/main/java/ctbrec/ui/controls/DirectorySelectionBox.java +++ b/client/src/main/java/ctbrec/ui/controls/DirectorySelectionBox.java @@ -25,6 +25,10 @@ public class DirectorySelectionBox extends AbstractFileSelectionBox { @Override protected String validate(File file) { + if(isDisabled()) { + return null; + } + String msg = super.validate(file); if(msg != null) { return msg; diff --git a/client/src/main/java/ctbrec/ui/controls/FileSelectionBox.java b/client/src/main/java/ctbrec/ui/controls/FileSelectionBox.java index c4f3dfe4..88022dc6 100644 --- a/client/src/main/java/ctbrec/ui/controls/FileSelectionBox.java +++ b/client/src/main/java/ctbrec/ui/controls/FileSelectionBox.java @@ -12,6 +12,10 @@ public class FileSelectionBox extends AbstractFileSelectionBox { @Override protected String validate(File file) { + if(isDisabled()) { + return null; + } + String msg = super.validate(file); if(msg != null) { return msg; diff --git a/client/src/main/java/ctbrec/ui/controls/ProgramSelectionBox.java b/client/src/main/java/ctbrec/ui/controls/ProgramSelectionBox.java index 1ed2b85e..2a950f65 100644 --- a/client/src/main/java/ctbrec/ui/controls/ProgramSelectionBox.java +++ b/client/src/main/java/ctbrec/ui/controls/ProgramSelectionBox.java @@ -12,6 +12,10 @@ public class ProgramSelectionBox extends FileSelectionBox { @Override protected String validate(File file) { + if(isDisabled()) { + return null; + } + String msg = super.validate(file); if(msg != null) { return msg;