diff --git a/src/main/java/de/neemann/digital/gui/Main.java b/src/main/java/de/neemann/digital/gui/Main.java index 857efa0a2..c1c9433c9 100644 --- a/src/main/java/de/neemann/digital/gui/Main.java +++ b/src/main/java/de/neemann/digital/gui/Main.java @@ -182,16 +182,18 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS circuitComponent = new CircuitComponent(this, library, shapeFactory); circuitComponent.addListener(this); - if (builder.circuit != null) { - SwingUtilities.invokeLater(() -> circuitComponent.setCircuit(builder.circuit)); - setFilename(builder.fileToOpen, false); - } else { - if (builder.fileToOpen != null) { - SwingUtilities.invokeLater(() -> loadFile(builder.fileToOpen, builder.library == null, builder.library == null)); + if (!builder.dontOpenFile) { + if (builder.circuit != null) { + SwingUtilities.invokeLater(() -> circuitComponent.setCircuit(builder.circuit)); + setFilename(builder.fileToOpen, false); } else { - File name = fileHistory.getMostRecent(); - if (name != null) { - SwingUtilities.invokeLater(() -> loadFile(name, true, false)); + if (builder.fileToOpen != null) { + SwingUtilities.invokeLater(() -> loadFile(builder.fileToOpen, builder.library == null, builder.library == null)); + } else { + File name = fileHistory.getMostRecent(); + if (name != null) { + SwingUtilities.invokeLater(() -> loadFile(name, true, false)); + } } } } @@ -1830,6 +1832,10 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS if (file != null) builder.setFileToOpen(file); SwingUtilities.invokeLater(() -> { + final boolean tutorial = Settings.getInstance().getAttributes().get(Keys.SETTINGS_SHOW_TUTORIAL); + if (tutorial) + builder.setDontOpenAFile(true); + Main main = builder.build(); try { new RemoteSever(new DigitalHandler(main)).start(41114); @@ -1838,7 +1844,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS } main.setVisible(true); - if (Settings.getInstance().getAttributes().get(Keys.SETTINGS_SHOW_TUTORIAL)) + if (tutorial) new InitialTutorial(main).setVisible(true); CheckForNewRelease.showReleaseDialog(main); @@ -1858,6 +1864,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS private File baseFileName; private boolean keepPrefMainFile; private boolean mainFrame = false; + private boolean dontOpenFile =false; /** * @param fileToOpen the file to open @@ -1925,6 +1932,14 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS return this; } + /** + * Avoids to open a file + * @param dontOpenFile true if no file should be opened + */ + public void setDontOpenAFile(boolean dontOpenFile) { + this.dontOpenFile = dontOpenFile; + } + /** * Creates a new Main instance * diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index 1e6907d1a..39ad5142b 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -1999,7 +1999,7 @@ Daher steht auch das Signal 'D_out' zur Verfügung, um in diesem Fall den Wert z Der Vollständigkeit halber sollen die Ein- und Ausgänge benannt werden. - Durch Rechts-Klick auf einen Einsgang öffnet sich ein Dialog (Unter MacOS wird + Durch Rechts-Klick auf einen Eingang öffnet sich ein Dialog (Unter MacOS wird Controll-Klick verwendet). Hier kann der Eingang mit einer Bezeichnung versehen werden.