motors = loader.load(f.getV(), f.getU());
- addMotorsFromBuilders(motors);
+ try {
+ addMotorsFromBuilders(motors);
+ }
+ catch (IllegalArgumentException e) {
+ Translator trans = Application.getTranslator();
+ String message = "" + e.getMessage() +
+ ".
" + MessageFormat.format( trans.get("MotorDbLoaderDlg.message1"), f.getU()) +
+ "
" + trans.get("MotorDbLoaderDlg.message2") + "
";
+ 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);
diff --git a/swing/src/net/sf/openrocket/gui/dialogs/SwingWorkerDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/SwingWorkerDialog.java
index c2ed358e7..c92bfb6c7 100644
--- a/swing/src/net/sf/openrocket/gui/dialogs/SwingWorkerDialog.java
+++ b/swing/src/net/sf/openrocket/gui/dialogs/SwingWorkerDialog.java
@@ -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);
diff --git a/swing/src/net/sf/openrocket/startup/providers/BlockingMotorDatabaseProvider.java b/swing/src/net/sf/openrocket/startup/providers/BlockingMotorDatabaseProvider.java
index f5d30f981..8697c083e 100644
--- a/swing/src/net/sf/openrocket/startup/providers/BlockingMotorDatabaseProvider.java
+++ b/swing/src/net/sf/openrocket/startup/providers/BlockingMotorDatabaseProvider.java
@@ -34,7 +34,7 @@ import com.google.inject.Provider;
public class BlockingMotorDatabaseProvider implements Provider {
private static final Logger log = LoggerFactory.getLogger(BlockingMotorDatabaseProvider.class);
-
+
@Inject
private Translator trans;
@@ -99,7 +99,7 @@ public class BlockingMotorDatabaseProvider implements Provider