Merge pull request #1017 from SiboVG/issue-987
[fixes #987] Use warning dialog for thrust curve import issues
This commit is contained in:
commit
ff523003c0
@ -795,6 +795,11 @@ FinSetConfig.lbl.relativeto = relative to
|
||||
!FinMarkingGuide
|
||||
FinMarkingGuide.lbl.Front = Front
|
||||
|
||||
! MotorDatabaseLoaderDialog
|
||||
MotorDbLoaderDlg.title = Error upon thrust curve import
|
||||
MotorDbLoaderDlg.message1 = Thrust curve '<b>'{0}'</b>' will be ignored during import.
|
||||
MotorDbLoaderDlg.message2 = You can try replacing, deleting or manually editing the thrust curve file to fix this issue.
|
||||
|
||||
! MotorDatabaseLoadingDialog
|
||||
MotorDbLoadDlg.title = Loading motors
|
||||
MotorDbLoadDlg.Loadingmotors = Loading motors...
|
||||
|
@ -6,8 +6,10 @@ import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.List;
|
||||
|
||||
import net.sf.openrocket.l10n.Translator;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -22,6 +24,8 @@ import net.sf.openrocket.startup.Application;
|
||||
import net.sf.openrocket.util.BugException;
|
||||
import net.sf.openrocket.util.Pair;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
/**
|
||||
* An asynchronous database loader that loads the internal thrust curves
|
||||
* and external user-supplied thrust curves to a ThrustCurveMotorSetDatabase.
|
||||
@ -32,7 +36,7 @@ import net.sf.openrocket.util.Pair;
|
||||
public class MotorDatabaseLoader extends AsynchronousDatabaseLoader {
|
||||
|
||||
private final static Logger log = LoggerFactory.getLogger(MotorDatabaseLoader.class);
|
||||
|
||||
|
||||
private static final String THRUSTCURVE_DIRECTORY = "datafiles/thrustcurves/";
|
||||
private static final long STARTUP_DELAY = 0;
|
||||
|
||||
@ -135,7 +139,17 @@ public class MotorDatabaseLoader extends AsynchronousDatabaseLoader {
|
||||
private void loadFile(GeneralMotorLoader loader, Pair<String, InputStream> f) {
|
||||
try {
|
||||
List<ThrustCurveMotor.Builder> motors = loader.load(f.getV(), f.getU());
|
||||
addMotorsFromBuilders(motors);
|
||||
try {
|
||||
addMotorsFromBuilders(motors);
|
||||
}
|
||||
catch (IllegalArgumentException e) {
|
||||
Translator trans = Application.getTranslator();
|
||||
String message = "<html><body><p style='width: 400px;'><i>" + e.getMessage() +
|
||||
"</i>.<br><br>" + MessageFormat.format( trans.get("MotorDbLoaderDlg.message1"), f.getU()) +
|
||||
"<br>" + trans.get("MotorDbLoaderDlg.message2") + "</p></body></html>";
|
||||
JOptionPane.showMessageDialog(null,
|
||||
message, trans.get("MotorDbLoaderDlg.title"), JOptionPane.WARNING_MESSAGE);
|
||||
}
|
||||
f.getV().close();
|
||||
} catch (IOException e) {
|
||||
log.warn("IOException while loading file " + f.getU() + ": " + e, e);
|
||||
|
@ -57,7 +57,7 @@ public class SwingWorkerDialog extends JDialog implements PropertyChangeListener
|
||||
|
||||
|
||||
private SwingWorkerDialog(Window parent, String title, String label, SwingWorker<?, ?> w) {
|
||||
super(parent, title, ModalityType.APPLICATION_MODAL);
|
||||
super(parent, title, ModalityType.DOCUMENT_MODAL);
|
||||
|
||||
this.worker = w;
|
||||
w.addPropertyChangeListener(this);
|
||||
|
@ -34,7 +34,7 @@ import com.google.inject.Provider;
|
||||
public class BlockingMotorDatabaseProvider implements Provider<ThrustCurveMotorSetDatabase> {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(BlockingMotorDatabaseProvider.class);
|
||||
|
||||
|
||||
@Inject
|
||||
private Translator trans;
|
||||
|
||||
@ -99,7 +99,7 @@ public class BlockingMotorDatabaseProvider implements Provider<ThrustCurveMotorS
|
||||
|
||||
private class LoadingDialog extends JDialog {
|
||||
private LoadingDialog() {
|
||||
super(null, trans.get("MotorDbLoadDlg.title"), ModalityType.APPLICATION_MODAL);
|
||||
super(null, trans.get("MotorDbLoadDlg.title"), ModalityType.DOCUMENT_MODAL);
|
||||
|
||||
JPanel panel = new JPanel(new MigLayout("fill"));
|
||||
panel.add(new JLabel(trans.get("MotorDbLoadDlg.Loadingmotors")), "wrap para");
|
||||
|
Loading…
x
Reference in New Issue
Block a user