mirror of
https://github.com/frosch95/SmartCSV.fx.git
synced 2026-04-12 05:58:22 +02:00
When a new file is opened check first if there are unsafed changes and show a warning dialog.
This commit is contained in:
@@ -276,7 +276,7 @@ public class SmartCSVController extends FXMLController {
|
||||
tableWrapper.setOnDragDropped(event -> {
|
||||
Dragboard db = event.getDragboard();
|
||||
boolean success = false;
|
||||
if (db.hasFiles() && db.getFiles().size() == 1) {
|
||||
if (db.hasFiles() && db.getFiles().size() == 1 && canOpen()) {
|
||||
File file = db.getFiles().get(0);
|
||||
openFile(currentCsvFile, file);
|
||||
success = true;
|
||||
@@ -503,6 +503,22 @@ public class SmartCSVController extends FXMLController {
|
||||
return canExit;
|
||||
}
|
||||
|
||||
private boolean canOpen() {
|
||||
boolean canOpen = true;
|
||||
if (currentCsvFile.getContent() != null && currentCsvFile.isFileChanged()) {
|
||||
Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
|
||||
alert.setTitle(resourceBundle.getString("dialog.changes.title"));
|
||||
alert.setHeaderText(resourceBundle.getString("dialog.changes.header.text"));
|
||||
alert.setContentText(resourceBundle.getString("dialog.changes.text"));
|
||||
|
||||
Optional<ButtonType> result = alert.showAndWait();
|
||||
if (result.get() != ButtonType.OK){
|
||||
canOpen = false;
|
||||
}
|
||||
}
|
||||
return canOpen;
|
||||
}
|
||||
|
||||
public void showValidationEditor(String column) {
|
||||
validationEditorController.setSelectedColumn(column);
|
||||
validationEditorController.updateForm();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
application.name = SmartCSV.fx
|
||||
application.version = 1.2.0
|
||||
application.version = 1.3.0
|
||||
|
||||
# fxml views
|
||||
fxml.smartcvs.view = /ninja/javafx/smartcsv/fx/smartcsv.fxml
|
||||
|
||||
@@ -29,6 +29,10 @@ dialog.exit.title = Close Application
|
||||
dialog.exit.header.text = Do you want to close application?
|
||||
dialog.exit.text = There are changes made to the csv file. If you close now, the changes are lost!
|
||||
|
||||
dialog.changes.title = Discard changes
|
||||
dialog.changes.header.text = Do you want to discard changes?
|
||||
dialog.changes.text = There are changes made to the csv file. If you open a new file, the changes are lost!
|
||||
|
||||
dialog.preferences.title = Preferences
|
||||
dialog.preferences.header.text = Preferences
|
||||
|
||||
|
||||
@@ -45,6 +45,10 @@ dialog.exit.title = Anwendung beenden
|
||||
dialog.exit.header.text = M\u00f6chten Sie wirklich die Anwendung beenden?
|
||||
dialog.exit.text = Es gibt noch ungespeicherte \u00c4nderungen, die verloren gehen, wenn Sie die Anwendung jetzt beenden.
|
||||
|
||||
dialog.changes.title = Änderungen verwerfen
|
||||
dialog.changes.header.text = Wollen Sie Ihre Änderungen verwerfen?
|
||||
dialog.changes.text = Es gibt noch ungespeicherte \u00c4nderungen, die verloren gehen, wenn Sie die Datei laden.
|
||||
|
||||
preferences.quoteChar = Einfassungszeichen:
|
||||
preferences.delimiterChar = Trennzeichen:
|
||||
preferences.ignoreEmptyLines = Leere Zeilen ignorieren:
|
||||
|
||||
Reference in New Issue
Block a user