Avoid opening a file if tutorial is started.

This commit is contained in:
hneemann 2019-07-17 09:36:36 +02:00
parent 736c9323cf
commit 1c1b3ef687
2 changed files with 26 additions and 11 deletions

View File

@ -182,16 +182,18 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
circuitComponent = new CircuitComponent(this, library, shapeFactory); circuitComponent = new CircuitComponent(this, library, shapeFactory);
circuitComponent.addListener(this); circuitComponent.addListener(this);
if (builder.circuit != null) { if (!builder.dontOpenFile) {
SwingUtilities.invokeLater(() -> circuitComponent.setCircuit(builder.circuit)); if (builder.circuit != null) {
setFilename(builder.fileToOpen, false); SwingUtilities.invokeLater(() -> circuitComponent.setCircuit(builder.circuit));
} else { setFilename(builder.fileToOpen, false);
if (builder.fileToOpen != null) {
SwingUtilities.invokeLater(() -> loadFile(builder.fileToOpen, builder.library == null, builder.library == null));
} else { } else {
File name = fileHistory.getMostRecent(); if (builder.fileToOpen != null) {
if (name != null) { SwingUtilities.invokeLater(() -> loadFile(builder.fileToOpen, builder.library == null, builder.library == null));
SwingUtilities.invokeLater(() -> loadFile(name, true, false)); } 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) if (file != null)
builder.setFileToOpen(file); builder.setFileToOpen(file);
SwingUtilities.invokeLater(() -> { SwingUtilities.invokeLater(() -> {
final boolean tutorial = Settings.getInstance().getAttributes().get(Keys.SETTINGS_SHOW_TUTORIAL);
if (tutorial)
builder.setDontOpenAFile(true);
Main main = builder.build(); Main main = builder.build();
try { try {
new RemoteSever(new DigitalHandler(main)).start(41114); new RemoteSever(new DigitalHandler(main)).start(41114);
@ -1838,7 +1844,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
} }
main.setVisible(true); main.setVisible(true);
if (Settings.getInstance().getAttributes().get(Keys.SETTINGS_SHOW_TUTORIAL)) if (tutorial)
new InitialTutorial(main).setVisible(true); new InitialTutorial(main).setVisible(true);
CheckForNewRelease.showReleaseDialog(main); CheckForNewRelease.showReleaseDialog(main);
@ -1858,6 +1864,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
private File baseFileName; private File baseFileName;
private boolean keepPrefMainFile; private boolean keepPrefMainFile;
private boolean mainFrame = false; private boolean mainFrame = false;
private boolean dontOpenFile =false;
/** /**
* @param fileToOpen the file to open * @param fileToOpen the file to open
@ -1925,6 +1932,14 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
return this; 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 * Creates a new Main instance
* *

View File

@ -1999,7 +1999,7 @@ Daher steht auch das Signal 'D_out' zur Verfügung, um in diesem Fall den Wert z
<string name="tutorial10"> <string name="tutorial10">
Der Vollständigkeit halber sollen die Ein- und Ausgänge benannt werden. 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. Controll-Klick verwendet). Hier kann der Eingang mit einer Bezeichnung versehen werden.
</string> </string>
<string name="tutorial11"> <string name="tutorial11">