Improve input field of export file name
This commit is contained in:
parent
f04eb5310e
commit
a111d12969
|
@ -70,7 +70,7 @@ public abstract class AbstractFileSelectionBox extends HBox {
|
||||||
fileInput.setText(initialValue);
|
fileInput.setText(initialValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ChangeListener<? super String> textListener() {
|
protected ChangeListener<String> textListener() {
|
||||||
return (obs, o, n) -> {
|
return (obs, o, n) -> {
|
||||||
var input = fileInput.getText();
|
var input = fileInput.getText();
|
||||||
if (StringUtil.isBlank(input)) {
|
if (StringUtil.isBlank(input)) {
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
package ctbrec.ui.controls;
|
||||||
|
|
||||||
|
import javafx.beans.value.ChangeListener;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
public class SaveFileSelectionBox extends FileSelectionBox {
|
||||||
|
|
||||||
|
public SaveFileSelectionBox() {
|
||||||
|
disableValidation();
|
||||||
|
useSaveDialog();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void setFile(File file) {
|
||||||
|
// nothing to do
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ChangeListener<String> textListener() {
|
||||||
|
return (obs, o, n) -> {};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String validate(File file) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
|
@ -60,12 +60,9 @@ import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
import static ctbrec.ui.tabs.recorded.ModelImportExport.ExportIncludes.*;
|
|
||||||
|
|
||||||
public abstract class AbstractRecordedModelsTab extends Tab implements TabSelectionListener {
|
public abstract class AbstractRecordedModelsTab extends Tab implements TabSelectionListener {
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(AbstractRecordedModelsTab.class);
|
private static final Logger LOG = LoggerFactory.getLogger(AbstractRecordedModelsTab.class);
|
||||||
private static final Image SILHOUETTE = new Image(AbstractRecordedModelsTab.class.getResourceAsStream("/silhouette_256.png"));
|
private static final Image SILHOUETTE = new Image(AbstractRecordedModelsTab.class.getResourceAsStream("/silhouette_256.png"));
|
||||||
|
@ -258,6 +255,7 @@ public abstract class AbstractRecordedModelsTab extends Tab implements TabSelect
|
||||||
@Override
|
@Override
|
||||||
protected void done() {
|
protected void done() {
|
||||||
getContent().setCursor(Cursor.DEFAULT);
|
getContent().setCursor(Cursor.DEFAULT);
|
||||||
|
reload();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
GlobalThreadPool.submit(task);
|
GlobalThreadPool.submit(task);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package ctbrec.ui.tabs.recorded;
|
package ctbrec.ui.tabs.recorded;
|
||||||
|
|
||||||
import ctbrec.ui.controls.Dialogs;
|
import ctbrec.ui.controls.Dialogs;
|
||||||
import ctbrec.ui.controls.FileSelectionBox;
|
import ctbrec.ui.controls.SaveFileSelectionBox;
|
||||||
import ctbrec.ui.tabs.recorded.ModelImportExport.ExportIncludes;
|
import ctbrec.ui.tabs.recorded.ModelImportExport.ExportIncludes;
|
||||||
import ctbrec.ui.tabs.recorded.ModelImportExport.ExportOptions;
|
import ctbrec.ui.tabs.recorded.ModelImportExport.ExportOptions;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
|
@ -11,6 +11,7 @@ import javafx.scene.Node;
|
||||||
import javafx.scene.control.CheckBox;
|
import javafx.scene.control.CheckBox;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.Priority;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -27,7 +28,7 @@ public class ModelExportDialog {
|
||||||
private CheckBox notesButton;
|
private CheckBox notesButton;
|
||||||
private CheckBox groupsButton;
|
private CheckBox groupsButton;
|
||||||
private CheckBox portraisButton;
|
private CheckBox portraisButton;
|
||||||
private FileSelectionBox fileSelectionBox;
|
private SaveFileSelectionBox fileSelectionBox;
|
||||||
|
|
||||||
public ModelExportDialog(Node source) {
|
public ModelExportDialog(Node source) {
|
||||||
this.source = source;
|
this.source = source;
|
||||||
|
@ -41,11 +42,11 @@ public class ModelExportDialog {
|
||||||
gridPane.setPadding(new Insets(20, 150, 10, 10));
|
gridPane.setPadding(new Insets(20, 150, 10, 10));
|
||||||
Label l = new Label("Export to file");
|
Label l = new Label("Export to file");
|
||||||
gridPane.add(l, 0, 0);
|
gridPane.add(l, 0, 0);
|
||||||
fileSelectionBox = new FileSelectionBox();
|
fileSelectionBox = new SaveFileSelectionBox();
|
||||||
fileSelectionBox.useSaveDialog();
|
|
||||||
fileSelectionBox.disableValidation();
|
|
||||||
gridPane.add(fileSelectionBox, 1, 0);
|
gridPane.add(fileSelectionBox, 1, 0);
|
||||||
GridPane.setValignment(l, VPos.TOP);
|
GridPane.setValignment(l, VPos.TOP);
|
||||||
|
GridPane.setMargin(l, new Insets(5, 0, 0, 0));
|
||||||
|
GridPane.setHgrow(fileSelectionBox, Priority.ALWAYS);
|
||||||
notesButton = new CheckBox("notes");
|
notesButton = new CheckBox("notes");
|
||||||
notesButton.setSelected(true);
|
notesButton.setSelected(true);
|
||||||
groupsButton = new CheckBox("groups");
|
groupsButton = new CheckBox("groups");
|
||||||
|
@ -57,6 +58,10 @@ public class ModelExportDialog {
|
||||||
VBox.setMargin(notesButton, new Insets(5));
|
VBox.setMargin(notesButton, new Insets(5));
|
||||||
VBox.setMargin(groupsButton, new Insets(5));
|
VBox.setMargin(groupsButton, new Insets(5));
|
||||||
VBox.setMargin(portraisButton, new Insets(5));
|
VBox.setMargin(portraisButton, new Insets(5));
|
||||||
|
l = new Label("Include");
|
||||||
|
GridPane.setMargin(l, new Insets(5, 0, 0, 0));
|
||||||
|
GridPane.setValignment(l, VPos.TOP);
|
||||||
|
gridPane.add(l, 0, 1);
|
||||||
gridPane.add(row, 1, 1);
|
gridPane.add(row, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue