Merge pull request #1544 from SiboVG/issue-1539
[#1539] Apply preset after double-click
This commit is contained in:
commit
5fb93cb9c8
@ -1378,14 +1378,13 @@ main.menu.edit.editpreset= Edit Component Preset File
|
||||
main.menu.edit.preferences = Preferences
|
||||
main.menu.edit.preferences.desc = Setup the application preferences
|
||||
|
||||
main.menu.analyze = Tools
|
||||
main.menu.analyze.desc = Rocket analysis
|
||||
main.menu.analyze.componentAnalysis = Component analysis
|
||||
main.menu.analyze.componentAnalysis.desc = Analyze the rocket components separately
|
||||
main.menu.analyze.optimization = Rocket optimization
|
||||
main.menu.analyze.optimization.desc = General rocket design optimization
|
||||
main.menu.analyze.customExpressions = Custom expressions
|
||||
main.menu.analyze.customExpressions.desc = Define new flight data types by writing custom mathematical expressions
|
||||
main.menu.tools = Tools
|
||||
main.menu.tools.componentAnalysis = Component analysis
|
||||
main.menu.tools.componentAnalysis.desc = Analyze the rocket components separately
|
||||
main.menu.tools.optimization = Rocket optimization
|
||||
main.menu.tools.optimization.desc = General rocket design optimization
|
||||
main.menu.tools.customExpressions = Custom expressions
|
||||
main.menu.tools.customExpressions.desc = Define new flight data types by writing custom mathematical expressions
|
||||
|
||||
main.menu.help = Help
|
||||
main.menu.help.desc = Information about OpenRocket
|
||||
|
@ -1004,12 +1004,11 @@ main.menu.edit.delete = Smazat
|
||||
main.menu.edit.preferences = Nastavení
|
||||
main.menu.edit.preferences.desc = Nastavení aplikace
|
||||
|
||||
main.menu.analyze = Anal\u017Eýza
|
||||
main.menu.analyze.desc = Analýza rakety
|
||||
main.menu.analyze.componentAnalysis = Analýza komponent
|
||||
main.menu.analyze.componentAnalysis.desc = Analyzuj cásti rakety samostatne
|
||||
main.menu.analyze.optimization = Optimalizace rakety
|
||||
main.menu.analyze.optimization.desc = Obecný návrh optimalizace rakety
|
||||
main.menu.tools = Anal\u017Eýza
|
||||
main.menu.tools.componentAnalysis = Analýza komponent
|
||||
main.menu.tools.componentAnalysis.desc = Analyzuj cásti rakety samostatne
|
||||
main.menu.tools.optimization = Optimalizace rakety
|
||||
main.menu.tools.optimization.desc = Obecný návrh optimalizace rakety
|
||||
|
||||
main.menu.help = Pomoc
|
||||
main.menu.help.desc = Informace o programu OpenRocket
|
||||
|
@ -1061,12 +1061,11 @@ main.menu.edit.delete = L
|
||||
main.menu.edit.preferences = Einstellungen
|
||||
main.menu.edit.preferences.desc = Einstellungen der Anwenung ändern
|
||||
|
||||
main.menu.analyze = Analysieren
|
||||
main.menu.analyze.desc = Rakete analysieren
|
||||
main.menu.analyze.componentAnalysis = Komponente analysieren
|
||||
main.menu.analyze.componentAnalysis.desc = Komponenten der Rakete einzeln analysieren
|
||||
main.menu.analyze.optimization = Rocket optimization
|
||||
main.menu.analyze.optimization.desc = General rocket design optimization
|
||||
main.menu.tools = Analysieren
|
||||
main.menu.tools.componentAnalysis = Komponente analysieren
|
||||
main.menu.tools.componentAnalysis.desc = Komponenten der Rakete einzeln analysieren
|
||||
main.menu.tools.optimization = Rocket optimization
|
||||
main.menu.tools.optimization.desc = General rocket design optimization
|
||||
|
||||
main.menu.help = Hilfe
|
||||
main.menu.help.desc = Informationen über OpenRocket
|
||||
|
@ -1429,14 +1429,13 @@ FileHelper.IMAGES = Archivos de imagen
|
||||
! General file type names
|
||||
FileHelper.PDF_FILTER = Archivos PDF
|
||||
|
||||
main.menu.analyze = Analizar
|
||||
main.menu.analyze.componentAnalysis = An\u00e1lisis de los componentes
|
||||
main.menu.analyze.componentAnalysis.desc = Analiza los componentes del cohete por separado
|
||||
main.menu.analyze.customExpressions = Expresiones personalizadas
|
||||
main.menu.analyze.customExpressions.desc = Defina nuevos tipos de datos escribiendo expresiones matem\u00e1ticas personalizadas
|
||||
main.menu.analyze.desc = An\u00e1lisis del cohete
|
||||
main.menu.analyze.optimization = Optimizaci\u00f3n del dise\u00f1o
|
||||
main.menu.analyze.optimization.desc = Optimizaci\u00f3n global del dise\u00f1o del cohete
|
||||
main.menu.tools = Analizar
|
||||
main.menu.tools.componentAnalysis = An\u00e1lisis de los componentes
|
||||
main.menu.tools.componentAnalysis.desc = Analiza los componentes del cohete por separado
|
||||
main.menu.tools.customExpressions = Expresiones personalizadas
|
||||
main.menu.tools.customExpressions.desc = Defina nuevos tipos de datos escribiendo expresiones matem\u00e1ticas personalizadas
|
||||
main.menu.tools.optimization = Optimizaci\u00f3n del dise\u00f1o
|
||||
main.menu.tools.optimization.desc = Optimizaci\u00f3n global del dise\u00f1o del cohete
|
||||
main.menu.debug = Recuperaci\u00f3n
|
||||
main.menu.debug.createtestrocket = Crear una prueba de modelo
|
||||
main.menu.debug.whatisthismenu = \u00bfQue es este men\u00fa?
|
||||
|
@ -1423,14 +1423,13 @@ FileHelper.IMAGES = Fichiers Image
|
||||
! General file type names
|
||||
FileHelper.PDF_FILTER = fichier PDF
|
||||
|
||||
main.menu.analyze = Analyse
|
||||
main.menu.analyze.componentAnalysis = Analyse des Pi\u00E8ces
|
||||
main.menu.analyze.componentAnalysis.desc = Analyse s\u00E9par\u00E9e des pi\u00E8ces de la fus\u00E9e
|
||||
main.menu.analyze.customExpressions = Expressions personnalis\u00E9es
|
||||
main.menu.analyze.customExpressions.desc = D\u00E9fini de nouveaux type de donn\u00E9es de vol en \u00E9crivant des expressions math\u00E9matique personnalis\u00E9es
|
||||
main.menu.analyze.desc = Analyses de la fus\u00E9e
|
||||
main.menu.analyze.optimization = Optimisation de la fus\u00E9e
|
||||
main.menu.analyze.optimization.desc = Optimisation g\u00E9n\u00E9rale de la fus\u00E9e
|
||||
main.menu.tools = Analyse
|
||||
main.menu.tools.componentAnalysis = Analyse des Pi\u00E8ces
|
||||
main.menu.tools.componentAnalysis.desc = Analyse s\u00E9par\u00E9e des pi\u00E8ces de la fus\u00E9e
|
||||
main.menu.tools.customExpressions = Expressions personnalis\u00E9es
|
||||
main.menu.tools.customExpressions.desc = D\u00E9fini de nouveaux type de donn\u00E9es de vol en \u00E9crivant des expressions math\u00E9matique personnalis\u00E9es
|
||||
main.menu.tools.optimization = Optimisation de la fus\u00E9e
|
||||
main.menu.tools.optimization.desc = Optimisation g\u00E9n\u00E9rale de la fus\u00E9e
|
||||
main.menu.debug = Debug
|
||||
main.menu.debug.createtestrocket = Cr\u00E9er une fus\u00E9e test
|
||||
main.menu.debug.whatisthismenu = Quel est ce menu?
|
||||
|
@ -1065,12 +1065,11 @@ main.menu.edit.delete = Cancella
|
||||
main.menu.edit.preferences = Preferenze
|
||||
main.menu.edit.preferences.desc = Imposta le preferenze dell'applicazione
|
||||
|
||||
main.menu.analyze = Analizza
|
||||
main.menu.analyze.desc = Analisi del razzo
|
||||
main.menu.analyze.componentAnalysis = Analizza componente
|
||||
main.menu.analyze.componentAnalysis.desc = Analizza ogni componente del razzo separatamente
|
||||
main.menu.analyze.optimization = Ottimizzazione del razzo
|
||||
main.menu.analyze.optimization.desc = Ottimizzazioni generali sul disegno del razzo
|
||||
main.menu.tools = Analizza
|
||||
main.menu.tools.componentAnalysis = Analizza componente
|
||||
main.menu.tools.componentAnalysis.desc = Analizza ogni componente del razzo separatamente
|
||||
main.menu.tools.optimization = Ottimizzazione del razzo
|
||||
main.menu.tools.optimization.desc = Ottimizzazioni generali sul disegno del razzo
|
||||
|
||||
main.menu.help = Aiuto
|
||||
main.menu.help.desc = Informazioni su OpenRocket
|
||||
|
@ -1097,14 +1097,13 @@ main.menu.edit.editpreset = Component Preset File\u306E\u7DE8\u96C6
|
||||
main.menu.edit.preferences = \u8A2D\u5B9A
|
||||
main.menu.edit.preferences.desc = \u30A2\u30D7\u30EA\u306E\u8A2D\u5B9A\u3092\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7
|
||||
|
||||
main.menu.analyze = \u89E3\u6790
|
||||
main.menu.analyze.desc = \u30ED\u30B1\u30C3\u30C8\u89E3\u6790
|
||||
main.menu.analyze.componentAnalysis = \u90E8\u54C1\u89E3\u6790
|
||||
main.menu.analyze.componentAnalysis.desc = \u90E8\u54C1\u3092\u5206\u3051\u3066\u89E3\u6790
|
||||
main.menu.analyze.optimization = \u30ED\u30B1\u30C3\u30C8\u6700\u9069\u5316
|
||||
main.menu.analyze.optimization.desc = \u5168\u4F53\u3092\u6700\u9069\u5316
|
||||
main.menu.analyze.customExpressions = \u30AB\u30B9\u30BF\u30E0\u5F0F
|
||||
main.menu.analyze.customExpressions.desc = \u65B0\u3057\u3044\u30D5\u30E9\u30A4\u30C8\u30C7\u30FC\u30BF\u30BF\u30A4\u30D7\u3092\u30AB\u30B9\u30BF\u30E0\u3057\u305F\u6570\u5F0F\u3067\u5B9A\u7FA9
|
||||
main.menu.tools = \u89E3\u6790
|
||||
main.menu.tools.componentAnalysis = \u90E8\u54C1\u89E3\u6790
|
||||
main.menu.tools.componentAnalysis.desc = \u90E8\u54C1\u3092\u5206\u3051\u3066\u89E3\u6790
|
||||
main.menu.tools.optimization = \u30ED\u30B1\u30C3\u30C8\u6700\u9069\u5316
|
||||
main.menu.tools.optimization.desc = \u5168\u4F53\u3092\u6700\u9069\u5316
|
||||
main.menu.tools.customExpressions = \u30AB\u30B9\u30BF\u30E0\u5F0F
|
||||
main.menu.tools.customExpressions.desc = \u65B0\u3057\u3044\u30D5\u30E9\u30A4\u30C8\u30C7\u30FC\u30BF\u30BF\u30A4\u30D7\u3092\u30AB\u30B9\u30BF\u30E0\u3057\u305F\u6570\u5F0F\u3067\u5B9A\u7FA9
|
||||
|
||||
main.menu.help = \u30D8\u30EB\u30D7
|
||||
main.menu.help.desc = OpenRocket\u306B\u3064\u3044\u3066\u306E\u60C5\u5831
|
||||
|
@ -1274,14 +1274,13 @@ main.menu.edit.editpreset= Bewerk Component Preset bestand
|
||||
main.menu.edit.preferences = Voorkeuren
|
||||
main.menu.edit.preferences.desc = Stel de programma voorkeuren in
|
||||
|
||||
main.menu.analyze = Tools
|
||||
main.menu.analyze.desc = Raket-analyses
|
||||
main.menu.analyze.componentAnalysis = Onderdeel-analyses
|
||||
main.menu.analyze.componentAnalysis.desc = Analyseer de raketonderdelen afzonderlijk
|
||||
main.menu.analyze.optimization = Raket-optimalisatie
|
||||
main.menu.analyze.optimization.desc = Algemene optimalisatie van raketontwerp
|
||||
main.menu.analyze.customExpressions = Aangepaste uitdrukkingen
|
||||
main.menu.analyze.customExpressions.desc = Definieer nieuwe vluchtdatatypes door aangepaste wiskundige uitdrukkingen te schrijven
|
||||
main.menu.tools = Tools
|
||||
main.menu.tools.componentAnalysis = Onderdeel-analyses
|
||||
main.menu.tools.componentAnalysis.desc = Analyseer de raketonderdelen afzonderlijk
|
||||
main.menu.tools.optimization = Raket-optimalisatie
|
||||
main.menu.tools.optimization.desc = Algemene optimalisatie van raketontwerp
|
||||
main.menu.tools.customExpressions = Aangepaste uitdrukkingen
|
||||
main.menu.tools.customExpressions.desc = Definieer nieuwe vluchtdatatypes door aangepaste wiskundige uitdrukkingen te schrijven
|
||||
|
||||
main.menu.help = Help
|
||||
main.menu.help.desc = Informatie over OpenRocket
|
||||
|
@ -1006,12 +1006,11 @@ update.dlg.latestVersion = Korzystasz z najnowszej wersji OpenRocket: %s.
|
||||
main.menu.edit.preferences = Ustawienia
|
||||
main.menu.edit.preferences.desc = Edytuj ustawienia programu
|
||||
|
||||
main.menu.analyze = Analiza
|
||||
main.menu.analyze.desc = Analiza rakiety
|
||||
main.menu.analyze.componentAnalysis = Analiza cz\u0119\u015Bci
|
||||
main.menu.analyze.componentAnalysis.desc = Analizuj oddzielnie poszczególne cz\u0119\u015Bci sk\u0142adóe rakiety
|
||||
main.menu.analyze.optimization = Optymalizacja rakiety
|
||||
main.menu.analyze.optimization.desc = Ogólna optymalizacja projektu rakiety
|
||||
main.menu.tools = Analiza
|
||||
main.menu.tools.componentAnalysis = Analiza cz\u0119\u015Bci
|
||||
main.menu.tools.componentAnalysis.desc = Analizuj oddzielnie poszczególne cz\u0119\u015Bci sk\u0142adóe rakiety
|
||||
main.menu.tools.optimization = Optymalizacja rakiety
|
||||
main.menu.tools.optimization.desc = Ogólna optymalizacja projektu rakiety
|
||||
|
||||
main.menu.help = Pomoc
|
||||
main.menu.help.desc = Informacje o programie OpenRocket
|
||||
|
@ -1386,14 +1386,13 @@ FileHelper.IMAGES = Arquivos de imagem
|
||||
# General file type names
|
||||
FileHelper.PDF_FILTER = Arquivos PDF (*.pdf)
|
||||
|
||||
main.menu.analyze = Analisar
|
||||
main.menu.analyze.componentAnalysis = An\u00e1lise dos componentes
|
||||
main.menu.analyze.componentAnalysis.desc = Analisar os componentes dos foguetes separadamente
|
||||
main.menu.analyze.customExpressions = Express\u00f5es personalizadas
|
||||
main.menu.analyze.customExpressions.desc = Definir novos tipos de dados de voo por escrito personalizados express\u00f5es matem\u00e1ticas
|
||||
main.menu.analyze.desc = An\u00e1lise do foguete
|
||||
main.menu.analyze.optimization = Otimiza\u00e7\u00e3o do foguete
|
||||
main.menu.analyze.optimization.desc = Otimiza\u00e7\u00e3o do projeto geral do foguete
|
||||
main.menu.tools = Analisar
|
||||
main.menu.tools.componentAnalysis = An\u00e1lise dos componentes
|
||||
main.menu.tools.componentAnalysis.desc = Analisar os componentes dos foguetes separadamente
|
||||
main.menu.tools.customExpressions = Express\u00f5es personalizadas
|
||||
main.menu.tools.customExpressions.desc = Definir novos tipos de dados de voo por escrito personalizados express\u00f5es matem\u00e1ticas
|
||||
main.menu.tools.optimization = Otimiza\u00e7\u00e3o do foguete
|
||||
main.menu.tools.optimization.desc = Otimiza\u00e7\u00e3o do projeto geral do foguete
|
||||
main.menu.debug = Depura\u00e7\u00e3o
|
||||
main.menu.debug.createtestrocket = Criar foguete de teste
|
||||
main.menu.debug.whatisthismenu = O que \u00e9 esse menu?
|
||||
|
@ -1379,14 +1379,13 @@ main.menu.edit.editpreset = \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0
|
||||
main.menu.edit.preferences = \u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438
|
||||
main.menu.edit.preferences.desc = \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F
|
||||
|
||||
main.menu.analyze = \u0410\u043D\u0430\u043B\u0438\u0437
|
||||
main.menu.analyze.desc = \u0410\u043D\u0430\u043B\u0438\u0437 \u0440\u0430\u043A\u0435\u0442\u044B
|
||||
main.menu.analyze.componentAnalysis = \u0410\u043D\u0430\u043B\u0438\u0437 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432
|
||||
main.menu.analyze.componentAnalysis.desc = \u0410\u043D\u0430\u043B\u0438\u0437 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432 \u0440\u0430\u043A\u0435\u0442\u044B \u043F\u043E \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438
|
||||
main.menu.analyze.optimization = \u041E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u044F \u0440\u0430\u043A\u0435\u0442\u044B
|
||||
main.menu.analyze.optimization.desc = \u041E\u0431\u0449\u0430\u044F \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430 \u0440\u0430\u043A\u0435\u0442\u044B
|
||||
main.menu.analyze.customExpressions = \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F
|
||||
main.menu.analyze.customExpressions.desc = \u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u043E\u0432\u044B\u0445 \u0442\u0438\u043F\u043E\u0432 \u0434\u0430\u043D\u043D\u044B\u0445 \u043F\u043E\u043B\u0435\u0442\u0430 \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u0438\u0435\u043C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0439
|
||||
main.menu.tools = \u0410\u043D\u0430\u043B\u0438\u0437
|
||||
main.menu.tools.componentAnalysis = \u0410\u043D\u0430\u043B\u0438\u0437 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432
|
||||
main.menu.tools.componentAnalysis.desc = \u0410\u043D\u0430\u043B\u0438\u0437 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432 \u0440\u0430\u043A\u0435\u0442\u044B \u043F\u043E \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438
|
||||
main.menu.tools.optimization = \u041E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u044F \u0440\u0430\u043A\u0435\u0442\u044B
|
||||
main.menu.tools.optimization.desc = \u041E\u0431\u0449\u0430\u044F \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430 \u0440\u0430\u043A\u0435\u0442\u044B
|
||||
main.menu.tools.customExpressions = \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F
|
||||
main.menu.tools.customExpressions.desc = \u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043D\u043E\u0432\u044B\u0445 \u0442\u0438\u043F\u043E\u0432 \u0434\u0430\u043D\u043D\u044B\u0445 \u043F\u043E\u043B\u0435\u0442\u0430 \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u0438\u0435\u043C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0439
|
||||
|
||||
main.menu.help = \u0421\u043F\u0440\u0430\u0432\u043A\u0430
|
||||
main.menu.help.desc = \u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E\u0431 OpenRocket
|
||||
|
@ -1175,14 +1175,13 @@ main.menu.edit.editpreset= Edit Component Preset File
|
||||
main.menu.edit.preferences = Preferences
|
||||
main.menu.edit.preferences.desc = Setup the application preferences
|
||||
|
||||
main.menu.analyze = Tools
|
||||
main.menu.analyze.desc = Rocket analysis
|
||||
main.menu.analyze.componentAnalysis = Component analysis
|
||||
main.menu.analyze.componentAnalysis.desc = Analyze the rocket components separately
|
||||
main.menu.analyze.optimization = Rocket optimization
|
||||
main.menu.analyze.optimization.desc = General rocket design optimization
|
||||
main.menu.analyze.customExpressions = Custom expressions
|
||||
main.menu.analyze.customExpressions.desc = Define new flight data types by writing custom mathematical expressions
|
||||
main.menu.tools = Tools
|
||||
main.menu.tools.componentAnalysis = Component analysis
|
||||
main.menu.tools.componentAnalysis.desc = Analyze the rocket components separately
|
||||
main.menu.tools.optimization = Rocket optimization
|
||||
main.menu.tools.optimization.desc = General rocket design optimization
|
||||
main.menu.tools.customExpressions = Custom expressions
|
||||
main.menu.tools.customExpressions.desc = Define new flight data types by writing custom mathematical expressions
|
||||
|
||||
main.menu.help = Help
|
||||
main.menu.help.desc = Information about OpenRocket
|
||||
|
@ -1509,14 +1509,13 @@ generalprefs.languages.default = \u7CFB\u7EDF\u9ED8\u8BA4
|
||||
generalprefs.lbl.language = \u754C\u9762\u8BED\u8A00
|
||||
generalprefs.lbl.languageEffect = \u65B0\u7684\u8BED\u8A00\u5C06\u5728\u4E0B\u6B21\u542F\u52A8OpenRocket\u65F6\u751F\u6548.
|
||||
|
||||
main.menu.analyze = \u5206\u6790
|
||||
main.menu.analyze.componentAnalysis = \u7EC4\u4EF6\u5206\u6790
|
||||
main.menu.analyze.componentAnalysis.desc = \u4EC5\u5206\u6790\u706B\u7BAD\u90E8\u4EF6
|
||||
main.menu.analyze.customExpressions = \u81EA\u5B9A\u4E49\u8868\u8FBE\u5F0F
|
||||
main.menu.analyze.customExpressions.desc = \u901A\u8FC7\u81EA\u5B9A\u4E49\u7684\u6570\u5B66\u8868\u8FBE\u5F0F\u6765\u5B9A\u4E49\u65B0\u7684\u98DE\u884C\u6570\u636E\u7C7B\u578B
|
||||
main.menu.analyze.desc = \u706B\u7BAD\u5206\u6790
|
||||
main.menu.analyze.optimization = \u706B\u7BAD\u4F18\u5316
|
||||
main.menu.analyze.optimization.desc = \u5E38\u89C4\u706B\u7BAD\u8BBE\u8BA1\u4F18\u5316
|
||||
main.menu.tools = \u5206\u6790
|
||||
main.menu.tools.componentAnalysis = \u7EC4\u4EF6\u5206\u6790
|
||||
main.menu.tools.componentAnalysis.desc = \u4EC5\u5206\u6790\u706B\u7BAD\u90E8\u4EF6
|
||||
main.menu.tools.customExpressions = \u81EA\u5B9A\u4E49\u8868\u8FBE\u5F0F
|
||||
main.menu.tools.customExpressions.desc = \u901A\u8FC7\u81EA\u5B9A\u4E49\u7684\u6570\u5B66\u8868\u8FBE\u5F0F\u6765\u5B9A\u4E49\u65B0\u7684\u98DE\u884C\u6570\u636E\u7C7B\u578B
|
||||
main.menu.tools.optimization = \u706B\u7BAD\u4F18\u5316
|
||||
main.menu.tools.optimization.desc = \u5E38\u89C4\u706B\u7BAD\u8BBE\u8BA1\u4F18\u5316
|
||||
main.menu.debug = \u8C03\u8BD5
|
||||
main.menu.debug.createtestrocket = \u5EFA\u7ACB\u6D4B\u8BD5\u706B\u7BAD
|
||||
main.menu.debug.whatisthismenu = \u8FD9\u662F\u4EC0\u4E48\u83DC\u5355?
|
||||
|
@ -264,12 +264,9 @@ public class RocketComponentConfig extends JPanel {
|
||||
if (presetComboBox == null || presetModel == null) return;
|
||||
((ComponentPresetDatabase) Application.getComponentPresetDao()).addDatabaseListener(presetModel);
|
||||
ComponentPresetChooserDialog dialog =
|
||||
new ComponentPresetChooserDialog(SwingUtilities.getWindowAncestor(RocketComponentConfig.this), component);
|
||||
new ComponentPresetChooserDialog(SwingUtilities.getWindowAncestor(RocketComponentConfig.this),
|
||||
component, presetModel);
|
||||
dialog.setVisible(true);
|
||||
ComponentPreset preset = dialog.getSelectedComponentPreset();
|
||||
if (preset != null) {
|
||||
presetModel.setSelectedItem(preset);
|
||||
}
|
||||
((ComponentPresetDatabase) Application.getComponentPresetDao()).removeChangeListener(presetModel);
|
||||
}
|
||||
});
|
||||
|
@ -7,6 +7,8 @@ import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ItemEvent;
|
||||
import java.awt.event.ItemListener;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@ -25,6 +27,7 @@ import javax.swing.table.TableColumn;
|
||||
import javax.swing.table.TableModel;
|
||||
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import net.sf.openrocket.gui.adaptors.PresetModel;
|
||||
import net.sf.openrocket.gui.components.StyledLabel;
|
||||
import net.sf.openrocket.gui.util.GUIUtil;
|
||||
import net.sf.openrocket.gui.util.SwingPreferences;
|
||||
@ -49,8 +52,8 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
|
||||
private final RocketComponent component;
|
||||
|
||||
private ComponentPresetTable componentSelectionTable;
|
||||
private JTextField filterText;
|
||||
private final ComponentPresetTable componentSelectionTable;
|
||||
private final JTextField filterText;
|
||||
private JCheckBox foreDiameterFilterCheckBox;
|
||||
private JCheckBox aftDiameterFilterCheckBox;
|
||||
private JCheckBox showLegacyCheckBox;
|
||||
@ -70,12 +73,14 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
|
||||
private List<ComponentPreset> presets;
|
||||
private ComponentPreset.Type presetType;
|
||||
private PresetModel presetModel;
|
||||
|
||||
|
||||
public ComponentPresetChooserDialog(Window owner, RocketComponent component) {
|
||||
public ComponentPresetChooserDialog(Window owner, RocketComponent component, PresetModel presetModel) {
|
||||
super(owner, trans.get("title"), Dialog.ModalityType.APPLICATION_MODAL);
|
||||
this.component = component;
|
||||
this.presetType = component.getPresetType();
|
||||
this.presetModel = presetModel;
|
||||
this.presets = Application.getComponentPresetDao().listForType(component.getPresetType());
|
||||
|
||||
List<TypedKey<?>> displayedColumnKeys = Arrays.asList(component.getPresetType().getDisplayedColumns());
|
||||
@ -155,6 +160,16 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
|
||||
panel.add(new StyledLabel(String.format("<html>%s %s</html>", Chars.UP_ARROW, trans.get("lbl.favorites")), -1), "spanx, gapleft 5px, wrap para");
|
||||
|
||||
// When double-clicking a preset row, apply the preset and close this dialog
|
||||
componentSelectionTable.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
// Don't do anything when double-clicking the first column
|
||||
if (e.getClickCount() == 2 && componentSelectionTable.getSelectedColumn() > 0 && applySelectedPreset()) {
|
||||
ComponentPresetChooserDialog.this.setVisible(false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Close buttons
|
||||
JButton closeButton = new SelectColorButton(trans.get("dlg.but.close"));
|
||||
@ -162,6 +177,7 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
ComponentPresetChooserDialog.this.setVisible(false);
|
||||
applySelectedPreset();
|
||||
}
|
||||
});
|
||||
panel.add(closeButton, "spanx, right, tag close");
|
||||
@ -174,6 +190,21 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
updateFilters();
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies the currently selected preset to presetModel.
|
||||
*
|
||||
* @return true if the preset was applied, false if otherwise.
|
||||
*/
|
||||
private boolean applySelectedPreset() {
|
||||
if (presetModel == null) return false;
|
||||
ComponentPreset preset = getSelectedComponentPreset();
|
||||
if (preset != null) {
|
||||
presetModel.setSelectedItem(preset);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
private JPanel getFilterCheckboxes(XTableColumnModel tm, int legacyColumnIndex) {
|
||||
JPanel panel = new JPanel(new MigLayout("ins 0"));
|
||||
|
@ -841,19 +841,15 @@ public class BasicFrame extends JFrame {
|
||||
}
|
||||
|
||||
|
||||
//// Analyze
|
||||
menu = new JMenu(trans.get("main.menu.analyze"));
|
||||
menu.setMnemonic(KeyEvent.VK_A);
|
||||
|
||||
//// Analyzing the rocket
|
||||
menu.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.analyze.desc"));
|
||||
// Tools
|
||||
menu = new JMenu(trans.get("main.menu.tools"));
|
||||
menubar.add(menu);
|
||||
|
||||
//// Component analysis
|
||||
item = new JMenuItem(trans.get("main.menu.analyze.componentAnalysis"), KeyEvent.VK_C);
|
||||
item = new JMenuItem(trans.get("main.menu.tools.componentAnalysis"), KeyEvent.VK_C);
|
||||
|
||||
//// Analyze the rocket components separately
|
||||
item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.analyze.componentAnalysis.desc"));
|
||||
item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.tools.componentAnalysis.desc"));
|
||||
item.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
@ -864,8 +860,8 @@ public class BasicFrame extends JFrame {
|
||||
menu.add(item);
|
||||
|
||||
//// Optimize
|
||||
item = new JMenuItem(trans.get("main.menu.analyze.optimization"), KeyEvent.VK_O);
|
||||
item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.analyze.optimization.desc"));
|
||||
item = new JMenuItem(trans.get("main.menu.tools.optimization"), KeyEvent.VK_O);
|
||||
item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.tools.optimization.desc"));
|
||||
item.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
@ -880,8 +876,8 @@ public class BasicFrame extends JFrame {
|
||||
menu.add(item);
|
||||
|
||||
//// Custom expressions
|
||||
item = new JMenuItem(trans.get("main.menu.analyze.customExpressions"), KeyEvent.VK_E);
|
||||
item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.analyze.customExpressions.desc"));
|
||||
item = new JMenuItem(trans.get("main.menu.tools.customExpressions"), KeyEvent.VK_E);
|
||||
item.getAccessibleContext().setAccessibleDescription(trans.get("main.menu.tools.customExpressions.desc"));
|
||||
item.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
|
@ -72,7 +72,7 @@ public class PresetEditorDialog extends JDialog implements ItemListener {
|
||||
|
||||
private static final long serialVersionUID = -3298642844886682536L;
|
||||
|
||||
private static Translator trans = Application.getTranslator();
|
||||
private static final Translator trans = Application.getTranslator();
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(PresetEditorDialog.class);
|
||||
|
||||
@ -83,137 +83,136 @@ public class PresetEditorDialog extends JDialog implements ItemListener {
|
||||
*/
|
||||
final PresetInputVerifier NON_NEGATIVE_INTEGER = new PresetInputVerifier(Pattern.compile(NON_NEGATIVE_INTEGER_FIELD));
|
||||
|
||||
private final JPanel contentPanel = new JPanel();
|
||||
private DeselectableComboBox<String> typeCombo;
|
||||
private JTextField mfgTextField;
|
||||
private MaterialChooser materialChooser;
|
||||
private final DeselectableComboBox<String> typeCombo;
|
||||
private final JTextField mfgTextField;
|
||||
private final MaterialChooser materialChooser;
|
||||
private MaterialHolder holder = null;
|
||||
|
||||
private JTextField ncPartNoTextField;
|
||||
private JTextField ncDescTextField;
|
||||
private DoubleModel ncLength;
|
||||
private JCheckBox ncFilledCB;
|
||||
private JComboBox<String> ncShapeCB;
|
||||
private DoubleModel ncAftDia;
|
||||
private DoubleModel ncAftShoulderDia;
|
||||
private DoubleModel ncAftShoulderLen;
|
||||
private DoubleModel ncMass;
|
||||
private final JTextField ncPartNoTextField;
|
||||
private final JTextField ncDescTextField;
|
||||
private final DoubleModel ncLength;
|
||||
private final JCheckBox ncFilledCB;
|
||||
private final JComboBox<String> ncShapeCB;
|
||||
private final DoubleModel ncAftDia;
|
||||
private final DoubleModel ncAftShoulderDia;
|
||||
private final DoubleModel ncAftShoulderLen;
|
||||
private final DoubleModel ncMass;
|
||||
private ImageIcon ncImage;
|
||||
private JButton ncImageBtn;
|
||||
private final JButton ncImageBtn;
|
||||
|
||||
private JTextField trPartNoTextField;
|
||||
private JTextField trDescTextField;
|
||||
private DoubleModel trLength;
|
||||
private DoubleModel trAftDia;
|
||||
private DoubleModel trAftShoulderDia;
|
||||
private DoubleModel trAftShoulderLen;
|
||||
private DoubleModel trForeDia;
|
||||
private DoubleModel trForeShoulderDia;
|
||||
private DoubleModel trForeShoulderLen;
|
||||
private final JTextField trPartNoTextField;
|
||||
private final JTextField trDescTextField;
|
||||
private final DoubleModel trLength;
|
||||
private final DoubleModel trAftDia;
|
||||
private final DoubleModel trAftShoulderDia;
|
||||
private final DoubleModel trAftShoulderLen;
|
||||
private final DoubleModel trForeDia;
|
||||
private final DoubleModel trForeShoulderDia;
|
||||
private final DoubleModel trForeShoulderLen;
|
||||
private DoubleModel trMass;
|
||||
private ImageIcon trImage;
|
||||
private JCheckBox trFilledCB;
|
||||
private JComboBox<String> trShapeCB;
|
||||
private JButton trImageBtn;
|
||||
private final JCheckBox trFilledCB;
|
||||
private final JComboBox<String> trShapeCB;
|
||||
private final JButton trImageBtn;
|
||||
|
||||
private JTextField btPartNoTextField;
|
||||
private JTextField btDescTextField;
|
||||
private DoubleModel btMass;
|
||||
private DoubleModel btInnerDia;
|
||||
private DoubleModel btOuterDia;
|
||||
private DoubleModel btLength;
|
||||
private final JTextField btPartNoTextField;
|
||||
private final JTextField btDescTextField;
|
||||
private final DoubleModel btMass;
|
||||
private final DoubleModel btInnerDia;
|
||||
private final DoubleModel btOuterDia;
|
||||
private final DoubleModel btLength;
|
||||
private ImageIcon btImage;
|
||||
private JButton btImageBtn;
|
||||
private final JButton btImageBtn;
|
||||
|
||||
private JTextField tcPartNoTextField;
|
||||
private JTextField tcDescTextField;
|
||||
private DoubleModel tcMass;
|
||||
private DoubleModel tcInnerDia;
|
||||
private DoubleModel tcOuterDia;
|
||||
private DoubleModel tcLength;
|
||||
private final JTextField tcPartNoTextField;
|
||||
private final JTextField tcDescTextField;
|
||||
private final DoubleModel tcMass;
|
||||
private final DoubleModel tcInnerDia;
|
||||
private final DoubleModel tcOuterDia;
|
||||
private final DoubleModel tcLength;
|
||||
private ImageIcon tcImage;
|
||||
private JButton tcImageBtn;
|
||||
private final JButton tcImageBtn;
|
||||
|
||||
private JTextField bhPartNoTextField;
|
||||
private JTextField bhDescTextField;
|
||||
private DoubleModel bhOuterDia;
|
||||
private DoubleModel bhLength;
|
||||
private DoubleModel bhMass;
|
||||
private final JTextField bhPartNoTextField;
|
||||
private final JTextField bhDescTextField;
|
||||
private final DoubleModel bhOuterDia;
|
||||
private final DoubleModel bhLength;
|
||||
private final DoubleModel bhMass;
|
||||
private ImageIcon bhImage;
|
||||
private JButton bhImageBtn;
|
||||
private final JButton bhImageBtn;
|
||||
|
||||
private JTextField crPartNoTextField;
|
||||
private JTextField crDescTextField;
|
||||
private DoubleModel crOuterDia;
|
||||
private DoubleModel crInnerDia;
|
||||
private DoubleModel crThickness;
|
||||
private DoubleModel crMass;
|
||||
private final JTextField crPartNoTextField;
|
||||
private final JTextField crDescTextField;
|
||||
private final DoubleModel crOuterDia;
|
||||
private final DoubleModel crInnerDia;
|
||||
private final DoubleModel crThickness;
|
||||
private final DoubleModel crMass;
|
||||
private ImageIcon crImage;
|
||||
private JButton crImageBtn;
|
||||
private final JButton crImageBtn;
|
||||
|
||||
private JTextField ebPartNoTextField;
|
||||
private JTextField ebDescTextField;
|
||||
private DoubleModel ebOuterDia;
|
||||
private DoubleModel ebInnerDia;
|
||||
private DoubleModel ebThickness;
|
||||
private DoubleModel ebMass;
|
||||
private final JTextField ebPartNoTextField;
|
||||
private final JTextField ebDescTextField;
|
||||
private final DoubleModel ebOuterDia;
|
||||
private final DoubleModel ebInnerDia;
|
||||
private final DoubleModel ebThickness;
|
||||
private final DoubleModel ebMass;
|
||||
private ImageIcon ebImage;
|
||||
private JButton ebImageBtn;
|
||||
private final JButton ebImageBtn;
|
||||
|
||||
private JTextField llPartNoTextField;
|
||||
private JTextField llDescTextField;
|
||||
private DoubleModel llOuterDia;
|
||||
private DoubleModel llInnerDia;
|
||||
private DoubleModel llLength;
|
||||
private DoubleModel llMass;
|
||||
private final JTextField llPartNoTextField;
|
||||
private final JTextField llDescTextField;
|
||||
private final DoubleModel llOuterDia;
|
||||
private final DoubleModel llInnerDia;
|
||||
private final DoubleModel llLength;
|
||||
private final DoubleModel llMass;
|
||||
private ImageIcon llImage;
|
||||
private JButton llImageBtn;
|
||||
private final JButton llImageBtn;
|
||||
|
||||
private JTextField rbPartNoTextField;
|
||||
private JTextField rbDescTextField;
|
||||
private DoubleModel rbOuterDia;
|
||||
private DoubleModel rbInnerDia;
|
||||
private DoubleModel rbHeight;
|
||||
private DoubleModel rbStandoffHeight;
|
||||
private DoubleModel rbFlangeHeight;
|
||||
private DoubleModel rbMass;
|
||||
private final JTextField rbPartNoTextField;
|
||||
private final JTextField rbDescTextField;
|
||||
private final DoubleModel rbOuterDia;
|
||||
private final DoubleModel rbInnerDia;
|
||||
private final DoubleModel rbHeight;
|
||||
private final DoubleModel rbStandoffHeight;
|
||||
private final DoubleModel rbFlangeHeight;
|
||||
private final DoubleModel rbMass;
|
||||
private ImageIcon rbImage;
|
||||
private JButton rbImageBtn;
|
||||
private final JButton rbImageBtn;
|
||||
|
||||
private JTextField stPartNoTextField;
|
||||
private JTextField stDescTextField;
|
||||
private DoubleModel stThickness;
|
||||
private DoubleModel stWidth;
|
||||
private DoubleModel stLength;
|
||||
private DoubleModel stMass;
|
||||
private final JTextField stPartNoTextField;
|
||||
private final JTextField stDescTextField;
|
||||
private final DoubleModel stThickness;
|
||||
private final DoubleModel stWidth;
|
||||
private final DoubleModel stLength;
|
||||
private final DoubleModel stMass;
|
||||
private ImageIcon stImage;
|
||||
private JButton stImageBtn;
|
||||
private final JButton stImageBtn;
|
||||
|
||||
// Parachute Specific
|
||||
private JTextField pcPartNoTextField;
|
||||
private JTextField pcDescTextField;
|
||||
private DoubleModel pcDiameter;
|
||||
private final JTextField pcPartNoTextField;
|
||||
private final JTextField pcDescTextField;
|
||||
private final DoubleModel pcDiameter;
|
||||
private DoubleModel pcSpillDia;
|
||||
private DoubleModel pcSurfaceArea;
|
||||
private DoubleModel pcDragCoefficient;
|
||||
// Canopy material = private MaterialChooser materialChooser;
|
||||
private JTextField pcSides;
|
||||
private JTextField pcLineCount;
|
||||
private DoubleModel pcLineLength;
|
||||
private final JTextField pcSides;
|
||||
private final JTextField pcLineCount;
|
||||
private final DoubleModel pcLineLength;
|
||||
private DoubleModel pcPackedLength;
|
||||
private DoubleModel pcPackedDiameter;
|
||||
private MaterialChooser pcLineMaterialChooser;
|
||||
private DoubleModel pcMass;
|
||||
private final MaterialChooser pcLineMaterialChooser;
|
||||
private final DoubleModel pcMass;
|
||||
private ImageIcon pcImage;
|
||||
private JButton pcImageBtn;
|
||||
private final JButton pcImageBtn;
|
||||
|
||||
private final JFileChooser imageChooser = createImageChooser();
|
||||
|
||||
private JPanel componentOverlayPanel;
|
||||
private final JPanel componentOverlayPanel;
|
||||
|
||||
private PresetResultListener resultListener;
|
||||
private final PresetResultListener resultListener;
|
||||
|
||||
private static Map<String, String> componentMap = new HashMap<String, String>();
|
||||
private static final Map<String, String> componentMap = new HashMap<String, String>();
|
||||
|
||||
private static final String NOSE_CONE_KEY = "NoseCone.NoseCone";
|
||||
private static final String BODY_TUBE_KEY = "BodyTube.BodyTube";
|
||||
@ -263,6 +262,7 @@ public class PresetEditorDialog extends JDialog implements ItemListener {
|
||||
getContentPane().setMinimumSize(new Dimension(200, 200));
|
||||
setBounds(100, 100, 825, 610);
|
||||
getContentPane().setLayout(new BorderLayout());
|
||||
JPanel contentPanel = new JPanel();
|
||||
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||
getContentPane().add(contentPanel, BorderLayout.CENTER);
|
||||
contentPanel.setLayout(new MigLayout("", "[][grow][94.00,grow][232.0,grow][130.00][grow]", "[][][20.00,grow][grow]"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user