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); + }