diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties
index 2478fe6b7..d07b6588d 100644
--- a/core/resources/l10n/messages.properties
+++ b/core/resources/l10n/messages.properties
@@ -181,6 +181,10 @@ edtmotorconfdlg.but.Copyconfiguration = Copy
edtmotorconfdlg.but.Selectignition = Select ignition
edtmotorconfdlg.lbl.Motormounts = Motor mounts:
edtmotorconfdlg.title.Editmotorconf = Edit Flight configurations
+edtmotorconfdlg.title.Renameconf = Rename Flight Configuration
+edtmotorconfdlg.title.Selectdeploymentconf = Select Deployment Configuration
+edtmotorconfdlg.title.Selectignitionconf = Select Ignition Configuration
+edtmotorconfdlg.title.Selectseparationconf = Select Separation Configuration
edtmotorconfdlg.selectcomp = Select which components function as motor mounts:
edtmotorconfdlg.lbl.Motorconfig = Motor configurations:
edtmotorconfdlg.lbl.Configname = Configuration name:
diff --git a/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/FlightConfigurationDialog.java b/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/FlightConfigurationDialog.java
index e6df6fcd9..8aa4a1aa6 100644
--- a/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/FlightConfigurationDialog.java
+++ b/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/FlightConfigurationDialog.java
@@ -1,5 +1,6 @@
package net.sf.openrocket.gui.dialogs.flightconfiguration;
+import java.awt.Dialog;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -41,7 +42,7 @@ public class FlightConfigurationDialog extends JDialog {
public FlightConfigurationDialog(final Rocket rocket, Window parent) {
//// Edit motor configurations
- super(parent, trans.get("edtmotorconfdlg.title.Editmotorconf"));
+ super(parent, trans.get("edtmotorconfdlg.title.Editmotorconf"), Dialog.ModalityType.APPLICATION_MODAL);
currentID = rocket.getDefaultConfiguration().getFlightConfigurationID();
diff --git a/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/RenameConfigDialog.java b/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/RenameConfigDialog.java
index be67eb443..16b56e0f9 100644
--- a/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/RenameConfigDialog.java
+++ b/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/RenameConfigDialog.java
@@ -1,5 +1,6 @@
package net.sf.openrocket.gui.dialogs.flightconfiguration;
+import java.awt.Dialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -15,8 +16,7 @@ import net.sf.openrocket.rocketcomponent.Rocket;
public class RenameConfigDialog extends JDialog {
RenameConfigDialog( final Rocket rocket, final FlightConfigurationDialog parent ) {
- super(parent);
- super.setModal(true);
+ super(parent, FlightConfigurationDialog.trans.get("edtmotorconfdlg.title.Renameconf"),Dialog.ModalityType.APPLICATION_MODAL);
final Configuration config = rocket.getDefaultConfiguration();
JPanel panel = new JPanel(new MigLayout("fill"));
@@ -65,6 +65,8 @@ public class RenameConfigDialog extends JDialog {
this.setContentPane(panel);
this.validate();
this.pack();
+ this.setLocationByPlatform(true);
+
}
}
diff --git a/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectDeploymentConfigDialog.java b/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectDeploymentConfigDialog.java
index fa96d530e..0257c610d 100644
--- a/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectDeploymentConfigDialog.java
+++ b/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectDeploymentConfigDialog.java
@@ -1,5 +1,6 @@
package net.sf.openrocket.gui.dialogs.flightconfiguration;
+import java.awt.Dialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -28,8 +29,8 @@ public class SelectDeploymentConfigDialog extends JDialog {
SelectDeploymentConfigDialog( JDialog parent, final Rocket rocket, final RecoveryDevice component ) {
- super(parent);
- super.setModal(true);
+ super(parent, FlightConfigurationDialog.trans.get("edtmotorconfdlg.title.Selectdeploymentconf"),Dialog.ModalityType.APPLICATION_MODAL);
+
final String configId = rocket.getDefaultConfiguration().getFlightConfigurationID();
newConfiguration = component.getFlightConfiguration(configId);
@@ -138,6 +139,8 @@ public class SelectDeploymentConfigDialog extends JDialog {
this.setContentPane(panel);
this.validate();
this.pack();
+ this.setLocationByPlatform(true);
+
}
diff --git a/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectIgnitionConfigDialog.java b/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectIgnitionConfigDialog.java
index f3525a049..5b2076c80 100644
--- a/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectIgnitionConfigDialog.java
+++ b/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectIgnitionConfigDialog.java
@@ -1,5 +1,6 @@
package net.sf.openrocket.gui.dialogs.flightconfiguration;
+import java.awt.Dialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -25,8 +26,7 @@ public class SelectIgnitionConfigDialog extends JDialog {
MotorConfiguration newConfiguration;
SelectIgnitionConfigDialog(JDialog parent,final Rocket rocket, final MotorMount component ) {
- super(parent);
- super.setModal(true);
+ super(parent, FlightConfigurationDialog.trans.get("edtmotorconfdlg.title.Selectignitionconf"),Dialog.ModalityType.APPLICATION_MODAL);
final String configId = rocket.getDefaultConfiguration().getFlightConfigurationID();
newConfiguration = component.getFlightConfiguration(configId);
@@ -37,6 +37,15 @@ public class SelectIgnitionConfigDialog extends JDialog {
// is put back in there.
newConfiguration = newConfiguration.clone();
}
+ // MotorConfiguration is a little wierd. It is possible for the MotorConfiguration
+ // to be non-null (for example, a motor is selected) but the ignition spec is null
+ // (ignition is not overridden). In order to accomodate this, we need to test
+ // for IgnitionEvent and copy from the default config.
+ if ( newConfiguration.getIgnitionEvent() == null ) {
+ MotorConfiguration oldConfig = component.getDefaultFlightConfiguration();
+ newConfiguration.setIgnitionDelay( oldConfig.getIgnitionDelay() );
+ newConfiguration.setIgnitionEvent(oldConfig.getIgnitionEvent() );
+ }
JPanel panel = new JPanel(new MigLayout("fill"));
@@ -46,7 +55,6 @@ public class SelectIgnitionConfigDialog extends JDialog {
final JComboBox event = new JComboBox(new BasicEnumModel(IgnitionEvent.class));
event.setSelectedItem( newConfiguration.getIgnitionEvent() );
- //FIXME set selection based on newConfiguration.getIgnitionEvent();
panel.add(event, "growx, wrap");
// ... and delay
@@ -76,6 +84,7 @@ public class SelectIgnitionConfigDialog extends JDialog {
double ignitionDelay = delay.getValue();
newConfiguration.setIgnitionDelay(ignitionDelay);
+
component.setFlightConfiguration(configId, newConfiguration);
SelectIgnitionConfigDialog.this.setVisible(false);
@@ -100,6 +109,7 @@ public class SelectIgnitionConfigDialog extends JDialog {
this.setContentPane(panel);
this.validate();
this.pack();
+ this.setLocationByPlatform(true);
}
}
diff --git a/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectSeparationConfigDialog.java b/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectSeparationConfigDialog.java
index 512ec1516..1d761aa2c 100644
--- a/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectSeparationConfigDialog.java
+++ b/core/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SelectSeparationConfigDialog.java
@@ -1,5 +1,6 @@
package net.sf.openrocket.gui.dialogs.flightconfiguration;
+import java.awt.Dialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -27,8 +28,7 @@ public class SelectSeparationConfigDialog extends JDialog {
StageSeparationConfiguration newConfiguration;
SelectSeparationConfigDialog( JDialog parent, final Rocket rocket, final Stage component ) {
- super(parent);
- super.setModal(true);
+ super(parent, FlightConfigurationDialog.trans.get("edtmotorconfdlg.title.Selectseparationconf"),Dialog.ModalityType.APPLICATION_MODAL);
final String configId = rocket.getDefaultConfiguration().getFlightConfigurationID();
newConfiguration = component.getFlightConfiguration(configId);
@@ -99,6 +99,8 @@ public class SelectSeparationConfigDialog extends JDialog {
this.setContentPane(panel);
this.validate();
this.pack();
+ this.setLocationByPlatform(true);
+
}