diff --git a/src/main/java/de/neemann/digital/gui/components/table/TableDialog.java b/src/main/java/de/neemann/digital/gui/components/table/TableDialog.java
index d5b6b12d4..d3d841bc6 100644
--- a/src/main/java/de/neemann/digital/gui/components/table/TableDialog.java
+++ b/src/main/java/de/neemann/digital/gui/components/table/TableDialog.java
@@ -448,12 +448,27 @@ public class TableDialog extends JDialog {
private void createCUPL(Gal16v8CuplExporter cupl) {
try {
- if (filename == null)
- throw new IOException(Lang.get("err_noFileNameAvailable"));
-
- String name = filename.getName();
- if (name.endsWith(".dig")) name = name.substring(0, name.length() - 4);
- File cuplPath = new File(filename.getParentFile(), "CUPL_" + name);
+ File cuplPath;
+ if (filename == null) {
+ JFileChooser fc = new JFileChooser();
+ fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+ fc.setDialogTitle(Lang.get("msg_selectAnEmptyFolder"));
+ if (fc.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
+ cuplPath = fc.getSelectedFile();
+ filename = cuplPath;
+ } else {
+ return;
+ }
+ } else {
+ if (filename.isDirectory()) {
+ cuplPath = filename;
+ } else {
+ String name = filename.getName();
+ if (name.length() > 3 && name.charAt(name.length() - 4) == '.')
+ name = name.substring(0, name.length() - 4);
+ cuplPath = new File(filename.getParentFile(), "CUPL_" + name);
+ }
+ }
if (!cuplPath.mkdirs())
if (!cuplPath.exists())
diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml
index 7e56e6cb8..4d979b858 100644
--- a/src/main/resources/lang/lang_de.xml
+++ b/src/main/resources/lang/lang_de.xml
@@ -258,7 +258,6 @@ Zur Analyse können Sie die Schaltung im Gatterschrittmodus ausführen.
Browser konnte nicht geöffnet werden.
Der Splitter unterstützt keine HighZ Eingänge! Verwenden Sie einen PullUp- oder PullDown-Widerstand
Ein Splitter der hochohmige Eingänge erlaubt, kann nur einen Eingang haben!
- Die Datei wurde noch nicht gespeichert!
Konnte den Order '{0}' nicht erzeugen!
Adress-Bits
@@ -499,6 +498,7 @@ Die Icons stammen aus dem Tango Desktop Project.
Speichern der Daten fehlgeschlagen!
Fehler bei der Erzeugung der Hilfe!
In der Zwischenablage befinden sich keine importierbaren Daten!
+ Wählen Sie einen leeren Ordner aus!
Ok
0°
180°
diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml
index 2e64695a8..d9e279319 100644
--- a/src/main/resources/lang/lang_en.xml
+++ b/src/main/resources/lang/lang_en.xml
@@ -251,7 +251,6 @@ To analyse you can run the circuit in single gate step mode.
Could not open the browser.
The splitter does not support high z inputs! Use a pull up or pull down resisitor.
A splitter which allows high z inputs can only have one input!
- File not saved already! There is no filename avaiable!
Could not create folder '{0}'!
Address Bits
@@ -492,6 +491,7 @@ The icons are taken from the Tango Desktop Project.
Error writing the data!
Error creating the help!
The clipboard contains no importable data!
+ Select an empty folder!
Ok
0°
180°