offer "All modules" choice in "Configure Kotlin in project" dialog, allow to invoke the action when there are no Kotlin files in the project
#KT-7979 Fixed
This commit is contained in:
@@ -18,26 +18,23 @@ package org.jetbrains.kotlin.idea.actions
|
|||||||
|
|
||||||
import com.intellij.openapi.actionSystem.AnAction
|
import com.intellij.openapi.actionSystem.AnAction
|
||||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.ui.Messages
|
import com.intellij.openapi.ui.Messages
|
||||||
import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator
|
import org.jetbrains.kotlin.idea.configuration.*
|
||||||
import org.jetbrains.kotlin.idea.configuration.getAbleToRunConfigurators
|
|
||||||
import org.jetbrains.kotlin.idea.configuration.isProjectConfigured
|
|
||||||
import org.jetbrains.kotlin.idea.configuration.showConfigureKotlinNotificationIfNeeded
|
|
||||||
import org.jetbrains.kotlin.js.resolve.JsPlatform
|
import org.jetbrains.kotlin.js.resolve.JsPlatform
|
||||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
||||||
|
import org.jetbrains.kotlin.utils.ifEmpty
|
||||||
|
|
||||||
abstract class ConfigureKotlinInProjectAction : AnAction() {
|
abstract class ConfigureKotlinInProjectAction : AnAction() {
|
||||||
|
|
||||||
abstract fun getApplicableConfigurators(project: Project): Collection<KotlinProjectConfigurator>
|
abstract fun getApplicableConfigurators(project: Project): Collection<KotlinProjectConfigurator>
|
||||||
|
|
||||||
override fun actionPerformed(e: AnActionEvent) {
|
override fun actionPerformed(e: AnActionEvent) {
|
||||||
val project = CommonDataKeys.PROJECT.getData(e.dataContext)
|
val project = e.project ?: return
|
||||||
if (project == null) return
|
|
||||||
|
|
||||||
if (isProjectConfigured(project)) {
|
val modules = getModulesWithKotlinFiles(project).ifEmpty { project.allModules() }
|
||||||
Messages.showInfoMessage("All modules with kotlin files are configured", e.presentation.getText()!!)
|
if (modules.all { isModuleConfigured(it) }) {
|
||||||
|
Messages.showInfoMessage("All modules with Kotlin files are configured", e.presentation.text!!)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,7 +44,7 @@ abstract class ConfigureKotlinInProjectAction : AnAction() {
|
|||||||
configurators.size == 1 -> configurators.first().configure(project)
|
configurators.size == 1 -> configurators.first().configure(project)
|
||||||
configurators.isEmpty() -> Messages.showErrorDialog("There aren't configurators available", e.presentation.text!!)
|
configurators.isEmpty() -> Messages.showErrorDialog("There aren't configurators available", e.presentation.text!!)
|
||||||
else -> {
|
else -> {
|
||||||
Messages.showErrorDialog("More than one configurator is available", e.presentation.getText()!!)
|
Messages.showErrorDialog("More than one configurator is available", e.presentation.text!!)
|
||||||
showConfigureKotlinNotificationIfNeeded(project)
|
showConfigureKotlinNotificationIfNeeded(project)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,12 +26,15 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.search.FileTypeIndex
|
import com.intellij.psi.search.FileTypeIndex
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
|
import org.jetbrains.kotlin.utils.ifEmpty
|
||||||
|
|
||||||
fun isProjectConfigured(project: Project): Boolean {
|
fun isProjectConfigured(project: Project): Boolean {
|
||||||
val modules = getModulesWithKotlinFiles(project)
|
val modules = getModulesWithKotlinFiles(project)
|
||||||
return modules.all { isModuleConfigured(it) }
|
return modules.all { isModuleConfigured(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Project.allModules() = ModuleManager.getInstance(this).modules.toList()
|
||||||
|
|
||||||
fun isModuleConfigured(module: Module): Boolean {
|
fun isModuleConfigured(module: Module): Boolean {
|
||||||
val configurators = getApplicableConfigurators(module)
|
val configurators = getApplicableConfigurators(module)
|
||||||
return configurators.any { it.isConfigured(module) }
|
return configurators.any { it.isConfigured(module) }
|
||||||
@@ -46,7 +49,7 @@ fun getModulesWithKotlinFiles(project: Project): Collection<Module> {
|
|||||||
return emptyList()
|
return emptyList()
|
||||||
}
|
}
|
||||||
|
|
||||||
return ModuleManager.getInstance(project).modules.filter { module ->
|
return project.allModules().filter { module ->
|
||||||
FileTypeIndex.containsFileOfType(KotlinFileType.INSTANCE, module.getModuleScope(true))
|
FileTypeIndex.containsFileOfType(KotlinFileType.INSTANCE, module.getModuleScope(true))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -68,7 +71,7 @@ private fun showConfigureKotlinNotification(project: Project) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getAbleToRunConfigurators(project: Project): Collection<KotlinProjectConfigurator> {
|
fun getAbleToRunConfigurators(project: Project): Collection<KotlinProjectConfigurator> {
|
||||||
val modules = getModulesWithKotlinFiles(project)
|
val modules = getModulesWithKotlinFiles(project).ifEmpty { project.allModules() }
|
||||||
|
|
||||||
return Extensions.getExtensions(KotlinProjectConfigurator.EP_NAME).filter { configurator ->
|
return Extensions.getExtensions(KotlinProjectConfigurator.EP_NAME).filter { configurator ->
|
||||||
modules.any { module -> configurator.isApplicable(module) && !configurator.isConfigured(module) }
|
modules.any { module -> configurator.isApplicable(module) && !configurator.isConfigured(module) }
|
||||||
@@ -84,6 +87,10 @@ fun getConfiguratorByName(name: String): KotlinProjectConfigurator? {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getNonConfiguredModules(project: Project, configurator: KotlinProjectConfigurator): List<Module> {
|
fun getNonConfiguredModules(project: Project, configurator: KotlinProjectConfigurator): List<Module> {
|
||||||
|
return project.allModules().filter { module -> configurator.isApplicable(module) && !configurator.isConfigured(module) }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getNonConfiguredModulesWithKotlinFiles(project: Project, configurator: KotlinProjectConfigurator): List<Module> {
|
||||||
val modules = getModulesWithKotlinFiles(project)
|
val modules = getModulesWithKotlinFiles(project)
|
||||||
return modules.filter { module -> configurator.isApplicable(module) && !configurator.isConfigured(module) }
|
return modules.filter { module -> configurator.isApplicable(module) && !configurator.isConfigured(module) }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,10 +110,8 @@ public abstract class KotlinMavenConfigurator implements KotlinProjectConfigurat
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(@NotNull Project project) {
|
public void configure(@NotNull Project project) {
|
||||||
List<Module> nonConfiguredModules = ConfigureKotlinInProjectUtilsKt.getNonConfiguredModules(project, this);
|
|
||||||
|
|
||||||
ConfigureDialogWithModulesAndVersion dialog =
|
ConfigureDialogWithModulesAndVersion dialog =
|
||||||
new ConfigureDialogWithModulesAndVersion(project, nonConfiguredModules, KOTLIN_VERSIONS);
|
new ConfigureDialogWithModulesAndVersion(project, this, KOTLIN_VERSIONS);
|
||||||
|
|
||||||
dialog.show();
|
dialog.show();
|
||||||
if (!dialog.isOK()) return;
|
if (!dialog.isOK()) return;
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.path.GrM
|
|||||||
import org.jetbrains.plugins.groovy.lang.psi.api.util.GrStatementOwner;
|
import org.jetbrains.plugins.groovy.lang.psi.api.util.GrStatementOwner;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt.showInfoNotification;
|
import static org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt.showInfoNotification;
|
||||||
|
|
||||||
@@ -86,10 +85,8 @@ public abstract class KotlinWithGradleConfigurator implements KotlinProjectConfi
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(@NotNull Project project) {
|
public void configure(@NotNull Project project) {
|
||||||
List<Module> nonConfiguredModules = ConfigureKotlinInProjectUtilsKt.getNonConfiguredModules(project, this);
|
|
||||||
|
|
||||||
ConfigureDialogWithModulesAndVersion dialog =
|
ConfigureDialogWithModulesAndVersion dialog =
|
||||||
new ConfigureDialogWithModulesAndVersion(project, nonConfiguredModules, KOTLIN_VERSIONS);
|
new ConfigureDialogWithModulesAndVersion(project, this, KOTLIN_VERSIONS);
|
||||||
|
|
||||||
dialog.show();
|
dialog.show();
|
||||||
if (!dialog.isOK()) return;
|
if (!dialog.isOK()) return;
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ public abstract class KotlinWithLibraryConfigurator implements KotlinProjectConf
|
|||||||
|
|
||||||
if (nonConfiguredModules.size() > 1 || showPathToJarPanel) {
|
if (nonConfiguredModules.size() > 1 || showPathToJarPanel) {
|
||||||
CreateLibraryDialogWithModules dialog = new CreateLibraryDialogWithModules(
|
CreateLibraryDialogWithModules dialog = new CreateLibraryDialogWithModules(
|
||||||
project, nonConfiguredModules, defaultPathToJar, showPathToJarPanel,
|
project, this, defaultPathToJar, showPathToJarPanel,
|
||||||
getDialogTitle(),
|
getDialogTitle(),
|
||||||
getLibraryCaption());
|
getLibraryCaption());
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="org.jetbrains.kotlin.idea.framework.ui.ChooseModulePanel">
|
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="org.jetbrains.kotlin.idea.framework.ui.ChooseModulePanel">
|
||||||
<grid id="27dc6" binding="contentPane" layout-manager="GridLayoutManager" row-count="3" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
<grid id="27dc6" binding="contentPane" layout-manager="GridLayoutManager" row-count="4" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||||
<margin top="0" left="0" bottom="0" right="0"/>
|
<margin top="0" left="0" bottom="0" right="0"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<xy x="20" y="20" width="465" height="400"/>
|
<xy x="20" y="20" width="465" height="400"/>
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
<children>
|
<children>
|
||||||
<component id="e348f" class="javax.swing.JRadioButton" binding="singleModuleRadioButton" default-binding="true">
|
<component id="e348f" class="javax.swing.JRadioButton" binding="singleModuleRadioButton" default-binding="true">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<text value="Single module:"/>
|
<text value="Single module:"/>
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="8acf5" class="javax.swing.JComboBox" binding="singleModuleComboBox">
|
<component id="8acf5" class="javax.swing.JComboBox" binding="singleModuleComboBox">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="1" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
|
<grid row="2" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<model/>
|
<model/>
|
||||||
@@ -26,12 +26,12 @@
|
|||||||
</component>
|
</component>
|
||||||
<vspacer id="72c0e">
|
<vspacer id="72c0e">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="2" column="0" row-span="1" col-span="3" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
<grid row="3" column="0" row-span="1" col-span="3" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</vspacer>
|
</vspacer>
|
||||||
<component id="5ca07" class="javax.swing.JTextField" binding="allModulesNames">
|
<component id="5ca07" class="javax.swing.JTextField" binding="allModulesWithKtNames">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
|
<grid row="1" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
|
||||||
<preferred-size width="150" height="-1"/>
|
<preferred-size width="150" height="-1"/>
|
||||||
<maximum-size width="-1" height="100"/>
|
<maximum-size width="-1" height="100"/>
|
||||||
</grid>
|
</grid>
|
||||||
@@ -43,12 +43,20 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="6717d" class="javax.swing.JRadioButton" binding="allModulesWithKtRadioButton" default-binding="true">
|
<component id="6717d" class="javax.swing.JRadioButton" binding="allModulesWithKtRadioButton" default-binding="true">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<text value="All modules containing Kotlin files: "/>
|
<text value="All modules containing Kotlin files: "/>
|
||||||
</properties>
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
|
<component id="5e532" class="javax.swing.JRadioButton" binding="allModulesRadioButton">
|
||||||
|
<constraints>
|
||||||
|
<grid row="0" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||||
|
</constraints>
|
||||||
|
<properties>
|
||||||
|
<text value="All modules"/>
|
||||||
|
</properties>
|
||||||
|
</component>
|
||||||
</children>
|
</children>
|
||||||
</grid>
|
</grid>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ import com.intellij.openapi.project.Project;
|
|||||||
import com.intellij.openapi.util.text.StringUtil;
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
import com.intellij.util.Function;
|
import com.intellij.util.Function;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt;
|
||||||
|
import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
@@ -34,14 +36,17 @@ public class ChooseModulePanel {
|
|||||||
private JRadioButton allModulesWithKtRadioButton;
|
private JRadioButton allModulesWithKtRadioButton;
|
||||||
private JRadioButton singleModuleRadioButton;
|
private JRadioButton singleModuleRadioButton;
|
||||||
private JComboBox singleModuleComboBox;
|
private JComboBox singleModuleComboBox;
|
||||||
private JTextField allModulesNames;
|
private JTextField allModulesWithKtNames;
|
||||||
|
private JRadioButton allModulesRadioButton;
|
||||||
|
|
||||||
@NotNull private final Project project;
|
@NotNull private final Project project;
|
||||||
@NotNull private final List<Module> modules;
|
@NotNull private final List<Module> modules;
|
||||||
|
@NotNull private final List<Module> modulesWithKtFiles;
|
||||||
|
|
||||||
public ChooseModulePanel(@NotNull Project project, @NotNull List<Module> modules) {
|
public ChooseModulePanel(@NotNull Project project, @NotNull KotlinProjectConfigurator configurator) {
|
||||||
this.project = project;
|
this.project = project;
|
||||||
this.modules = modules;
|
this.modules = ConfigureKotlinInProjectUtilsKt.getNonConfiguredModules(project, configurator);
|
||||||
|
this.modulesWithKtFiles = ConfigureKotlinInProjectUtilsKt.getNonConfiguredModulesWithKotlinFiles(project, configurator);
|
||||||
|
|
||||||
DefaultComboBoxModel comboBoxModel = new DefaultComboBoxModel();
|
DefaultComboBoxModel comboBoxModel = new DefaultComboBoxModel();
|
||||||
|
|
||||||
@@ -49,19 +54,21 @@ public class ChooseModulePanel {
|
|||||||
comboBoxModel.addElement(module.getName());
|
comboBoxModel.addElement(module.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (modulesWithKtFiles.isEmpty()) {
|
||||||
|
allModulesWithKtRadioButton.setVisible(false);
|
||||||
|
allModulesWithKtNames.setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
singleModuleComboBox.setModel(comboBoxModel);
|
singleModuleComboBox.setModel(comboBoxModel);
|
||||||
singleModuleRadioButton.addActionListener(new ActionListener() {
|
ActionListener listener = new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
updateComponents();
|
updateComponents();
|
||||||
}
|
}
|
||||||
});
|
};
|
||||||
allModulesWithKtRadioButton.addActionListener(new ActionListener() {
|
singleModuleRadioButton.addActionListener(listener);
|
||||||
@Override
|
allModulesWithKtRadioButton.addActionListener(listener);
|
||||||
public void actionPerformed(ActionEvent e) {
|
allModulesRadioButton.addActionListener(listener);
|
||||||
updateComponents();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
String fullList = StringUtil.join(modules, new Function<Module, String>() {
|
String fullList = StringUtil.join(modules, new Function<Module, String>() {
|
||||||
@Override
|
@Override
|
||||||
@@ -69,13 +76,20 @@ public class ChooseModulePanel {
|
|||||||
return module.getName();
|
return module.getName();
|
||||||
}
|
}
|
||||||
}, ", ");
|
}, ", ");
|
||||||
allModulesNames.setText(fullList);
|
allModulesWithKtNames.setText(fullList);
|
||||||
allModulesNames.setBorder(null);
|
allModulesWithKtNames.setBorder(null);
|
||||||
|
|
||||||
ButtonGroup modulesGroup = new ButtonGroup();
|
ButtonGroup modulesGroup = new ButtonGroup();
|
||||||
|
modulesGroup.add(allModulesRadioButton);
|
||||||
modulesGroup.add(allModulesWithKtRadioButton);
|
modulesGroup.add(allModulesWithKtRadioButton);
|
||||||
modulesGroup.add(singleModuleRadioButton);
|
modulesGroup.add(singleModuleRadioButton);
|
||||||
allModulesWithKtRadioButton.setSelected(true);
|
|
||||||
|
if (allModulesWithKtRadioButton.isVisible()) {
|
||||||
|
allModulesWithKtRadioButton.setSelected(true);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
allModulesRadioButton.setSelected(true);
|
||||||
|
}
|
||||||
|
|
||||||
updateComponents();
|
updateComponents();
|
||||||
}
|
}
|
||||||
@@ -89,7 +103,8 @@ public class ChooseModulePanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<Module> getModulesToConfigure() {
|
public List<Module> getModulesToConfigure() {
|
||||||
if (allModulesWithKtRadioButton.isSelected()) return modules;
|
if (allModulesRadioButton.isSelected()) return modules;
|
||||||
|
if (allModulesWithKtRadioButton.isSelected()) return modulesWithKtFiles;
|
||||||
String selectedItem = (String) singleModuleComboBox.getSelectedItem();
|
String selectedItem = (String) singleModuleComboBox.getSelectedItem();
|
||||||
return Collections.singletonList(ModuleManager.getInstance(project).findModuleByName(selectedItem));
|
return Collections.singletonList(ModuleManager.getInstance(project).findModuleByName(selectedItem));
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -33,6 +33,7 @@ import com.intellij.util.ui.AsyncProcessIcon;
|
|||||||
import com.intellij.util.ui.UIUtil;
|
import com.intellij.util.ui.UIUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
@@ -60,7 +61,7 @@ public class ConfigureDialogWithModulesAndVersion extends DialogWrapper {
|
|||||||
|
|
||||||
public ConfigureDialogWithModulesAndVersion(
|
public ConfigureDialogWithModulesAndVersion(
|
||||||
@NotNull Project project,
|
@NotNull Project project,
|
||||||
@NotNull List<Module> modules,
|
@NotNull KotlinProjectConfigurator configurator,
|
||||||
@NotNull final String[] kotlinVersions
|
@NotNull final String[] kotlinVersions
|
||||||
) {
|
) {
|
||||||
super(project);
|
super(project);
|
||||||
@@ -89,7 +90,7 @@ public class ConfigureDialogWithModulesAndVersion extends DialogWrapper {
|
|||||||
processIcon.resume();
|
processIcon.resume();
|
||||||
infoPanel.add(processIcon, BorderLayout.CENTER);
|
infoPanel.add(processIcon, BorderLayout.CENTER);
|
||||||
|
|
||||||
chooseModulePanel = new ChooseModulePanel(project, modules);
|
chooseModulePanel = new ChooseModulePanel(project, configurator);
|
||||||
chooseModulesPanelPlace.add(chooseModulePanel.getContentPane(), BorderLayout.CENTER);
|
chooseModulesPanelPlace.add(chooseModulePanel.getContentPane(), BorderLayout.CENTER);
|
||||||
|
|
||||||
updateComponents();
|
updateComponents();
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.framework.ui;
|
|||||||
import com.intellij.openapi.module.Module;
|
import com.intellij.openapi.module.Module;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -29,7 +30,7 @@ public class CreateLibraryDialogWithModules extends CreateLibraryDialogBase {
|
|||||||
|
|
||||||
public CreateLibraryDialogWithModules(
|
public CreateLibraryDialogWithModules(
|
||||||
@NotNull Project project,
|
@NotNull Project project,
|
||||||
@NotNull List<Module> modules,
|
@NotNull KotlinProjectConfigurator configurator,
|
||||||
@NotNull String defaultPath,
|
@NotNull String defaultPath,
|
||||||
boolean showPathPanel,
|
boolean showPathPanel,
|
||||||
@NotNull String title,
|
@NotNull String title,
|
||||||
@@ -37,7 +38,7 @@ public class CreateLibraryDialogWithModules extends CreateLibraryDialogBase {
|
|||||||
) {
|
) {
|
||||||
super(project, defaultPath, title, libraryCaption);
|
super(project, defaultPath, title, libraryCaption);
|
||||||
|
|
||||||
chooseModulePanel = new ChooseModulePanel(project, modules);
|
chooseModulePanel = new ChooseModulePanel(project, configurator);
|
||||||
chooseModulesPanelPlace.add(chooseModulePanel.getContentPane(), BorderLayout.CENTER);
|
chooseModulesPanelPlace.add(chooseModulePanel.getContentPane(), BorderLayout.CENTER);
|
||||||
|
|
||||||
chooseLibraryPathPlace.setVisible(showPathPanel);
|
chooseLibraryPathPlace.setVisible(showPathPanel);
|
||||||
|
|||||||
Reference in New Issue
Block a user