From 7ab943e824368a3808f8e8faeec7c570925ee2e8 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Wed, 1 Mar 2023 03:36:22 +0100 Subject: [PATCH 1/7] [#2090] Add plugged option to charge delay if it wasn't present yet --- .../ThrustCurveMotorSelectionPanel.java | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java index 1e2fd81cc..117d2ab7c 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java @@ -179,8 +179,11 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec delayBox.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - String sel = (String) delayBox.getSelectedItem(); + if (sel == null) { + log.debug("Selected charge delay is null"); + return; + } //// None if (sel.equalsIgnoreCase(trans.get("TCMotorSelPan.equalsIgnoreCase.None"))) { selectedDelay = Motor.PLUGGED_DELAY; @@ -663,47 +666,46 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec */ private void setDelays(boolean reset) { if (selectedMotor == null) { - //// None delayBox.setModel(new DefaultComboBoxModel(new String[] { trans.get("TCMotorSelPan.delayBox.None") })); delayBox.setSelectedIndex(0); - } else { - List delays = selectedMotorSet.getDelays(); - String[] delayStrings = new String[delays.size()]; + boolean containsPlugged = delays.contains(Motor.PLUGGED_DELAY); + int size = delays.size() + (containsPlugged ? 0 : 1); + String[] delayStrings = new String[size]; double currentDelay = selectedDelay; // Store current setting locally for (int i = 0; i < delays.size(); i++) { //// None delayStrings[i] = ThrustCurveMotor.getDelayString(delays.get(i), trans.get("TCMotorSelPan.delayBox.None")); } + // We always want the plugged option in the combobox, even if the motor doesn't have it + if (!containsPlugged) { + delayStrings[delayStrings.length - 1] = trans.get("TCMotorSelPan.delayBox.None"); + } delayBox.setModel(new DefaultComboBoxModel(delayStrings)); if (reset) { - // Find and set the closest value double closest = Double.NaN; - for (int i = 0; i < delays.size(); i++) { + for (Double delay : delays) { // if-condition to always become true for NaN - if (!(Math.abs(delays.get(i) - currentDelay) > Math.abs(closest - currentDelay))) { - closest = delays.get(i); + if (!(Math.abs(delay - currentDelay) > Math.abs(closest - currentDelay))) { + closest = delay; } } if (!Double.isNaN(closest)) { selectedDelay = closest; - //// None delayBox.setSelectedItem(ThrustCurveMotor.getDelayString(closest, trans.get("TCMotorSelPan.delayBox.None"))); } else { - delayBox.setSelectedItem("None"); + //// None + delayBox.setSelectedItem(trans.get("TCMotorSelPan.delayBox.None")); } } else { - selectedDelay = currentDelay; - //// None delayBox.setSelectedItem(ThrustCurveMotor.getDelayString(currentDelay, trans.get("TCMotorSelPan.delayBox.None"))); - } } From 5c2f35e3a116b0d273564d5373d379f37f037f57 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Wed, 1 Mar 2023 03:48:54 +0100 Subject: [PATCH 2/7] Fix plugged option not selecting --- core/resources/l10n/messages.properties | 1 - core/resources/l10n/messages_ar.properties | 1 - core/resources/l10n/messages_cs.properties | 1 - core/resources/l10n/messages_de.properties | 1 - core/resources/l10n/messages_es.properties | 1 - core/resources/l10n/messages_fr.properties | 1 - core/resources/l10n/messages_it.properties | 1 - core/resources/l10n/messages_ja.properties | 1 - core/resources/l10n/messages_nl.properties | 1 - core/resources/l10n/messages_pl.properties | 1 - core/resources/l10n/messages_pt.properties | 1 - core/resources/l10n/messages_ru.properties | 1 - core/resources/l10n/messages_uk_UA.properties | 1 - core/resources/l10n/messages_zh_CN.properties | 1 - .../motor/thrustcurve/ThrustCurveMotorSelectionPanel.java | 2 +- 15 files changed, 1 insertion(+), 15 deletions(-) diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index ebe011ef2..38a3dfec7 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -1372,7 +1372,6 @@ TCMotorSelPan.MotorMountDimensions = Motor mount dimensions: TCMotorSelPan.lbl.Search = Search: TCMotorSelPan.lbl.Selectthrustcurve = Select thrust curve: TCMotorSelPan.lbl.Ejectionchargedelay = Ejection charge delay: -TCMotorSelPan.equalsIgnoreCase.None = None TCMotorSelPan.lbl.NumberofsecondsorNone = (Number of seconds or \"None\") TCMotorSelPan.lbl.Designation = Designation: TCMotorSelPan.lbl.CommonName = Common name: diff --git a/core/resources/l10n/messages_ar.properties b/core/resources/l10n/messages_ar.properties index 96b73076c..a9a37c691 100644 --- a/core/resources/l10n/messages_ar.properties +++ b/core/resources/l10n/messages_ar.properties @@ -1335,7 +1335,6 @@ TCMotorSelPan.MotorMountDimensions = :أبعاد حامل المحرك TCMotorSelPan.lbl.Search = :بحث TCMotorSelPan.lbl.Selectthrustcurve = :حدد منحنى الدفع TCMotorSelPan.lbl.Ejectionchargedelay = :تأخير شحنة الإطلاق -TCMotorSelPan.equalsIgnoreCase.None = لا شئ TCMotorSelPan.lbl.NumberofsecondsorNone = (\"لا شئ\" عدد الثواني أو) TCMotorSelPan.lbl.Designation = :تسمية الشركة المصنعة TCMotorSelPan.lbl.Totalimpulse = :الدفع الكلي diff --git a/core/resources/l10n/messages_cs.properties b/core/resources/l10n/messages_cs.properties index 234e98879..26f2b1f2f 100644 --- a/core/resources/l10n/messages_cs.properties +++ b/core/resources/l10n/messages_cs.properties @@ -940,7 +940,6 @@ TCMotorSelPan.lbl.Motormountdia = Prumer uchycen TCMotorSelPan.lbl.Search = Hledej: TCMotorSelPan.lbl.Selectthrustcurve = Vyber vkonovou krivku: TCMotorSelPan.lbl.Ejectionchargedelay = Oddelovac zpo\u017Eden: -TCMotorSelPan.equalsIgnoreCase.None = Nic TCMotorSelPan.lbl.NumberofsecondsorNone = (Pocet sekund nebo \"Nic\") TCMotorSelPan.lbl.Designation = Pojmenovn: TCMotorSelPan.lbl.Totalimpulse = Celkov impulse: diff --git a/core/resources/l10n/messages_de.properties b/core/resources/l10n/messages_de.properties index 4429bbe82..fe1ffafd5 100644 --- a/core/resources/l10n/messages_de.properties +++ b/core/resources/l10n/messages_de.properties @@ -998,7 +998,6 @@ TCMotorSelPan.lbl.Motormountdia = Durchmesser der Motorhalterung TCMotorSelPan.lbl.Search = Suchen: TCMotorSelPan.lbl.Selectthrustcurve = Schubkurve auswhlen: TCMotorSelPan.lbl.Ejectionchargedelay = Verzgerung der Ausstoladung: -TCMotorSelPan.equalsIgnoreCase.None = keine TCMotorSelPan.lbl.NumberofsecondsorNone = (Anzahl der Sekunden oder \keine\) TCMotorSelPan.lbl.Designation = Bezeichnung: TCMotorSelPan.lbl.Totalimpulse = Gesamtimpuls: diff --git a/core/resources/l10n/messages_es.properties b/core/resources/l10n/messages_es.properties index fef931de6..d1b4e97bd 100644 --- a/core/resources/l10n/messages_es.properties +++ b/core/resources/l10n/messages_es.properties @@ -1126,7 +1126,6 @@ TCMotorSelPan.checkbox.hideUsed = Ocultar los motores que ya est\u00e1n TCMotorSelPan.checkbox.limitdiameter = Limitar el di\u00e1metro de motor al di\u00e1metro del porta motor TCMotorSelPan.checkbox.limitlength = Limitar la longitud del motor a la longitud del porta motor TCMotorSelPan.delayBox.None = Ninguno -TCMotorSelPan.equalsIgnoreCase.None = Ninguno TCMotorSelPan.lbl.Avgthrust = Empuje medio: TCMotorSelPan.lbl.Burntime = Tiempo de quemado: TCMotorSelPan.lbl.Datapoints = Muestras de la curva: diff --git a/core/resources/l10n/messages_fr.properties b/core/resources/l10n/messages_fr.properties index 8229ba211..babe924e2 100644 --- a/core/resources/l10n/messages_fr.properties +++ b/core/resources/l10n/messages_fr.properties @@ -1120,7 +1120,6 @@ TCMotorSelPan.checkbox.hideUsed = Ne pas afficher les moteurs d\u00E9j\u TCMotorSelPan.checkbox.limitdiameter = Afficher uniquement les moteurs dont le diametre est \u00E9gale au porte moteur TCMotorSelPan.checkbox.limitlength = Limiter la longueur du moteur \u00E0 celle du porte moteur TCMotorSelPan.delayBox.None = Aucun -TCMotorSelPan.equalsIgnoreCase.None = Aucun TCMotorSelPan.lbl.Avgthrust = Pouss\u00E9e moyenne: TCMotorSelPan.lbl.Burntime = Temps de combustion: TCMotorSelPan.lbl.Datapoints = Points de donn\u00E9es: diff --git a/core/resources/l10n/messages_it.properties b/core/resources/l10n/messages_it.properties index 2a89f0235..4968e1470 100644 --- a/core/resources/l10n/messages_it.properties +++ b/core/resources/l10n/messages_it.properties @@ -999,7 +999,6 @@ TCMotorSelPan.lbl.Motormountdia = Diametro dell'alloggio del motore: TCMotorSelPan.lbl.Search = Cerca: TCMotorSelPan.lbl.Selectthrustcurve = Seleziona la curva di spinta: TCMotorSelPan.lbl.Ejectionchargedelay = Ritardo della carica di espulsione: -TCMotorSelPan.equalsIgnoreCase.None = Nessun TCMotorSelPan.lbl.NumberofsecondsorNone = (Numero di secondi o \"Nessuno\") TCMotorSelPan.lbl.Designation = Classe: TCMotorSelPan.lbl.Totalimpulse = Impulso totale: diff --git a/core/resources/l10n/messages_ja.properties b/core/resources/l10n/messages_ja.properties index cbd557d13..13931f989 100644 --- a/core/resources/l10n/messages_ja.properties +++ b/core/resources/l10n/messages_ja.properties @@ -1029,7 +1029,6 @@ TCMotorSelPan.lbl.Motormountdia = \u30E2\u30FC\u30BF\u30FC\u30DE\u30A6\u30F3\u3 TCMotorSelPan.lbl.Search = \u691C\u7D22\uFF1A TCMotorSelPan.lbl.Selectthrustcurve = \u63A8\u529B\u5C65\u6B74\uFF1A TCMotorSelPan.lbl.Ejectionchargedelay = Ejection charge delay: -TCMotorSelPan.equalsIgnoreCase.None = None TCMotorSelPan.lbl.NumberofsecondsorNone = (Number of seconds or \"None\") TCMotorSelPan.lbl.Designation = \u8A18\u53F7 TCMotorSelPan.lbl.Totalimpulse = \u30C8\u30FC\u30BF\u30EB\u30A4\u30F3\u30D1\u30EB\u30B9\uFF1A diff --git a/core/resources/l10n/messages_nl.properties b/core/resources/l10n/messages_nl.properties index 916df1a5d..a67093f35 100644 --- a/core/resources/l10n/messages_nl.properties +++ b/core/resources/l10n/messages_nl.properties @@ -1260,7 +1260,6 @@ TCMotorSelPan.MotorMountDimensions = Motorbevestiging afmetingen: TCMotorSelPan.lbl.Search = Zoek: TCMotorSelPan.lbl.Selectthrustcurve = Selecteer stuwkrachtcurve: TCMotorSelPan.lbl.Ejectionchargedelay = Vertraging schietlading: -TCMotorSelPan.equalsIgnoreCase.None = Geen TCMotorSelPan.lbl.NumberofsecondsorNone = (Aantal seconden of \"Geen\") TCMotorSelPan.lbl.Designation = Benaming TCMotorSelPan.lbl.Totalimpulse = Totale impuls: diff --git a/core/resources/l10n/messages_pl.properties b/core/resources/l10n/messages_pl.properties index 3cbcf4637..543cdb9b8 100644 --- a/core/resources/l10n/messages_pl.properties +++ b/core/resources/l10n/messages_pl.properties @@ -943,7 +943,6 @@ ComponentInfo.EngineBlock = Blokada silnika unieruchamia silnik wewn\u01 TCMotorSelPan.lbl.Search = Szukaj: TCMotorSelPan.lbl.Selectthrustcurve = Wybierz krzyw\u0105 si\u0142y ci\u0105gu: TCMotorSelPan.lbl.Ejectionchargedelay = Op\u017Anienie odpalenia \u0142adunku odrzucaj\u0105cego: - TCMotorSelPan.equalsIgnoreCase.None = \u017Badne TCMotorSelPan.lbl.NumberofsecondsorNone = (liczba sekund lub \"Brak\") TCMotorSelPan.lbl.Designation = Oznaczenie: TCMotorSelPan.lbl.Totalimpulse = Ca\u0142kowity impuls: diff --git a/core/resources/l10n/messages_pt.properties b/core/resources/l10n/messages_pt.properties index 49a283c54..8cb858eaa 100644 --- a/core/resources/l10n/messages_pt.properties +++ b/core/resources/l10n/messages_pt.properties @@ -1084,7 +1084,6 @@ TCMotorSelPan.SHOW_DESCRIPTIONS.desc2 = Mostrar motores com um di\u00e2metro m TCMotorSelPan.SHOW_DESCRIPTIONS.desc3 = Mostrar motores com um di\u00e2metro igual ao da montagem do motor TCMotorSelPan.checkbox.hideSimilar = Esconder as curvas de impulso muito semelhantes TCMotorSelPan.delayBox.None = Nenhum -TCMotorSelPan.equalsIgnoreCase.None = Nenhum TCMotorSelPan.lbl.Avgthrust = Empuxo m\u00e9dio: TCMotorSelPan.lbl.Burntime = Tempo de queima: TCMotorSelPan.lbl.Datapoints = Pontos de dados: diff --git a/core/resources/l10n/messages_ru.properties b/core/resources/l10n/messages_ru.properties index b5f3bc151..ff9fb718f 100644 --- a/core/resources/l10n/messages_ru.properties +++ b/core/resources/l10n/messages_ru.properties @@ -1307,7 +1307,6 @@ TCMotorSelPan.MotorMountDimensions = \u0420\u0430\u0437\u043C\u0435\u0440\u044B TCMotorSelPan.lbl.Search = \u041F\u043E\u0438\u0441\u043A: TCMotorSelPan.lbl.Selectthrustcurve = \u0412\u044B\u0431\u043E\u0440 \u043F\u0440\u043E\u0444\u0438\u043B\u044F \u0442\u044F\u0433\u0438: TCMotorSelPan.lbl.Ejectionchargedelay = \u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 \u0432\u044B\u0431\u0440\u043E\u0441\u0430 \u0437\u0430\u0440\u044F\u0434\u0430: -TCMotorSelPan.equalsIgnoreCase.None = \u041D\u0435\u0442 TCMotorSelPan.lbl.NumberofsecondsorNone = (\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0441\u0435\u043A\u0443\u043D\u0434 \u0438\u043B\u0438 "\u041D\u0435\u0442") TCMotorSelPan.lbl.Designation = \u041E\u0431\u043E\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: TCMotorSelPan.lbl.Totalimpulse = \u041E\u0431\u0449\u0438\u0439 \u0438\u043C\u043F\u0443\u043B\u044C\u0441: diff --git a/core/resources/l10n/messages_uk_UA.properties b/core/resources/l10n/messages_uk_UA.properties index 90ed7630a..4ee5519ba 100644 --- a/core/resources/l10n/messages_uk_UA.properties +++ b/core/resources/l10n/messages_uk_UA.properties @@ -1102,7 +1102,6 @@ TCMotorSelPan.MotorMountDimensions = Motor mount dimensions: TCMotorSelPan.lbl.Search = Search: TCMotorSelPan.lbl.Selectthrustcurve = Select thrust curve: TCMotorSelPan.lbl.Ejectionchargedelay = Ejection charge delay: -TCMotorSelPan.equalsIgnoreCase.None = None TCMotorSelPan.lbl.NumberofsecondsorNone = (Number of seconds or \"None\") TCMotorSelPan.lbl.Designation = Designation: TCMotorSelPan.lbl.Totalimpulse = Total impulse: diff --git a/core/resources/l10n/messages_zh_CN.properties b/core/resources/l10n/messages_zh_CN.properties index 149708f5d..230b4b75f 100644 --- a/core/resources/l10n/messages_zh_CN.properties +++ b/core/resources/l10n/messages_zh_CN.properties @@ -1189,7 +1189,6 @@ TCMotorSelPan.checkbox.hideUsed = \u9690\u85CF\u5DF2\u4F7F\u7528\u7684\u TCMotorSelPan.checkbox.limitdiameter = \u76F4\u5F84\u4E0D\u8D85\u8FC7\u5F53\u524D\u53D1\u52A8\u673A\u5EA7\u76F4\u5F84 TCMotorSelPan.checkbox.limitlength = \u957F\u5EA6\u4E0D\u8D85\u8FC7\u5F53\u524D\u53D1\u52A8\u673A\u5EA7\u957F\u5EA6 TCMotorSelPan.delayBox.None = \u65E0 -TCMotorSelPan.equalsIgnoreCase.None = \u65E0 TCMotorSelPan.lbl.Avgthrust = \u5E73\u5747\u63A8\u529B: TCMotorSelPan.lbl.Burntime = \u71C3\u70E7\u65F6\u95F4: TCMotorSelPan.lbl.Datapoints = \u6570\u636E\u70B9: diff --git a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java index 117d2ab7c..5e538125a 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java @@ -185,7 +185,7 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec return; } //// None - if (sel.equalsIgnoreCase(trans.get("TCMotorSelPan.equalsIgnoreCase.None"))) { + if (sel.equalsIgnoreCase(trans.get("TCMotorSelPan.delayBox.None"))) { selectedDelay = Motor.PLUGGED_DELAY; } else { try { From 8fe69028f13d10a7a91d136240d1cb762a9b94a6 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Thu, 2 Mar 2023 00:19:43 +0100 Subject: [PATCH 3/7] Changed plugged delay text --- core/resources/l10n/messages.properties | 5 +++-- core/resources/l10n/messages_ar.properties | 2 +- core/resources/l10n/messages_cs.properties | 2 +- core/resources/l10n/messages_de.properties | 2 +- core/resources/l10n/messages_es.properties | 2 +- core/resources/l10n/messages_fr.properties | 2 +- core/resources/l10n/messages_it.properties | 2 +- core/resources/l10n/messages_ja.properties | 2 +- core/resources/l10n/messages_nl.properties | 2 +- core/resources/l10n/messages_pl.properties | 2 +- core/resources/l10n/messages_pt.properties | 2 +- core/resources/l10n/messages_ru.properties | 2 +- core/resources/l10n/messages_uk_UA.properties | 2 +- core/resources/l10n/messages_zh_CN.properties | 2 +- .../ThrustCurveMotorSelectionPanel.java | 15 ++++++++------- 15 files changed, 24 insertions(+), 22 deletions(-) diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index 38a3dfec7..c70f0339a 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -1372,7 +1372,7 @@ TCMotorSelPan.MotorMountDimensions = Motor mount dimensions: TCMotorSelPan.lbl.Search = Search: TCMotorSelPan.lbl.Selectthrustcurve = Select thrust curve: TCMotorSelPan.lbl.Ejectionchargedelay = Ejection charge delay: -TCMotorSelPan.lbl.NumberofsecondsorNone = (Number of seconds or \"None\") +TCMotorSelPan.lbl.NumberofsecondsorNone = (You can type the desired delay in seconds) TCMotorSelPan.lbl.Designation = Designation: TCMotorSelPan.lbl.CommonName = Common name: TCMotorSelPan.lbl.Totalimpulse = Total impulse: @@ -1389,7 +1389,8 @@ TCMotorSelPan.lbl.Datapoints = Data points: TCMotorSelPan.lbl.Digest = Digest: TCMotorSelPan.title.Thrustcurve = Thrust curve: TCMotorSelPan.title.Thrust = Thrust -TCMotorSelPan.delayBox.None = Plugged (None) +TCMotorSelPan.delayBox.Plugged = Plugged +TCMotorSelPan.delayBox.PluggedNone = None TCMotorSelPan.noDescription = No description available. TCMotorSelPan.btn.checkAll = Select All TCMotorSelPan.btn.checkNone = Clear All diff --git a/core/resources/l10n/messages_ar.properties b/core/resources/l10n/messages_ar.properties index a9a37c691..1cd68b3d3 100644 --- a/core/resources/l10n/messages_ar.properties +++ b/core/resources/l10n/messages_ar.properties @@ -1350,7 +1350,7 @@ TCMotorSelPan.lbl.Datapoints = :نقاط البيانات TCMotorSelPan.lbl.Digest = :الإستيعاب TCMotorSelPan.title.Thrustcurve = :منحنى الدفع TCMotorSelPan.title.Thrust = الدفع -TCMotorSelPan.delayBox.None = لا شئ +TCMotorSelPan.delayBox.Plugged = لا شئ TCMotorSelPan.noDescription = .لا يوجد وصف متاح TCMotorSelPan.btn.checkAll = تحديد الكل TCMotorSelPan.btn.checkNone = مسح الكل diff --git a/core/resources/l10n/messages_cs.properties b/core/resources/l10n/messages_cs.properties index 26f2b1f2f..22d8c2ec2 100644 --- a/core/resources/l10n/messages_cs.properties +++ b/core/resources/l10n/messages_cs.properties @@ -952,7 +952,7 @@ TCMotorSelPan.lbl.Datapoints = Datov TCMotorSelPan.lbl.Digest = Vber: TCMotorSelPan.title.Thrustcurve = Vkonov krivka: TCMotorSelPan.title.Thrust = Tah -TCMotorSelPan.delayBox.None = Nic +TCMotorSelPan.delayBox.Plugged = Nic ! PlotDialog diff --git a/core/resources/l10n/messages_de.properties b/core/resources/l10n/messages_de.properties index fe1ffafd5..28ec6d1f5 100644 --- a/core/resources/l10n/messages_de.properties +++ b/core/resources/l10n/messages_de.properties @@ -1010,7 +1010,7 @@ TCMotorSelPan.lbl.Datapoints = Datenpunkte: TCMotorSelPan.lbl.Digest = bersicht: TCMotorSelPan.title.Thrustcurve = Schubkurve: TCMotorSelPan.title.Thrust = Schub: -TCMotorSelPan.delayBox.None = keine +TCMotorSelPan.delayBox.Plugged = keine ! PlotDialog diff --git a/core/resources/l10n/messages_es.properties b/core/resources/l10n/messages_es.properties index d1b4e97bd..0c1767bd4 100644 --- a/core/resources/l10n/messages_es.properties +++ b/core/resources/l10n/messages_es.properties @@ -1125,7 +1125,7 @@ TCMotorSelPan.checkbox.hideSimilar = Borrar las curvas similares TCMotorSelPan.checkbox.hideUsed = Ocultar los motores que ya est\u00e1n instalados TCMotorSelPan.checkbox.limitdiameter = Limitar el di\u00e1metro de motor al di\u00e1metro del porta motor TCMotorSelPan.checkbox.limitlength = Limitar la longitud del motor a la longitud del porta motor -TCMotorSelPan.delayBox.None = Ninguno +TCMotorSelPan.delayBox.Plugged = Ninguno TCMotorSelPan.lbl.Avgthrust = Empuje medio: TCMotorSelPan.lbl.Burntime = Tiempo de quemado: TCMotorSelPan.lbl.Datapoints = Muestras de la curva: diff --git a/core/resources/l10n/messages_fr.properties b/core/resources/l10n/messages_fr.properties index babe924e2..1a9775f4d 100644 --- a/core/resources/l10n/messages_fr.properties +++ b/core/resources/l10n/messages_fr.properties @@ -1119,7 +1119,7 @@ TCMotorSelPan.checkbox.hideSimilar = Cacher les courbes de pouss\u00E9es si TCMotorSelPan.checkbox.hideUsed = Ne pas afficher les moteurs d\u00E9j\u00E0 utilis\u00E9s TCMotorSelPan.checkbox.limitdiameter = Afficher uniquement les moteurs dont le diametre est \u00E9gale au porte moteur TCMotorSelPan.checkbox.limitlength = Limiter la longueur du moteur \u00E0 celle du porte moteur -TCMotorSelPan.delayBox.None = Aucun +TCMotorSelPan.delayBox.Plugged = Aucun TCMotorSelPan.lbl.Avgthrust = Pouss\u00E9e moyenne: TCMotorSelPan.lbl.Burntime = Temps de combustion: TCMotorSelPan.lbl.Datapoints = Points de donn\u00E9es: diff --git a/core/resources/l10n/messages_it.properties b/core/resources/l10n/messages_it.properties index 4968e1470..d845e6119 100644 --- a/core/resources/l10n/messages_it.properties +++ b/core/resources/l10n/messages_it.properties @@ -1011,7 +1011,7 @@ TCMotorSelPan.lbl.Datapoints = Punti: TCMotorSelPan.lbl.Digest = Riassunto: TCMotorSelPan.title.Thrustcurve = Curva di spinta: TCMotorSelPan.title.Thrust = Spinta -TCMotorSelPan.delayBox.None = Nessuno +TCMotorSelPan.delayBox.Plugged = Nessuno ! PlotDialog diff --git a/core/resources/l10n/messages_ja.properties b/core/resources/l10n/messages_ja.properties index 13931f989..6dcc1c229 100644 --- a/core/resources/l10n/messages_ja.properties +++ b/core/resources/l10n/messages_ja.properties @@ -1041,7 +1041,7 @@ TCMotorSelPan.lbl.Datapoints = \u30C7\u30FC\u30BF\u70B9\uFF1A TCMotorSelPan.lbl.Digest = \u30C0\u30A4\u30B8\u30A7\u30B9\u30C8\uFF1A TCMotorSelPan.title.Thrustcurve = \u63A8\u529B\u5C65\u6B74\uFF1A TCMotorSelPan.title.Thrust = \u63A8\u529B -TCMotorSelPan.delayBox.None = Plugged (None) +TCMotorSelPan.delayBox.Plugged = Plugged (None) TCMotorSelPan.noDescription = No description available. diff --git a/core/resources/l10n/messages_nl.properties b/core/resources/l10n/messages_nl.properties index a67093f35..be1450f52 100644 --- a/core/resources/l10n/messages_nl.properties +++ b/core/resources/l10n/messages_nl.properties @@ -1275,7 +1275,7 @@ TCMotorSelPan.lbl.Datapoints = Datapunten: TCMotorSelPan.lbl.Digest = Verteer: TCMotorSelPan.title.Thrustcurve = Stuwkrachtcurve: TCMotorSelPan.title.Thrust = Stuwkracht -TCMotorSelPan.delayBox.None = Geen +TCMotorSelPan.delayBox.Plugged = Geen TCMotorSelPan.noDescription = Geen beschrijving beschikbaar. TCMotorSelPan.btn.checkAll = Selecteer Alles TCMotorSelPan.btn.checkNone = Alles wissen diff --git a/core/resources/l10n/messages_pl.properties b/core/resources/l10n/messages_pl.properties index 543cdb9b8..809ce1dc3 100644 --- a/core/resources/l10n/messages_pl.properties +++ b/core/resources/l10n/messages_pl.properties @@ -955,7 +955,7 @@ ComponentInfo.EngineBlock = Blokada silnika unieruchamia silnik wewn\u01 TCMotorSelPan.lbl.Digest = Podsumowanie: TCMotorSelPan.title.Thrustcurve = Krzywa si\u0142y ci\u0105gu: TCMotorSelPan.title.Thrust = Ci\u0105g - TCMotorSelPan.delayBox.None = \u017Badne + TCMotorSelPan.delayBox.Plugged = \u017Badne ! PlotDialog diff --git a/core/resources/l10n/messages_pt.properties b/core/resources/l10n/messages_pt.properties index 8cb858eaa..384cd6175 100644 --- a/core/resources/l10n/messages_pt.properties +++ b/core/resources/l10n/messages_pt.properties @@ -1083,7 +1083,7 @@ TCMotorSelPan.SHOW_DESCRIPTIONS.desc1 = Mostrar todos os motores TCMotorSelPan.SHOW_DESCRIPTIONS.desc2 = Mostrar motores com um di\u00e2metro menor do que a montagem do motor TCMotorSelPan.SHOW_DESCRIPTIONS.desc3 = Mostrar motores com um di\u00e2metro igual ao da montagem do motor TCMotorSelPan.checkbox.hideSimilar = Esconder as curvas de impulso muito semelhantes -TCMotorSelPan.delayBox.None = Nenhum +TCMotorSelPan.delayBox.Plugged = Nenhum TCMotorSelPan.lbl.Avgthrust = Empuxo m\u00e9dio: TCMotorSelPan.lbl.Burntime = Tempo de queima: TCMotorSelPan.lbl.Datapoints = Pontos de dados: diff --git a/core/resources/l10n/messages_ru.properties b/core/resources/l10n/messages_ru.properties index ff9fb718f..5ba12023c 100644 --- a/core/resources/l10n/messages_ru.properties +++ b/core/resources/l10n/messages_ru.properties @@ -1322,7 +1322,7 @@ TCMotorSelPan.lbl.Datapoints = \u0422\u043E\u0447\u043A\u0438 \u0434\u0430\u043D TCMotorSelPan.lbl.Digest = \u0420\u0435\u0437\u044E\u043C\u0435: TCMotorSelPan.title.Thrustcurve = \u041F\u0440\u043E\u0444\u0438\u043B\u044C \u0442\u044F\u0433\u0438: TCMotorSelPan.title.Thrust = \u0422\u044F\u0433\u0430 -TCMotorSelPan.delayBox.None = \u041D\u0435\u0442 +TCMotorSelPan.delayBox.Plugged = \u041D\u0435\u0442 TCMotorSelPan.noDescription = \u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442. TCMotorSelPan.btn.checkAll = \u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435 TCMotorSelPan.btn.checkNone = \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u044B\u0431\u043E\u0440 diff --git a/core/resources/l10n/messages_uk_UA.properties b/core/resources/l10n/messages_uk_UA.properties index 4ee5519ba..3928e5a6e 100644 --- a/core/resources/l10n/messages_uk_UA.properties +++ b/core/resources/l10n/messages_uk_UA.properties @@ -1114,7 +1114,7 @@ TCMotorSelPan.lbl.Datapoints = Data points: TCMotorSelPan.lbl.Digest = Digest: TCMotorSelPan.title.Thrustcurve = Thrust curve: TCMotorSelPan.title.Thrust = Thrust -TCMotorSelPan.delayBox.None = Plugged (None) +TCMotorSelPan.delayBox.Plugged = Plugged (None) TCMotorSelPan.noDescription = No description available. TCMotorSelPan.btn.checkAll = Select All TCMotorSelPan.btn.checkNone = Clear All diff --git a/core/resources/l10n/messages_zh_CN.properties b/core/resources/l10n/messages_zh_CN.properties index 230b4b75f..15438da9a 100644 --- a/core/resources/l10n/messages_zh_CN.properties +++ b/core/resources/l10n/messages_zh_CN.properties @@ -1188,7 +1188,7 @@ TCMotorSelPan.checkbox.hideSimilar = \u9690\u85CF\u76F8\u4F3C\u7684\u63A8\u TCMotorSelPan.checkbox.hideUsed = \u9690\u85CF\u5DF2\u4F7F\u7528\u7684\u53D1\u52A8\u673A TCMotorSelPan.checkbox.limitdiameter = \u76F4\u5F84\u4E0D\u8D85\u8FC7\u5F53\u524D\u53D1\u52A8\u673A\u5EA7\u76F4\u5F84 TCMotorSelPan.checkbox.limitlength = \u957F\u5EA6\u4E0D\u8D85\u8FC7\u5F53\u524D\u53D1\u52A8\u673A\u5EA7\u957F\u5EA6 -TCMotorSelPan.delayBox.None = \u65E0 +TCMotorSelPan.delayBox.Plugged = \u65E0 TCMotorSelPan.lbl.Avgthrust = \u5E73\u5747\u63A8\u529B: TCMotorSelPan.lbl.Burntime = \u71C3\u70E7\u65F6\u95F4: TCMotorSelPan.lbl.Datapoints = \u6570\u636E\u70B9: diff --git a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java index 5e538125a..4e074d816 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java @@ -185,7 +185,8 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec return; } //// None - if (sel.equalsIgnoreCase(trans.get("TCMotorSelPan.delayBox.None"))) { + if (sel.equalsIgnoreCase(trans.get("TCMotorSelPan.delayBox.Plugged")) || + sel.equalsIgnoreCase(trans.get("TCMotorSelPan.delayBox.PluggedNone"))) { selectedDelay = Motor.PLUGGED_DELAY; } else { try { @@ -667,7 +668,7 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec private void setDelays(boolean reset) { if (selectedMotor == null) { //// None - delayBox.setModel(new DefaultComboBoxModel(new String[] { trans.get("TCMotorSelPan.delayBox.None") })); + delayBox.setModel(new DefaultComboBoxModel(new String[] { trans.get("TCMotorSelPan.delayBox.Plugged") })); delayBox.setSelectedIndex(0); } else { List delays = selectedMotorSet.getDelays(); @@ -678,11 +679,11 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec for (int i = 0; i < delays.size(); i++) { //// None - delayStrings[i] = ThrustCurveMotor.getDelayString(delays.get(i), trans.get("TCMotorSelPan.delayBox.None")); + delayStrings[i] = ThrustCurveMotor.getDelayString(delays.get(i), trans.get("TCMotorSelPan.delayBox.Plugged")); } // We always want the plugged option in the combobox, even if the motor doesn't have it if (!containsPlugged) { - delayStrings[delayStrings.length - 1] = trans.get("TCMotorSelPan.delayBox.None"); + delayStrings[delayStrings.length - 1] = trans.get("TCMotorSelPan.delayBox.Plugged"); } delayBox.setModel(new DefaultComboBoxModel(delayStrings)); @@ -697,15 +698,15 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec } if (!Double.isNaN(closest)) { selectedDelay = closest; - delayBox.setSelectedItem(ThrustCurveMotor.getDelayString(closest, trans.get("TCMotorSelPan.delayBox.None"))); + delayBox.setSelectedItem(ThrustCurveMotor.getDelayString(closest, trans.get("TCMotorSelPan.delayBox.Plugged"))); } else { //// None - delayBox.setSelectedItem(trans.get("TCMotorSelPan.delayBox.None")); + delayBox.setSelectedItem(trans.get("TCMotorSelPan.delayBox.Plugged")); } } else { selectedDelay = currentDelay; - delayBox.setSelectedItem(ThrustCurveMotor.getDelayString(currentDelay, trans.get("TCMotorSelPan.delayBox.None"))); + delayBox.setSelectedItem(ThrustCurveMotor.getDelayString(currentDelay, trans.get("TCMotorSelPan.delayBox.Plugged"))); } } From 5c580f70deffe05f911698a415f729c19dea1045 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Thu, 2 Mar 2023 23:48:54 +0100 Subject: [PATCH 4/7] Update info text --- core/resources/l10n/messages.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index c70f0339a..1e315358a 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -1372,7 +1372,7 @@ TCMotorSelPan.MotorMountDimensions = Motor mount dimensions: TCMotorSelPan.lbl.Search = Search: TCMotorSelPan.lbl.Selectthrustcurve = Select thrust curve: TCMotorSelPan.lbl.Ejectionchargedelay = Ejection charge delay: -TCMotorSelPan.lbl.NumberofsecondsorNone = (You can type the desired delay in seconds) +TCMotorSelPan.lbl.NumberofsecondsorNone = (or type in a desired delay in seconds) TCMotorSelPan.lbl.Designation = Designation: TCMotorSelPan.lbl.CommonName = Common name: TCMotorSelPan.lbl.Totalimpulse = Total impulse: From 13c1ebdb66e3838f179013d28609afa98bb412ac Mon Sep 17 00:00:00 2001 From: SiboVG Date: Sat, 4 Mar 2023 16:54:32 +0100 Subject: [PATCH 5/7] KISS --- core/resources/l10n/messages.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index 1e315358a..4d1713953 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -1372,7 +1372,7 @@ TCMotorSelPan.MotorMountDimensions = Motor mount dimensions: TCMotorSelPan.lbl.Search = Search: TCMotorSelPan.lbl.Selectthrustcurve = Select thrust curve: TCMotorSelPan.lbl.Ejectionchargedelay = Ejection charge delay: -TCMotorSelPan.lbl.NumberofsecondsorNone = (or type in a desired delay in seconds) +TCMotorSelPan.lbl.NumberofsecondsorNone = (or type in desired delay in seconds) TCMotorSelPan.lbl.Designation = Designation: TCMotorSelPan.lbl.CommonName = Common name: TCMotorSelPan.lbl.Totalimpulse = Total impulse: From da15c59673f65af9f79ef9fd8e4989f9025bf809 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Wed, 8 Mar 2023 19:19:39 +0100 Subject: [PATCH 6/7] Remove some references to None and replace with Plugged --- core/resources/l10n/messages.properties | 3 ++- core/resources/l10n/messages_ar.properties | 2 +- core/resources/l10n/messages_cs.properties | 2 +- core/resources/l10n/messages_de.properties | 2 +- core/resources/l10n/messages_es.properties | 2 +- core/resources/l10n/messages_fr.properties | 2 +- core/resources/l10n/messages_it.properties | 2 +- core/resources/l10n/messages_ja.properties | 2 +- core/resources/l10n/messages_nl.properties | 2 +- core/resources/l10n/messages_pl.properties | 2 +- core/resources/l10n/messages_pt.properties | 2 +- core/resources/l10n/messages_ru.properties | 2 +- core/resources/l10n/messages_uk_UA.properties | 2 +- core/resources/l10n/messages_zh_CN.properties | 2 +- .../ThrustCurveMotorSelectionPanel.java | 15 +++++++-------- 15 files changed, 22 insertions(+), 22 deletions(-) diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index 4d1713953..07bdaabbc 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -1359,6 +1359,7 @@ TCMotorSelPan.lbl.motorNameColumn.ttip = Select which motor property to display TCMotorSelPan.btn.commonName = Use common name TCMotorSelPan.btn.designation = Use manufacturer's designation TCMotorSelPan.lbl.nrOfMotors = Number of motors: +TCMotorSelPan.lbl.nrOfMotors.None = None TCMotorSelPan.lbl.ttip.nrOfMotors = Number of motors currently visible in the motor selection table TCMotorSelPan.checkbox.limitlength = Limit motor length to mount length TCMotorSelPan.checkbox.limitdiameter = Limit motor diameter to mount diameter @@ -1372,7 +1373,7 @@ TCMotorSelPan.MotorMountDimensions = Motor mount dimensions: TCMotorSelPan.lbl.Search = Search: TCMotorSelPan.lbl.Selectthrustcurve = Select thrust curve: TCMotorSelPan.lbl.Ejectionchargedelay = Ejection charge delay: -TCMotorSelPan.lbl.NumberofsecondsorNone = (or type in desired delay in seconds) +TCMotorSelPan.lbl.Numberofseconds = (or type in desired delay in seconds) TCMotorSelPan.lbl.Designation = Designation: TCMotorSelPan.lbl.CommonName = Common name: TCMotorSelPan.lbl.Totalimpulse = Total impulse: diff --git a/core/resources/l10n/messages_ar.properties b/core/resources/l10n/messages_ar.properties index 1cd68b3d3..27ee1230d 100644 --- a/core/resources/l10n/messages_ar.properties +++ b/core/resources/l10n/messages_ar.properties @@ -1335,7 +1335,7 @@ TCMotorSelPan.MotorMountDimensions = :أبعاد حامل المحرك TCMotorSelPan.lbl.Search = :بحث TCMotorSelPan.lbl.Selectthrustcurve = :حدد منحنى الدفع TCMotorSelPan.lbl.Ejectionchargedelay = :تأخير شحنة الإطلاق -TCMotorSelPan.lbl.NumberofsecondsorNone = (\"لا شئ\" عدد الثواني أو) +TCMotorSelPan.lbl.Numberofseconds = (\"لا شئ\" عدد الثواني أو) TCMotorSelPan.lbl.Designation = :تسمية الشركة المصنعة TCMotorSelPan.lbl.Totalimpulse = :الدفع الكلي TCMotorSelPan.lbl.Avgthrust = :متوسط الدفع diff --git a/core/resources/l10n/messages_cs.properties b/core/resources/l10n/messages_cs.properties index 22d8c2ec2..c1691d6ad 100644 --- a/core/resources/l10n/messages_cs.properties +++ b/core/resources/l10n/messages_cs.properties @@ -940,7 +940,7 @@ TCMotorSelPan.lbl.Motormountdia = Prumer uchycen TCMotorSelPan.lbl.Search = Hledej: TCMotorSelPan.lbl.Selectthrustcurve = Vyber vkonovou krivku: TCMotorSelPan.lbl.Ejectionchargedelay = Oddelovac zpo\u017Eden: -TCMotorSelPan.lbl.NumberofsecondsorNone = (Pocet sekund nebo \"Nic\") +TCMotorSelPan.lbl.Numberofseconds = (Pocet sekund nebo \"Nic\") TCMotorSelPan.lbl.Designation = Pojmenovn: TCMotorSelPan.lbl.Totalimpulse = Celkov impulse: TCMotorSelPan.lbl.Avgthrust = Prumern tah: diff --git a/core/resources/l10n/messages_de.properties b/core/resources/l10n/messages_de.properties index 28ec6d1f5..4fa2bf85f 100644 --- a/core/resources/l10n/messages_de.properties +++ b/core/resources/l10n/messages_de.properties @@ -998,7 +998,7 @@ TCMotorSelPan.lbl.Motormountdia = Durchmesser der Motorhalterung TCMotorSelPan.lbl.Search = Suchen: TCMotorSelPan.lbl.Selectthrustcurve = Schubkurve auswhlen: TCMotorSelPan.lbl.Ejectionchargedelay = Verzgerung der Ausstoladung: -TCMotorSelPan.lbl.NumberofsecondsorNone = (Anzahl der Sekunden oder \keine\) +TCMotorSelPan.lbl.Numberofseconds = (Anzahl der Sekunden oder \keine\) TCMotorSelPan.lbl.Designation = Bezeichnung: TCMotorSelPan.lbl.Totalimpulse = Gesamtimpuls: TCMotorSelPan.lbl.Avgthrust = Durchschn. Schub: diff --git a/core/resources/l10n/messages_es.properties b/core/resources/l10n/messages_es.properties index 0c1767bd4..24f7a35d1 100644 --- a/core/resources/l10n/messages_es.properties +++ b/core/resources/l10n/messages_es.properties @@ -1135,7 +1135,7 @@ TCMotorSelPan.lbl.Emptymass = Masa carcasa: TCMotorSelPan.lbl.Launchmass = Masa total: TCMotorSelPan.lbl.Maxthrust = Empuje m\u00e1ximo: TCMotorSelPan.lbl.Motormountdia = Di\u00e1metro del porta motor: -TCMotorSelPan.lbl.NumberofsecondsorNone = (segundos) +TCMotorSelPan.lbl.Numberofseconds = (segundos) TCMotorSelPan.lbl.Search = Buscar: TCMotorSelPan.lbl.Selectthrustcurve = Seleccione curva de empuje: TCMotorSelPan.lbl.Selrocketmotor = Seleccione el motor del cohete: diff --git a/core/resources/l10n/messages_fr.properties b/core/resources/l10n/messages_fr.properties index 1a9775f4d..14323d7ce 100644 --- a/core/resources/l10n/messages_fr.properties +++ b/core/resources/l10n/messages_fr.properties @@ -1129,7 +1129,7 @@ TCMotorSelPan.lbl.Emptymass = Masse \u00E0 vide: TCMotorSelPan.lbl.Launchmass = Masse au lancement: TCMotorSelPan.lbl.Maxthrust = Pouss\u00E9e Max.: TCMotorSelPan.lbl.Motormountdia = Diam\u00E8tre du tube porte moteur: -TCMotorSelPan.lbl.NumberofsecondsorNone = (Nombre de secondes ou "Aucun") +TCMotorSelPan.lbl.Numberofseconds = (Nombre de secondes ou "Aucun") TCMotorSelPan.lbl.Search = Rechercher: TCMotorSelPan.lbl.Selectthrustcurve = Choisir la courbe de pouss\u00E9e: TCMotorSelPan.lbl.Selrocketmotor = Choisir le moteur fus\u00E9e: diff --git a/core/resources/l10n/messages_it.properties b/core/resources/l10n/messages_it.properties index d845e6119..daaf33ac9 100644 --- a/core/resources/l10n/messages_it.properties +++ b/core/resources/l10n/messages_it.properties @@ -999,7 +999,7 @@ TCMotorSelPan.lbl.Motormountdia = Diametro dell'alloggio del motore: TCMotorSelPan.lbl.Search = Cerca: TCMotorSelPan.lbl.Selectthrustcurve = Seleziona la curva di spinta: TCMotorSelPan.lbl.Ejectionchargedelay = Ritardo della carica di espulsione: -TCMotorSelPan.lbl.NumberofsecondsorNone = (Numero di secondi o \"Nessuno\") +TCMotorSelPan.lbl.Numberofseconds = (Numero di secondi o \"Nessuno\") TCMotorSelPan.lbl.Designation = Classe: TCMotorSelPan.lbl.Totalimpulse = Impulso totale: TCMotorSelPan.lbl.Avgthrust = Spinta media: diff --git a/core/resources/l10n/messages_ja.properties b/core/resources/l10n/messages_ja.properties index 6dcc1c229..f78c9ad6d 100644 --- a/core/resources/l10n/messages_ja.properties +++ b/core/resources/l10n/messages_ja.properties @@ -1029,7 +1029,7 @@ TCMotorSelPan.lbl.Motormountdia = \u30E2\u30FC\u30BF\u30FC\u30DE\u30A6\u30F3\u3 TCMotorSelPan.lbl.Search = \u691C\u7D22\uFF1A TCMotorSelPan.lbl.Selectthrustcurve = \u63A8\u529B\u5C65\u6B74\uFF1A TCMotorSelPan.lbl.Ejectionchargedelay = Ejection charge delay: -TCMotorSelPan.lbl.NumberofsecondsorNone = (Number of seconds or \"None\") +TCMotorSelPan.lbl.Numberofseconds = (Number of seconds or \"None\") TCMotorSelPan.lbl.Designation = \u8A18\u53F7 TCMotorSelPan.lbl.Totalimpulse = \u30C8\u30FC\u30BF\u30EB\u30A4\u30F3\u30D1\u30EB\u30B9\uFF1A TCMotorSelPan.lbl.Avgthrust = \u5E73\u5747\u63A8\u529B\uFF1A diff --git a/core/resources/l10n/messages_nl.properties b/core/resources/l10n/messages_nl.properties index be1450f52..3e7f804bd 100644 --- a/core/resources/l10n/messages_nl.properties +++ b/core/resources/l10n/messages_nl.properties @@ -1260,7 +1260,7 @@ TCMotorSelPan.MotorMountDimensions = Motorbevestiging afmetingen: TCMotorSelPan.lbl.Search = Zoek: TCMotorSelPan.lbl.Selectthrustcurve = Selecteer stuwkrachtcurve: TCMotorSelPan.lbl.Ejectionchargedelay = Vertraging schietlading: -TCMotorSelPan.lbl.NumberofsecondsorNone = (Aantal seconden of \"Geen\") +TCMotorSelPan.lbl.Numberofseconds = (Aantal seconden of \"Geen\") TCMotorSelPan.lbl.Designation = Benaming TCMotorSelPan.lbl.Totalimpulse = Totale impuls: TCMotorSelPan.lbl.Avgthrust = Gemiddelde stuwkracht: diff --git a/core/resources/l10n/messages_pl.properties b/core/resources/l10n/messages_pl.properties index 809ce1dc3..8721c7b44 100644 --- a/core/resources/l10n/messages_pl.properties +++ b/core/resources/l10n/messages_pl.properties @@ -943,7 +943,7 @@ ComponentInfo.EngineBlock = Blokada silnika unieruchamia silnik wewn\u01 TCMotorSelPan.lbl.Search = Szukaj: TCMotorSelPan.lbl.Selectthrustcurve = Wybierz krzyw\u0105 si\u0142y ci\u0105gu: TCMotorSelPan.lbl.Ejectionchargedelay = Op\u017Anienie odpalenia \u0142adunku odrzucaj\u0105cego: - TCMotorSelPan.lbl.NumberofsecondsorNone = (liczba sekund lub \"Brak\") + TCMotorSelPan.lbl.Numberofseconds = (liczba sekund lub \"Brak\") TCMotorSelPan.lbl.Designation = Oznaczenie: TCMotorSelPan.lbl.Totalimpulse = Ca\u0142kowity impuls: TCMotorSelPan.lbl.Avgthrust = \u015Arednia si\u0142a ci\u0105gu: diff --git a/core/resources/l10n/messages_pt.properties b/core/resources/l10n/messages_pt.properties index 384cd6175..6167fda78 100644 --- a/core/resources/l10n/messages_pt.properties +++ b/core/resources/l10n/messages_pt.properties @@ -1093,7 +1093,7 @@ TCMotorSelPan.lbl.Emptymass = Massa em vazio: TCMotorSelPan.lbl.Launchmass = Massa do lan\u00e7amento: TCMotorSelPan.lbl.Maxthrust = Empuxo m\u00e1ximo: TCMotorSelPan.lbl.Motormountdia = Di\u00e2metro da montagem do motor: -TCMotorSelPan.lbl.NumberofsecondsorNone = (N\u00famero de segundos ou "Nenhum") +TCMotorSelPan.lbl.Numberofseconds = (N\u00famero de segundos ou "Nenhum") TCMotorSelPan.lbl.Search = Pesquisar: TCMotorSelPan.lbl.Selectthrustcurve = Selecione curva de empuxo: TCMotorSelPan.lbl.Selrocketmotor = Selecione motor do foguete: diff --git a/core/resources/l10n/messages_ru.properties b/core/resources/l10n/messages_ru.properties index 5ba12023c..dec6ad153 100644 --- a/core/resources/l10n/messages_ru.properties +++ b/core/resources/l10n/messages_ru.properties @@ -1307,7 +1307,7 @@ TCMotorSelPan.MotorMountDimensions = \u0420\u0430\u0437\u043C\u0435\u0440\u044B TCMotorSelPan.lbl.Search = \u041F\u043E\u0438\u0441\u043A: TCMotorSelPan.lbl.Selectthrustcurve = \u0412\u044B\u0431\u043E\u0440 \u043F\u0440\u043E\u0444\u0438\u043B\u044F \u0442\u044F\u0433\u0438: TCMotorSelPan.lbl.Ejectionchargedelay = \u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 \u0432\u044B\u0431\u0440\u043E\u0441\u0430 \u0437\u0430\u0440\u044F\u0434\u0430: -TCMotorSelPan.lbl.NumberofsecondsorNone = (\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0441\u0435\u043A\u0443\u043D\u0434 \u0438\u043B\u0438 "\u041D\u0435\u0442") +TCMotorSelPan.lbl.Numberofseconds = (\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0441\u0435\u043A\u0443\u043D\u0434 \u0438\u043B\u0438 "\u041D\u0435\u0442") TCMotorSelPan.lbl.Designation = \u041E\u0431\u043E\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: TCMotorSelPan.lbl.Totalimpulse = \u041E\u0431\u0449\u0438\u0439 \u0438\u043C\u043F\u0443\u043B\u044C\u0441: TCMotorSelPan.lbl.Avgthrust = \u0421\u0440\u0435\u0434\u043D\u044F\u044F \u0442\u044F\u0433\u0430: diff --git a/core/resources/l10n/messages_uk_UA.properties b/core/resources/l10n/messages_uk_UA.properties index 3928e5a6e..c41bad1c4 100644 --- a/core/resources/l10n/messages_uk_UA.properties +++ b/core/resources/l10n/messages_uk_UA.properties @@ -1102,7 +1102,7 @@ TCMotorSelPan.MotorMountDimensions = Motor mount dimensions: TCMotorSelPan.lbl.Search = Search: TCMotorSelPan.lbl.Selectthrustcurve = Select thrust curve: TCMotorSelPan.lbl.Ejectionchargedelay = Ejection charge delay: -TCMotorSelPan.lbl.NumberofsecondsorNone = (Number of seconds or \"None\") +TCMotorSelPan.lbl.Numberofseconds = (Number of seconds or \"None\") TCMotorSelPan.lbl.Designation = Designation: TCMotorSelPan.lbl.Totalimpulse = Total impulse: TCMotorSelPan.lbl.Avgthrust = Avg. thrust: diff --git a/core/resources/l10n/messages_zh_CN.properties b/core/resources/l10n/messages_zh_CN.properties index 15438da9a..4c5e35a0a 100644 --- a/core/resources/l10n/messages_zh_CN.properties +++ b/core/resources/l10n/messages_zh_CN.properties @@ -1197,7 +1197,7 @@ TCMotorSelPan.lbl.Ejectionchargedelay = \u5F39\u5C04\u5EF6\u65F6: TCMotorSelPan.lbl.Emptymass = \u71C3\u5C3D\u8D28\u91CF: TCMotorSelPan.lbl.Launchmass = \u53D1\u5C04\u8D28\u91CF: TCMotorSelPan.lbl.Maxthrust = \u6700\u5927\u63A8\u529B: -TCMotorSelPan.lbl.NumberofsecondsorNone = (\u79D2\u6570\u6216"\u65E0") +TCMotorSelPan.lbl.Numberofseconds = (\u79D2\u6570\u6216"\u65E0") TCMotorSelPan.lbl.Search = \u641C\u7D22: TCMotorSelPan.lbl.Selectthrustcurve = \u9009\u62E9\u63A8\u529B\u66F2\u7EBF: TCMotorSelPan.lbl.Selrocketmotor = \u9009\u62E9\u706B\u7BAD\u53D1\u52A8\u673A: diff --git a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java index 4e074d816..129f01816 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java @@ -184,7 +184,7 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec log.debug("Selected charge delay is null"); return; } - //// None + //// Plugged (or None) if (sel.equalsIgnoreCase(trans.get("TCMotorSelPan.delayBox.Plugged")) || sel.equalsIgnoreCase(trans.get("TCMotorSelPan.delayBox.PluggedNone"))) { selectedDelay = Motor.PLUGGED_DELAY; @@ -198,8 +198,8 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec } }); panel.add(delayBox, "growx,wrap"); - //// (Number of seconds or \"None\") - panel.add(new StyledLabel(trans.get("TCMotorSelPan.lbl.NumberofsecondsorNone"), -3), "skip, wrap"); + //// (or type in desired delay in seconds) + panel.add(new StyledLabel(trans.get("TCMotorSelPan.lbl.Numberofseconds"), -3), "skip, wrap"); setDelays(false); } @@ -566,7 +566,7 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec private void updateNrOfMotors() { if (table != null && nrOfMotorsLabel != null) { int rowCount = table.getRowCount(); - String motorCount = "None"; + String motorCount = trans.get("TCMotorSelPan.lbl.nrOfMotors.None"); if (rowCount > 0) { motorCount = String.valueOf(rowCount); } @@ -578,7 +578,6 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec private void scrollSelectionVisible() { if (selectedMotorSet != null) { int index = table.convertRowIndexToView(model.getIndex(selectedMotorSet)); - //System.out.println("index=" + index); table.getSelectionModel().setSelectionInterval(index, index); Rectangle rect = table.getCellRect(index, 0, true); rect = new Rectangle(rect.x, rect.y - 100, rect.width, rect.height + 200); @@ -667,7 +666,7 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec */ private void setDelays(boolean reset) { if (selectedMotor == null) { - //// None + //// Plugged delayBox.setModel(new DefaultComboBoxModel(new String[] { trans.get("TCMotorSelPan.delayBox.Plugged") })); delayBox.setSelectedIndex(0); } else { @@ -678,7 +677,7 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec double currentDelay = selectedDelay; // Store current setting locally for (int i = 0; i < delays.size(); i++) { - //// None + //// Plugged delayStrings[i] = ThrustCurveMotor.getDelayString(delays.get(i), trans.get("TCMotorSelPan.delayBox.Plugged")); } // We always want the plugged option in the combobox, even if the motor doesn't have it @@ -700,7 +699,7 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec selectedDelay = closest; delayBox.setSelectedItem(ThrustCurveMotor.getDelayString(closest, trans.get("TCMotorSelPan.delayBox.Plugged"))); } else { - //// None + //// Plugged delayBox.setSelectedItem(trans.get("TCMotorSelPan.delayBox.Plugged")); } From fcb77082c60cfa4b98f226cadb555cbee6f725d9 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Wed, 8 Mar 2023 19:25:07 +0100 Subject: [PATCH 7/7] Disable delay box when no motor selected --- .../ThrustCurveMotorSelectionPanel.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java index 129f01816..eebbbe927 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java @@ -99,6 +99,7 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec private final JLabel curveSelectionLabel; private final JComboBox curveSelectionBox; private final DefaultComboBoxModel curveSelectionModel; + private final JLabel ejectionChargeDelayLabel; private final JComboBox delayBox; private final JLabel nrOfMotorsLabel; @@ -172,7 +173,8 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec // Ejection charge delay: { - panel.add(new JLabel(trans.get("TCMotorSelPan.lbl.Ejectionchargedelay"))); + ejectionChargeDelayLabel = new JLabel(trans.get("TCMotorSelPan.lbl.Ejectionchargedelay")); + panel.add(ejectionChargeDelayLabel); delayBox = new JComboBox(); delayBox.setEditable(true); @@ -511,11 +513,16 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec curveSelectionModel.removeAllElements(); curveSelectionBox.setEnabled(false); curveSelectionLabel.setEnabled(false); + ejectionChargeDelayLabel.setEnabled(false); + delayBox.setEnabled(false); motorInformationPanel.clearData(); table.clearSelection(); return; } + ejectionChargeDelayLabel.setEnabled(true); + delayBox.setEnabled(true); + // Check which thrust curves to display List motors = getFilteredCurves(); final int index = motors.indexOf(selectedMotor); @@ -666,9 +673,8 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec */ private void setDelays(boolean reset) { if (selectedMotor == null) { - //// Plugged - delayBox.setModel(new DefaultComboBoxModel(new String[] { trans.get("TCMotorSelPan.delayBox.Plugged") })); - delayBox.setSelectedIndex(0); + //// Display nothing + delayBox.setModel(new DefaultComboBoxModel<>(new String[] {})); } else { List delays = selectedMotorSet.getDelays(); boolean containsPlugged = delays.contains(Motor.PLUGGED_DELAY);