mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-175047 External System: import modules dialog
This commit is contained in:
+5
@@ -22,6 +22,7 @@ import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.service.execution.ProgressExecutionMode;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.util.SystemProperties;
|
||||
import com.intellij.util.containers.ContainerUtilRt;
|
||||
import com.intellij.util.messages.Topic;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -69,6 +70,10 @@ public abstract class AbstractExternalSystemSettings<
|
||||
return myProject;
|
||||
}
|
||||
|
||||
public boolean showSelectiveImportDialogOnInitialImport() {
|
||||
return SystemProperties.is("external.system.show.selective.import.dialog");
|
||||
}
|
||||
|
||||
/**
|
||||
* Every time particular external system setting is changed corresponding message is sent via ide
|
||||
* <a href="https://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+Messaging+infrastructure">messaging sub-system</a>.
|
||||
|
||||
+1
-1
@@ -183,7 +183,7 @@ public abstract class AbstractExternalProjectImportBuilder<C extends AbstractImp
|
||||
systemSettings.setLinkedProjectsSettings(projects);
|
||||
|
||||
if (externalProjectNode != null) {
|
||||
if(!ApplicationManager.getApplication().isHeadlessEnvironment()) {
|
||||
if (systemSettings.showSelectiveImportDialogOnInitialImport() && !ApplicationManager.getApplication().isHeadlessEnvironment()) {
|
||||
ExternalProjectDataSelectorDialog dialog = new ExternalProjectDataSelectorDialog(
|
||||
project, new InternalExternalProjectInfo(myExternalSystemId, projectSettings.getExternalProjectPath(), externalProjectNode));
|
||||
if (dialog.hasMultipleDataToSelect()) {
|
||||
|
||||
+3
-1
@@ -41,6 +41,7 @@ import icons.GradleIcons;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.gradle.service.settings.ImportFromGradleControl;
|
||||
import org.jetbrains.plugins.gradle.settings.GradleSettings;
|
||||
import org.jetbrains.plugins.gradle.util.GradleBundle;
|
||||
import org.jetbrains.plugins.gradle.util.GradleConstants;
|
||||
|
||||
@@ -113,7 +114,8 @@ public class GradleProjectImportBuilder extends AbstractExternalProjectImportBui
|
||||
|
||||
Runnable importTask = () -> ServiceManager.getService(ProjectDataManager.class).importData(externalProject, project, false);
|
||||
|
||||
if (!ApplicationManager.getApplication().isHeadlessEnvironment()) {
|
||||
boolean showSelectiveImportDialog = GradleSettings.getInstance(project).showSelectiveImportDialogOnInitialImport();
|
||||
if (showSelectiveImportDialog && !ApplicationManager.getApplication().isHeadlessEnvironment()) {
|
||||
ApplicationManager.getApplication().invokeLater(() -> {
|
||||
selectDataTask.run();
|
||||
ApplicationManager.getApplication().executeOnPooledThread(importTask);
|
||||
|
||||
Reference in New Issue
Block a user