From 2df8adc50bbe0d05ad248b8da5689f2788011e9a Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Mon, 28 May 2018 13:39:51 +0300 Subject: [PATCH] Move option for auto-reloading script dependencies to 'Kotlin Scripting' page --- .../KotlinCompilerConfigurableTab.form | 18 +++------ .../KotlinCompilerConfigurableTab.java | 11 ------ .../KotlinScriptingSettingsConfigurable.form | 38 ++++++++++--------- .../KotlinScriptingSettingsConfigurable.java | 13 ++++++- 4 files changed, 37 insertions(+), 43 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.form b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.form index eb3aea3d7b6..e991a8184c4 100644 --- a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.form +++ b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.form @@ -150,7 +150,7 @@ - + @@ -165,7 +165,7 @@ - + @@ -173,7 +173,7 @@ - + @@ -182,23 +182,15 @@ - + - - - - - - - - - + diff --git a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java index c5db86a0203..999a4945235 100644 --- a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java +++ b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java @@ -37,7 +37,6 @@ import org.jetbrains.kotlin.cli.common.arguments.K2JsArgumentConstants; import org.jetbrains.kotlin.config.*; import org.jetbrains.kotlin.idea.KotlinBundle; import org.jetbrains.kotlin.idea.PluginStartupComponent; -import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings; import org.jetbrains.kotlin.idea.facet.DescriptionListCellRenderer; import org.jetbrains.kotlin.idea.facet.KotlinFacet; import org.jetbrains.kotlin.idea.roots.RootUtilsKt; @@ -95,7 +94,6 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co private JCheckBox enableIncrementalCompilationForJvmCheckBox; private JCheckBox enableIncrementalCompilationForJsCheckBox; private JComboBox moduleKindComboBox; - private JCheckBox scriptDependenciesAutoReload; private JTextField scriptTemplatesField; private JTextField scriptTemplatesClasspathField; private JLabel scriptTemplatesLabel; @@ -443,7 +441,6 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co !getSelectedAPIVersionView().equals(KotlinFacetSettingsKt.getApiVersionView(commonCompilerArguments)) || !getSelectedCoroutineState().equals(commonCompilerArguments.getCoroutinesState()) || !additionalArgsOptionsField.getText().equals(compilerSettings.getAdditionalArguments()) || - isModified(scriptDependenciesAutoReload, getScriptingSettings().isAutoReloadEnabled()) || isModified(scriptTemplatesField, compilerSettings.getScriptTemplates()) || isModified(scriptTemplatesClasspathField, compilerSettings.getScriptTemplatesClasspath()) || isModified(copyRuntimeFilesCheckBox, compilerSettings.getCopyJsLibraryFiles()) || @@ -544,8 +541,6 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co compilerSettings.setCopyJsLibraryFiles(copyRuntimeFilesCheckBox.isSelected()); compilerSettings.setOutputDirectoryForJsLibraryFiles(outputDirectory.getText()); - getScriptingSettings().setAutoReloadEnabled(scriptDependenciesAutoReload.isSelected()); - if (compilerWorkspaceSettings != null) { compilerWorkspaceSettings.setPreciseIncrementalEnabled(enableIncrementalCompilationForJvmCheckBox.isSelected()); compilerWorkspaceSettings.setIncrementalCompilationForJsEnabled(enableIncrementalCompilationForJsCheckBox.isSelected()); @@ -592,7 +587,6 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co apiVersionComboBox.setSelectedItem(KotlinFacetSettingsKt.getApiVersionView(commonCompilerArguments)); coroutineSupportComboBox.setSelectedItem(CoroutineSupport.byCompilerArguments(commonCompilerArguments)); additionalArgsOptionsField.setText(compilerSettings.getAdditionalArguments()); - scriptDependenciesAutoReload.setSelected(getScriptingSettings().isAutoReloadEnabled()); scriptTemplatesField.setText(compilerSettings.getScriptTemplates()); scriptTemplatesClasspathField.setText(compilerSettings.getScriptTemplatesClasspath()); copyRuntimeFilesCheckBox.setSelected(compilerSettings.getCopyJsLibraryFiles()); @@ -729,11 +723,6 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co this.compilerSettings = compilerSettings; } - @NotNull - private KotlinScriptingSettings getScriptingSettings() { - return KotlinScriptingSettings.Companion.getInstance(project); - } - private void createUIComponents() { // Workaround: ThreeStateCheckBox doesn't send suitable notification on state change // TODO: replace with PropertyChangerListener after fix is available in IDEA diff --git a/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptingSettingsConfigurable.form b/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptingSettingsConfigurable.form index eb360c13fb1..c2c00270941 100644 --- a/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptingSettingsConfigurable.form +++ b/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptingSettingsConfigurable.form @@ -8,7 +8,7 @@ - + @@ -18,41 +18,45 @@ - + - + - + - + - + - + + + + + + + - - - - - - - - - - + + + + + + + + diff --git a/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptingSettingsConfigurable.java b/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptingSettingsConfigurable.java index 87c21d0b19b..843794a32e9 100644 --- a/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptingSettingsConfigurable.java +++ b/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptingSettingsConfigurable.java @@ -14,6 +14,7 @@ import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionsManager; +import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings; import javax.swing.*; import java.awt.*; @@ -21,13 +22,16 @@ import java.awt.*; public class KotlinScriptingSettingsConfigurable implements SearchableConfigurable, Configurable.NoScroll { private JPanel root; private JPanel panelScriptDefinitionsChooser; + private JCheckBox scriptDependenciesAutoReload; private KotlinScriptDefinitionsModel model; private final ScriptDefinitionsManager manager; + private final KotlinScriptingSettings settings; public KotlinScriptingSettingsConfigurable(Project project) { manager = ScriptDefinitionsManager.Companion.getInstance(project); + settings = KotlinScriptingSettings.Companion.getInstance(project); } @Nullable @@ -48,20 +52,25 @@ public class KotlinScriptingSettingsConfigurable implements SearchableConfigurab @Override public boolean isModified() { - return !model.getItems().equals(manager.getAllDefinitions()); + return isModified(scriptDependenciesAutoReload, settings.isAutoReloadEnabled()) + || !model.getItems().equals(manager.getAllDefinitions()); } @Override public void apply() { + settings.setAutoReloadEnabled(scriptDependenciesAutoReload.isSelected()); + + // todo } @Override public void reset() { + scriptDependenciesAutoReload.setSelected(settings.isAutoReloadEnabled()); + // todo } - @Override @Nls public String getDisplayName() {