Kotlin Facet: Correctly enable/disable "output directory" field when changing "Use project settings" option
#KT-16317 Fixed
This commit is contained in:
+12
-2
@@ -33,6 +33,7 @@ import com.intellij.ui.ListCellRendererWrapper;
|
|||||||
import com.intellij.ui.RawCommandLineEditor;
|
import com.intellij.ui.RawCommandLineEditor;
|
||||||
import com.intellij.util.text.VersionComparatorUtil;
|
import com.intellij.util.text.VersionComparatorUtil;
|
||||||
import com.intellij.util.ui.ThreeStateCheckBox;
|
import com.intellij.util.ui.ThreeStateCheckBox;
|
||||||
|
import com.intellij.util.ui.UIUtil;
|
||||||
import kotlin.collections.ArraysKt;
|
import kotlin.collections.ArraysKt;
|
||||||
import kotlin.jvm.functions.Function0;
|
import kotlin.jvm.functions.Function0;
|
||||||
import kotlin.jvm.functions.Function1;
|
import kotlin.jvm.functions.Function1;
|
||||||
@@ -105,6 +106,8 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co
|
|||||||
private JComboBox apiVersionComboBox;
|
private JComboBox apiVersionComboBox;
|
||||||
private JPanel scriptPanel;
|
private JPanel scriptPanel;
|
||||||
|
|
||||||
|
private boolean isEnabled = true;
|
||||||
|
|
||||||
public KotlinCompilerConfigurableTab(
|
public KotlinCompilerConfigurableTab(
|
||||||
Project project,
|
Project project,
|
||||||
CommonCompilerArguments commonCompilerArguments,
|
CommonCompilerArguments commonCompilerArguments,
|
||||||
@@ -143,8 +146,10 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co
|
|||||||
copyRuntimeFilesCheckBox.addChangeListener(new ChangeListener() {
|
copyRuntimeFilesCheckBox.addChangeListener(new ChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void stateChanged(@NotNull ChangeEvent e) {
|
public void stateChanged(@NotNull ChangeEvent e) {
|
||||||
outputDirectory.setEnabled(copyRuntimeFilesCheckBox.isSelected());
|
if (isEnabled) {
|
||||||
labelForOutputDirectory.setEnabled(copyRuntimeFilesCheckBox.isSelected());
|
outputDirectory.setEnabled(copyRuntimeFilesCheckBox.isSelected());
|
||||||
|
labelForOutputDirectory.setEnabled(copyRuntimeFilesCheckBox.isSelected());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -501,4 +506,9 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co
|
|||||||
public JComboBox getCoroutineSupportComboBox() {
|
public JComboBox getCoroutineSupportComboBox() {
|
||||||
return coroutineSupportComboBox;
|
return coroutineSupportComboBox;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setEnabled(boolean value) {
|
||||||
|
isEnabled = value;
|
||||||
|
UIUtil.setEnabled(getContentPane(), value, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.ui.DocumentAdapter
|
import com.intellij.ui.DocumentAdapter
|
||||||
import com.intellij.util.ui.FormBuilder
|
import com.intellij.util.ui.FormBuilder
|
||||||
import com.intellij.util.ui.ThreeStateCheckBox
|
import com.intellij.util.ui.ThreeStateCheckBox
|
||||||
import com.intellij.util.ui.UIUtil
|
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
|
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
|
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
||||||
@@ -31,7 +30,9 @@ import org.jetbrains.kotlin.cli.common.arguments.parseArguments
|
|||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.*
|
||||||
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCompilerConfigurableTab
|
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCompilerConfigurableTab
|
||||||
import java.awt.BorderLayout
|
import java.awt.BorderLayout
|
||||||
import javax.swing.*
|
import javax.swing.JComboBox
|
||||||
|
import javax.swing.JComponent
|
||||||
|
import javax.swing.JPanel
|
||||||
import javax.swing.event.DocumentEvent
|
import javax.swing.event.DocumentEvent
|
||||||
|
|
||||||
class KotlinFacetEditorGeneralTab(
|
class KotlinFacetEditorGeneralTab(
|
||||||
@@ -101,7 +102,7 @@ class KotlinFacetEditorGeneralTab(
|
|||||||
|
|
||||||
internal fun updateCompilerConfigurable() {
|
internal fun updateCompilerConfigurable() {
|
||||||
compilerConfigurable.setTargetPlatform(chosenPlatform)
|
compilerConfigurable.setTargetPlatform(chosenPlatform)
|
||||||
UIUtil.setEnabled(compilerConfigurable.contentPane, !useProjectSettingsCheckBox.isSelected, true)
|
compilerConfigurable.setEnabled(!useProjectSettingsCheckBox.isSelected)
|
||||||
}
|
}
|
||||||
|
|
||||||
val chosenPlatform: TargetPlatformKind<*>?
|
val chosenPlatform: TargetPlatformKind<*>?
|
||||||
|
|||||||
Reference in New Issue
Block a user