remember the last directory and fixed NPE

This commit is contained in:
Andreas Billmann
2015-12-18 01:00:58 +01:00
parent ee94a5904e
commit f90d2fbe33

View File

@@ -99,6 +99,7 @@ public class SmartCSVController extends FXMLController {
private final SaveCSVService saveCSVService = new SaveCSVService();
private CSVModel model;
private TableView<CSVRow> tableView;
private File lastDirectory;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -189,6 +190,10 @@ public class SmartCSVController extends FXMLController {
fileChooser.getExtensionFilters().add(extFilter);
fileChooser.setTitle(title);
if (lastDirectory != null) {
fileChooser.setInitialDirectory(lastDirectory);
}
//Show open file dialog
final File file = fileChooser.showOpenDialog(applicationPane.getScene().getWindow());
if (file != null) {
@@ -225,11 +230,11 @@ public class SmartCSVController extends FXMLController {
*/
private void resetContent() {
model = csvLoader.getData();
if (model != null) {
model.setValidator(validationLoader.getValidator());
tableView = new TableView<>();
for (String column: model.getHeader()) {
for (String column : model.getHeader()) {
addColumn(column, tableView);
}
tableView.getItems().setAll(model.getRows());
@@ -241,9 +246,9 @@ public class SmartCSVController extends FXMLController {
AnchorPane.setRightAnchor(tableView, 0.0);
tableWrapper.getChildren().setAll(tableView);
errorList.setItems(model.getValidationError());
}
}
/**
* Adds a column with the given name to the tableview
@@ -305,6 +310,7 @@ public class SmartCSVController extends FXMLController {
protected Void call() throws Exception {
if (file != null) {
try {
lastDirectory = file.getParentFile();
fileReader.read(file);
runLater(SmartCSVController.this::resetContent);
} catch (Throwable ex) {