Look up modules under modal progress in ChooseModulePanel
Relates to #KT-30541 #KT-38081 Fixed
This commit is contained in:
@@ -75,6 +75,7 @@ there.aren.t.configurators.available=There aren't configurators available
|
|||||||
all.modules.with.kotlin.files.are.configured=All modules with Kotlin files are configured
|
all.modules.with.kotlin.files.are.configured=All modules with Kotlin files are configured
|
||||||
lookup.project.configurators.progress.text=Looking up for project configurators ...
|
lookup.project.configurators.progress.text=Looking up for project configurators ...
|
||||||
lookup.modules.configurations.progress.text=Looking up for modules configurations ...
|
lookup.modules.configurations.progress.text=Looking up for modules configurations ...
|
||||||
|
lookup.kotlin.modules.configurations.progress.text=Looking up for kotlin modules configuration ...
|
||||||
added.0.requirement.to.module.info.in.1=Added {0} requirement to module-info in {1}
|
added.0.requirement.to.module.info.in.1=Added {0} requirement to module-info in {1}
|
||||||
updated.javascript.libraries.in.module.0=Updated JavaScript libraries in module {0}
|
updated.javascript.libraries.in.module.0=Updated JavaScript libraries in module {0}
|
||||||
added.0.to.library.configuration=Added {0} to library configuration
|
added.0.to.library.configuration=Added {0} to library configuration
|
||||||
|
|||||||
+2
@@ -23,6 +23,7 @@ import com.intellij.psi.PsiJavaModule
|
|||||||
import com.intellij.psi.search.DelegatingGlobalSearchScope
|
import com.intellij.psi.search.DelegatingGlobalSearchScope
|
||||||
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.annotations.CalledInBackground
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
@@ -130,6 +131,7 @@ fun isModuleConfigured(moduleSourceRootGroup: ModuleSourceRootGroup): Boolean {
|
|||||||
*
|
*
|
||||||
* DO NOT CALL THIS ON AWT THREAD
|
* DO NOT CALL THIS ON AWT THREAD
|
||||||
*/
|
*/
|
||||||
|
@CalledInBackground
|
||||||
fun getModulesWithKotlinFiles(project: Project): Collection<Module> {
|
fun getModulesWithKotlinFiles(project: Project): Collection<Module> {
|
||||||
if (!isUnitTestMode() && ApplicationManager.getApplication().isDispatchThread) {
|
if (!isUnitTestMode() && ApplicationManager.getApplication().isDispatchThread) {
|
||||||
LOG.error("getModulesWithKotlinFiles could be a heavy operation and should not be call on AWT thread")
|
LOG.error("getModulesWithKotlinFiles could be a heavy operation and should not be call on AWT thread")
|
||||||
|
|||||||
@@ -21,10 +21,10 @@ import com.intellij.openapi.module.ModuleManager;
|
|||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import com.intellij.openapi.ui.popup.JBPopupFactory;
|
import com.intellij.openapi.ui.popup.JBPopupFactory;
|
||||||
import com.intellij.openapi.ui.popup.util.BaseListPopupStep;
|
import com.intellij.openapi.ui.popup.util.BaseListPopupStep;
|
||||||
|
import com.intellij.openapi.util.Pair;
|
||||||
import com.intellij.openapi.util.text.StringUtil;
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
import com.intellij.ui.HyperlinkLabel;
|
import com.intellij.ui.HyperlinkLabel;
|
||||||
import com.intellij.util.Function;
|
import com.intellij.util.Function;
|
||||||
import com.intellij.xml.util.XmlUtil;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
import org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt;
|
import org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt;
|
||||||
@@ -39,6 +39,8 @@ import java.util.Collection;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.jetbrains.kotlin.idea.util.ProgressIndicatorUtils.underModalProgress;
|
||||||
|
|
||||||
public class ChooseModulePanel {
|
public class ChooseModulePanel {
|
||||||
private JPanel contentPane;
|
private JPanel contentPane;
|
||||||
private JRadioButton allModulesWithKtRadioButton;
|
private JRadioButton allModulesWithKtRadioButton;
|
||||||
@@ -53,8 +55,20 @@ public class ChooseModulePanel {
|
|||||||
|
|
||||||
public ChooseModulePanel(@NotNull Project project, @NotNull KotlinProjectConfigurator configurator, Collection<Module> excludeModules) {
|
public ChooseModulePanel(@NotNull Project project, @NotNull KotlinProjectConfigurator configurator, Collection<Module> excludeModules) {
|
||||||
this.project = project;
|
this.project = project;
|
||||||
this.modules = ConfigureKotlinInProjectUtilsKt.getCanBeConfiguredModules(project, configurator);
|
Pair<List<Module>, List<Module>> modulesPair =
|
||||||
this.modulesWithKtFiles = ConfigureKotlinInProjectUtilsKt.getCanBeConfiguredModulesWithKotlinFiles(project, configurator);
|
underModalProgress(project,
|
||||||
|
KotlinJvmBundle
|
||||||
|
.message("lookup.kotlin.modules.configurations.progress.text"),
|
||||||
|
() -> {
|
||||||
|
List<Module> modules = ConfigureKotlinInProjectUtilsKt
|
||||||
|
.getCanBeConfiguredModules(project, configurator);
|
||||||
|
List<Module> modulesWithKtFiles =
|
||||||
|
ConfigureKotlinInProjectUtilsKt
|
||||||
|
.getCanBeConfiguredModulesWithKotlinFiles(project, configurator);
|
||||||
|
return Pair.create(modules, modulesWithKtFiles);
|
||||||
|
});
|
||||||
|
this.modules = modulesPair.first;
|
||||||
|
this.modulesWithKtFiles = modulesPair.second;
|
||||||
|
|
||||||
DefaultComboBoxModel comboBoxModel = new DefaultComboBoxModel();
|
DefaultComboBoxModel comboBoxModel = new DefaultComboBoxModel();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user