[fixes #987] Use warning dialog for thrust curve import issues
This commit is contained in:
parent
46b974cae7
commit
e38907122b
@ -792,6 +792,12 @@ FinSetConfig.lbl.relativeto = relative to
|
|||||||
!FinMarkingGuide
|
!FinMarkingGuide
|
||||||
FinMarkingGuide.lbl.Front = Front
|
FinMarkingGuide.lbl.Front = Front
|
||||||
|
|
||||||
|
! MotorDatabaseLoaderDialog
|
||||||
|
MotorDbLoaderDlg.title = Error upon thrust curve import
|
||||||
|
MotorDbLoaderDlg.message1 = Thrust curve
|
||||||
|
MotorDbLoaderDlg.message2 = will be ignored during import.
|
||||||
|
MotorDbLoaderDlg.message3 = You can try replacing, deleting or manually editing the thrust curve file to fix this issue.
|
||||||
|
|
||||||
! MotorDatabaseLoadingDialog
|
! MotorDatabaseLoadingDialog
|
||||||
MotorDbLoadDlg.title = Loading motors
|
MotorDbLoadDlg.title = Loading motors
|
||||||
MotorDbLoadDlg.Loadingmotors = Loading motors...
|
MotorDbLoadDlg.Loadingmotors = Loading motors...
|
||||||
|
@ -8,6 +8,7 @@ import java.io.InputStream;
|
|||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.sf.openrocket.l10n.Translator;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
@ -22,6 +23,8 @@ import net.sf.openrocket.startup.Application;
|
|||||||
import net.sf.openrocket.util.BugException;
|
import net.sf.openrocket.util.BugException;
|
||||||
import net.sf.openrocket.util.Pair;
|
import net.sf.openrocket.util.Pair;
|
||||||
|
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An asynchronous database loader that loads the internal thrust curves
|
* An asynchronous database loader that loads the internal thrust curves
|
||||||
* and external user-supplied thrust curves to a ThrustCurveMotorSetDatabase.
|
* and external user-supplied thrust curves to a ThrustCurveMotorSetDatabase.
|
||||||
@ -135,7 +138,18 @@ public class MotorDatabaseLoader extends AsynchronousDatabaseLoader {
|
|||||||
private void loadFile(GeneralMotorLoader loader, Pair<String, InputStream> f) {
|
private void loadFile(GeneralMotorLoader loader, Pair<String, InputStream> f) {
|
||||||
try {
|
try {
|
||||||
List<ThrustCurveMotor.Builder> motors = loader.load(f.getV(), f.getU());
|
List<ThrustCurveMotor.Builder> motors = loader.load(f.getV(), f.getU());
|
||||||
|
try {
|
||||||
addMotorsFromBuilders(motors);
|
addMotorsFromBuilders(motors);
|
||||||
|
}
|
||||||
|
catch (IllegalArgumentException e) {
|
||||||
|
Translator trans = Application.getTranslator();
|
||||||
|
String message = "<html><body><p style='width: 400px;'><i>" + e.getMessage() +
|
||||||
|
"</i>.<br><br>" + trans.get("MotorDbLoaderDlg.message1") + " '<b>" + f.getU() + "</b>' " +
|
||||||
|
trans.get("MotorDbLoaderDlg.message2")
|
||||||
|
+ "<br>" + trans.get("MotorDbLoaderDlg.message3") + "</p></body></html>";
|
||||||
|
JOptionPane.showMessageDialog(null,
|
||||||
|
message, trans.get("MotorDbLoaderDlg.title"), JOptionPane.WARNING_MESSAGE);
|
||||||
|
}
|
||||||
f.getV().close();
|
f.getV().close();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.warn("IOException while loading file " + f.getU() + ": " + e, e);
|
log.warn("IOException while loading file " + f.getU() + ": " + e, e);
|
||||||
|
@ -99,7 +99,7 @@ public class BlockingMotorDatabaseProvider implements Provider<ThrustCurveMotorS
|
|||||||
|
|
||||||
private class LoadingDialog extends JDialog {
|
private class LoadingDialog extends JDialog {
|
||||||
private LoadingDialog() {
|
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"));
|
JPanel panel = new JPanel(new MigLayout("fill"));
|
||||||
panel.add(new JLabel(trans.get("MotorDbLoadDlg.Loadingmotors")), "wrap para");
|
panel.add(new JLabel(trans.get("MotorDbLoadDlg.Loadingmotors")), "wrap para");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user