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
|
||||
lookup.project.configurators.progress.text=Looking up for project configurators ...
|
||||
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}
|
||||
updated.javascript.libraries.in.module.0=Updated JavaScript libraries in module {0}
|
||||
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.FileTypeIndex
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.annotations.CalledInBackground
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||
@@ -130,6 +131,7 @@ fun isModuleConfigured(moduleSourceRootGroup: ModuleSourceRootGroup): Boolean {
|
||||
*
|
||||
* DO NOT CALL THIS ON AWT THREAD
|
||||
*/
|
||||
@CalledInBackground
|
||||
fun getModulesWithKotlinFiles(project: Project): Collection<Module> {
|
||||
if (!isUnitTestMode() && ApplicationManager.getApplication().isDispatchThread) {
|
||||
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.ui.popup.JBPopupFactory;
|
||||
import com.intellij.openapi.ui.popup.util.BaseListPopupStep;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.ui.HyperlinkLabel;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.xml.util.XmlUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||
import org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt;
|
||||
@@ -39,6 +39,8 @@ import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static org.jetbrains.kotlin.idea.util.ProgressIndicatorUtils.underModalProgress;
|
||||
|
||||
public class ChooseModulePanel {
|
||||
private JPanel contentPane;
|
||||
private JRadioButton allModulesWithKtRadioButton;
|
||||
@@ -53,8 +55,20 @@ public class ChooseModulePanel {
|
||||
|
||||
public ChooseModulePanel(@NotNull Project project, @NotNull KotlinProjectConfigurator configurator, Collection<Module> excludeModules) {
|
||||
this.project = project;
|
||||
this.modules = ConfigureKotlinInProjectUtilsKt.getCanBeConfiguredModules(project, configurator);
|
||||
this.modulesWithKtFiles = ConfigureKotlinInProjectUtilsKt.getCanBeConfiguredModulesWithKotlinFiles(project, configurator);
|
||||
Pair<List<Module>, List<Module>> modulesPair =
|
||||
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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user