mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 03:21:12 +07:00
[auto-import] removed auto-import check box
GitOrigin-RevId: 3459e79f831aeb49738f9e0c7a880b19674b015d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
48366b0e87
commit
cf89d3392c
@@ -19,6 +19,7 @@ import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.service.execution.ProgressExecutionMode;
|
||||
import com.intellij.openapi.externalSystem.service.project.ExternalProjectRefreshCallback;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -38,7 +39,12 @@ public interface ImportSpec {
|
||||
|
||||
boolean isForceWhenUptodate();
|
||||
|
||||
boolean whenAutoImportEnabled();
|
||||
/**
|
||||
* @deprecated see {@link com.intellij.openapi.externalSystem.settings.ExternalProjectSettings#setUseAutoImport} for details
|
||||
*/
|
||||
@Deprecated
|
||||
@ApiStatus.ScheduledForRemoval(inVersion = "2021.1")
|
||||
default boolean whenAutoImportEnabled() { return false; }
|
||||
|
||||
@Nullable
|
||||
ExternalProjectRefreshCallback getCallback();
|
||||
|
||||
@@ -22,7 +22,6 @@ public class ImportSpecBuilder {
|
||||
@NotNull private final ProjectSystemId myExternalSystemId;
|
||||
@NotNull private ProgressExecutionMode myProgressExecutionMode;
|
||||
private boolean myForceWhenUptodate;
|
||||
private boolean myWhenAutoImportEnabled;
|
||||
@Nullable private ExternalProjectRefreshCallback myCallback;
|
||||
private boolean isPreviewMode;
|
||||
private boolean isReportRefreshError = true;
|
||||
@@ -42,8 +41,12 @@ public class ImportSpecBuilder {
|
||||
apply(importSpec);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated see {@link com.intellij.openapi.externalSystem.settings.ExternalProjectSettings#setUseAutoImport} for details
|
||||
*/
|
||||
@Deprecated
|
||||
@ApiStatus.ScheduledForRemoval(inVersion = "2021.1")
|
||||
public ImportSpecBuilder whenAutoImportEnabled() {
|
||||
myWhenAutoImportEnabled = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -109,7 +112,6 @@ public class ImportSpecBuilder {
|
||||
|
||||
public ImportSpec build() {
|
||||
ImportSpecImpl mySpec = new ImportSpecImpl(myProject, myExternalSystemId);
|
||||
mySpec.setWhenAutoImportEnabled(myWhenAutoImportEnabled);
|
||||
mySpec.setProgressExecutionMode(myProgressExecutionMode);
|
||||
mySpec.setForceWhenUptodate(myForceWhenUptodate);
|
||||
mySpec.setCreateDirectoriesForEmptyContentRoots(myCreateDirectoriesForEmptyContentRoots);
|
||||
@@ -123,7 +125,6 @@ public class ImportSpecBuilder {
|
||||
}
|
||||
|
||||
private void apply(ImportSpec spec) {
|
||||
myWhenAutoImportEnabled = spec.whenAutoImportEnabled();
|
||||
myProgressExecutionMode = spec.getProgressExecutionMode();
|
||||
myForceWhenUptodate = spec.isForceWhenUptodate();
|
||||
myCreateDirectoriesForEmptyContentRoots = spec.shouldCreateDirectoriesForEmptyContentRoots();
|
||||
|
||||
@@ -32,7 +32,6 @@ public class ImportSpecImpl implements ImportSpec {
|
||||
@NotNull private final ProjectSystemId myExternalSystemId;
|
||||
@NotNull private ProgressExecutionMode myProgressExecutionMode;
|
||||
private boolean forceWhenUptodate;
|
||||
private boolean whenAutoImportEnabled;
|
||||
@Nullable private ExternalProjectRefreshCallback myCallback;
|
||||
private boolean isPreviewMode;
|
||||
private boolean createDirectoriesForEmptyContentRoots;
|
||||
@@ -78,14 +77,12 @@ public class ImportSpecImpl implements ImportSpec {
|
||||
this.forceWhenUptodate = forceWhenUptodate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean whenAutoImportEnabled() {
|
||||
return whenAutoImportEnabled;
|
||||
}
|
||||
|
||||
public void setWhenAutoImportEnabled(boolean whenAutoImportEnabled) {
|
||||
this.whenAutoImportEnabled = whenAutoImportEnabled;
|
||||
}
|
||||
/**
|
||||
* @deprecated see {@link com.intellij.openapi.externalSystem.settings.ExternalProjectSettings#setUseAutoImport} for details
|
||||
*/
|
||||
@Deprecated
|
||||
@ApiStatus.ScheduledForRemoval(inVersion = "2021.1")
|
||||
public void setWhenAutoImportEnabled(boolean whenAutoImportEnabled) { }
|
||||
|
||||
public void setCallback(@Nullable ExternalProjectRefreshCallback callback) {
|
||||
myCallback = callback;
|
||||
|
||||
@@ -172,12 +172,6 @@ public abstract class AbstractExternalSystemSettings<
|
||||
added.add(current);
|
||||
}
|
||||
else {
|
||||
if (current.isUseAutoImport() != old.isUseAutoImport()) {
|
||||
if (listener != null) {
|
||||
listener.onUseAutoImportChange(current.isUseAutoImport(), current.getExternalProjectPath());
|
||||
}
|
||||
getPublisher().onUseAutoImportChange(current.isUseAutoImport(), current.getExternalProjectPath());
|
||||
}
|
||||
checkSettings(old, current);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,11 +46,6 @@ public class DelegatingExternalSystemSettingsListener<S extends ExternalProjectS
|
||||
myDelegate.onProjectsUnlinked(linkedProjectPaths);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUseAutoImportChange(boolean currentValue, @NotNull String linkedProjectPath) {
|
||||
myDelegate.onUseAutoImportChange(currentValue, linkedProjectPath);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBulkChangeStart() {
|
||||
myDelegate.onBulkChangeStart();
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.openapi.externalSystem.settings;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -19,7 +21,9 @@ import static com.intellij.util.PlatformUtils.isIntelliJ;
|
||||
*/
|
||||
public abstract class ExternalProjectSettings implements Comparable<ExternalProjectSettings>, Cloneable {
|
||||
|
||||
private String myExternalProjectPath;
|
||||
private static Logger LOG = Logger.getInstance("#com.intellij.openapi.externalSystem.autoimport");
|
||||
|
||||
private String myExternalProjectPath;
|
||||
@Nullable private Set<String> myModules = new HashSet<>();
|
||||
|
||||
@NotNull
|
||||
@@ -31,7 +35,6 @@ public abstract class ExternalProjectSettings implements Comparable<ExternalProj
|
||||
this.myModules = modules;
|
||||
}
|
||||
|
||||
private boolean myUseAutoImport;
|
||||
private boolean myUseQualifiedModuleNames = !isIntelliJ() && !"AndroidStudio".equals(getPlatformPrefix()); // backward-compatible defaults
|
||||
|
||||
/**
|
||||
@@ -54,12 +57,23 @@ public abstract class ExternalProjectSettings implements Comparable<ExternalProj
|
||||
myExternalProjectPath = externalProjectPath;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated see {@link ExternalProjectSettings#setUseAutoImport} for details
|
||||
*/
|
||||
@Deprecated
|
||||
@ApiStatus.ScheduledForRemoval(inVersion = "2021.1")
|
||||
public boolean isUseAutoImport() {
|
||||
return myUseAutoImport;
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setUseAutoImport(boolean useAutoImport) {
|
||||
myUseAutoImport = useAutoImport;
|
||||
/**
|
||||
* @deprecated Auto-import cannot be disabled
|
||||
* @see com.intellij.openapi.externalSystem.autoimport.ExternalSystemProjectTracker for details
|
||||
*/
|
||||
@Deprecated
|
||||
@ApiStatus.ScheduledForRemoval(inVersion = "2021.1")
|
||||
public void setUseAutoImport(@SuppressWarnings("unused") boolean useAutoImport) {
|
||||
LOG.error("Auto-import cannot be disabled");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -118,7 +132,6 @@ public abstract class ExternalProjectSettings implements Comparable<ExternalProj
|
||||
protected void copyTo(@NotNull ExternalProjectSettings receiver) {
|
||||
receiver.myExternalProjectPath = myExternalProjectPath;
|
||||
receiver.myModules = myModules != null ? new HashSet<>(myModules) : new HashSet<>();
|
||||
receiver.myUseAutoImport = myUseAutoImport;
|
||||
receiver.myCreateEmptyContentRootDirectories = myCreateEmptyContentRootDirectories;
|
||||
receiver.myUseQualifiedModuleNames = myUseQualifiedModuleNames;
|
||||
}
|
||||
|
||||
@@ -32,17 +32,21 @@ public interface ExternalSystemSettingsListener<S extends ExternalProjectSetting
|
||||
|
||||
/**
|
||||
* This method is present here only because IJ platform doesn't has corresponding messaging set up for 'project rename' event.
|
||||
*
|
||||
*
|
||||
* @param oldName old project name
|
||||
* @param newName new project name
|
||||
*/
|
||||
void onProjectRenamed(@NotNull String oldName, @NotNull String newName);
|
||||
|
||||
|
||||
void onProjectsLinked(@NotNull Collection<S> settings);
|
||||
|
||||
void onProjectsUnlinked(@NotNull Set<String> linkedProjectPaths);
|
||||
|
||||
void onUseAutoImportChange(boolean currentValue, @NotNull String linkedProjectPath);
|
||||
|
||||
/**
|
||||
* @deprecated see {@link ExternalProjectSettings#setUseAutoImport} for details
|
||||
*/
|
||||
@Deprecated
|
||||
default void onUseAutoImportChange(boolean currentValue, @NotNull String linkedProjectPath) {}
|
||||
|
||||
/**
|
||||
* External system settings changes might affect project structure, e.g. switching from one external system version to another
|
||||
|
||||
@@ -37,10 +37,6 @@ public abstract class ExternalSystemSettingsListenerAdapter<S extends ExternalPr
|
||||
public void onProjectsUnlinked(@NotNull Set<String> linkedProjectPaths) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUseAutoImportChange(boolean currentValue, @NotNull String linkedProjectPath) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBulkChangeStart() {
|
||||
}
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.openapi.externalSystem.action;
|
||||
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalSystemDataKeys;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.settings.AbstractExternalSystemSettings;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
import com.intellij.openapi.externalSystem.statistics.ExternalSystemActionsCollector;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemBundle;
|
||||
import com.intellij.openapi.externalSystem.view.ProjectNode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author Vladislav.Soroka
|
||||
*/
|
||||
public class ToggleAutoImportAction extends ExternalSystemToggleAction {
|
||||
|
||||
public ToggleAutoImportAction() {
|
||||
getTemplatePresentation().setText(ExternalSystemBundle.message("action.refresh.project.auto.text"));
|
||||
getTemplatePresentation().setDescription(ExternalSystemBundle.message("action.refresh.project.auto.description"));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isEnabled(@NotNull AnActionEvent e) {
|
||||
if (!super.isEnabled(e)) return false;
|
||||
if (getSystemId(e) == null) return false;
|
||||
|
||||
return e.getData(ExternalSystemDataKeys.SELECTED_PROJECT_NODE) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isVisible(@NotNull AnActionEvent e) {
|
||||
if (!super.isVisible(e)) return false;
|
||||
if (getSystemId(e) == null) return false;
|
||||
|
||||
return e.getData(ExternalSystemDataKeys.SELECTED_PROJECT_NODE) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean doIsSelected(@NotNull AnActionEvent e) {
|
||||
final ExternalProjectSettings projectSettings = getProjectSettings(e);
|
||||
|
||||
return projectSettings != null && projectSettings.isUseAutoImport();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSelected(@NotNull AnActionEvent e, boolean state) {
|
||||
final ExternalProjectSettings projectSettings = getProjectSettings(e);
|
||||
if (projectSettings != null) {
|
||||
if (state != projectSettings.isUseAutoImport()) {
|
||||
Project project = getProject(e);
|
||||
ProjectSystemId systemId = getSystemId(e);
|
||||
ExternalSystemActionsCollector.trigger(project, systemId, this, e);
|
||||
|
||||
projectSettings.setUseAutoImport(state);
|
||||
ExternalSystemApiUtil.getSettings(project, systemId).getPublisher()
|
||||
.onUseAutoImportChange(state, projectSettings.getExternalProjectPath());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private ExternalProjectSettings getProjectSettings(@NotNull AnActionEvent e) {
|
||||
final ProjectNode projectNode = e.getData(ExternalSystemDataKeys.SELECTED_PROJECT_NODE);
|
||||
if (projectNode == null || projectNode.getData() == null) return null;
|
||||
final AbstractExternalSystemSettings externalSystemSettings = ExternalSystemApiUtil.getSettings(getProject(e), getSystemId(e));
|
||||
return externalSystemSettings.getLinkedProjectSettings(projectNode.getData().getLinkedExternalProjectPath());
|
||||
}
|
||||
}
|
||||
@@ -17,41 +17,44 @@ package com.intellij.openapi.externalSystem.service.settings;
|
||||
|
||||
import com.intellij.ide.util.projectWizard.WizardContext;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemBundle;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemSettingsControl;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemUiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.PaintAwarePanel;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.ui.components.JBCheckBox;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* Templates class for managing single external project settings (single ide project might contain multiple bindings to external
|
||||
* projects, e.g. one module is backed by a single external project and couple of others are backed by a single external multi-project).
|
||||
*
|
||||
*
|
||||
* @author Denis Zhdanov
|
||||
*/
|
||||
public abstract class AbstractExternalProjectSettingsControl<S extends ExternalProjectSettings>
|
||||
extends AbstractSettingsControl
|
||||
implements ExternalSystemSettingsControl<S>
|
||||
{
|
||||
implements ExternalSystemSettingsControl<S> {
|
||||
|
||||
@NotNull private final S myInitialSettings;
|
||||
@Nullable private JBCheckBox myUseAutoImportBox;
|
||||
|
||||
@NotNull private final ExternalSystemSettingsControlCustomizer myCustomizer;
|
||||
|
||||
protected AbstractExternalProjectSettingsControl(@NotNull S initialSettings) {
|
||||
this(null, initialSettings, null);
|
||||
this(null, initialSettings);
|
||||
}
|
||||
|
||||
protected AbstractExternalProjectSettingsControl(@Nullable Project project, @NotNull S initialSettings) {
|
||||
super(project);
|
||||
myInitialSettings = initialSettings;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated see {@link ExternalSystemSettingsControlCustomizer} for details
|
||||
*/
|
||||
@Deprecated
|
||||
@ApiStatus.ScheduledForRemoval(inVersion = "2021.1")
|
||||
protected AbstractExternalProjectSettingsControl(@Nullable Project project,
|
||||
@NotNull S initialSettings,
|
||||
@Nullable ExternalSystemSettingsControlCustomizer controlCustomizer) {
|
||||
super(project);
|
||||
myInitialSettings = initialSettings;
|
||||
myCustomizer = controlCustomizer == null ? new ExternalSystemSettingsControlCustomizer() : controlCustomizer;
|
||||
this(project, initialSettings);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -61,11 +64,6 @@ public abstract class AbstractExternalProjectSettingsControl<S extends ExternalP
|
||||
|
||||
@Override
|
||||
public void fillUi(@NotNull PaintAwarePanel canvas, int indentLevel) {
|
||||
if (!myCustomizer.isUseAutoImportBoxHidden()) {
|
||||
myUseAutoImportBox = new JBCheckBox(ExternalSystemBundle.message("settings.label.use.auto.import"));
|
||||
canvas.add(myUseAutoImportBox, ExternalSystemUiUtil.getFillLineConstraints(indentLevel));
|
||||
}
|
||||
|
||||
fillExtraControls(canvas, indentLevel);
|
||||
}
|
||||
|
||||
@@ -73,11 +71,7 @@ public abstract class AbstractExternalProjectSettingsControl<S extends ExternalP
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
boolean result = false;
|
||||
if (!myCustomizer.isUseAutoImportBoxHidden() && myUseAutoImportBox != null) {
|
||||
result = myUseAutoImportBox.isSelected() != getInitialSettings().isUseAutoImport();
|
||||
}
|
||||
return result || isExtraSettingModified();
|
||||
return isExtraSettingModified();
|
||||
}
|
||||
|
||||
protected abstract boolean isExtraSettingModified();
|
||||
@@ -103,9 +97,6 @@ public abstract class AbstractExternalProjectSettingsControl<S extends ExternalP
|
||||
|
||||
public void reset(boolean isDefaultModuleCreation, @Nullable WizardContext wizardContext, @Nullable Project project) {
|
||||
super.reset(wizardContext, project);
|
||||
if (!myCustomizer.isUseAutoImportBoxHidden() && myUseAutoImportBox != null) {
|
||||
myUseAutoImportBox.setSelected(getInitialSettings().isUseAutoImport());
|
||||
}
|
||||
resetExtraSettings(isDefaultModuleCreation, wizardContext);
|
||||
}
|
||||
|
||||
@@ -118,10 +109,6 @@ public abstract class AbstractExternalProjectSettingsControl<S extends ExternalP
|
||||
@Override
|
||||
public void apply(@NotNull S settings) {
|
||||
settings.setModules(myInitialSettings.getModules());
|
||||
if (!myCustomizer.isUseAutoImportBoxHidden() && myUseAutoImportBox != null) {
|
||||
settings.setUseAutoImport(myUseAutoImportBox.isSelected());
|
||||
}
|
||||
|
||||
if (myInitialSettings.getExternalProjectPath() != null) {
|
||||
settings.setExternalProjectPath(myInitialSettings.getExternalProjectPath());
|
||||
}
|
||||
@@ -141,10 +128,6 @@ public abstract class AbstractExternalProjectSettingsControl<S extends ExternalP
|
||||
}
|
||||
|
||||
public void updateInitialSettings() {
|
||||
if (!myCustomizer.isUseAutoImportBoxHidden() && myUseAutoImportBox != null) {
|
||||
myInitialSettings.setUseAutoImport(myUseAutoImportBox.isSelected());
|
||||
}
|
||||
|
||||
updateInitialExtraSettings();
|
||||
}
|
||||
|
||||
|
||||
@@ -15,9 +15,14 @@
|
||||
*/
|
||||
package com.intellij.openapi.externalSystem.service.settings;
|
||||
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
|
||||
/**
|
||||
* @author Vladislav.Soroka
|
||||
* @deprecated Useless class
|
||||
*/
|
||||
@Deprecated
|
||||
@ApiStatus.ScheduledForRemoval(inVersion = "2021.1")
|
||||
public class ExternalSystemSettingsControlCustomizer {
|
||||
|
||||
private boolean hideUseAutoImportBox;
|
||||
@@ -27,13 +32,11 @@ public class ExternalSystemSettingsControlCustomizer {
|
||||
public ExternalSystemSettingsControlCustomizer() {
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public ExternalSystemSettingsControlCustomizer(boolean hideUseAutoImportBox,
|
||||
boolean hideCreateEmptyContentRootDirectoriesBox) {
|
||||
this(hideUseAutoImportBox);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public ExternalSystemSettingsControlCustomizer(boolean hideUseAutoImportBox,
|
||||
boolean hideCreateEmptyContentRootDirectoriesBox,
|
||||
boolean hideModulesGroupingOptionPanel) {
|
||||
@@ -41,19 +44,20 @@ public class ExternalSystemSettingsControlCustomizer {
|
||||
}
|
||||
|
||||
public ExternalSystemSettingsControlCustomizer(boolean hideUseAutoImportBox) {
|
||||
this.hideUseAutoImportBox = hideUseAutoImportBox;
|
||||
}
|
||||
|
||||
public boolean isUseAutoImportBoxHidden() {
|
||||
return hideUseAutoImportBox;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated see {@link com.intellij.openapi.externalSystem.settings.ExternalProjectSettings#setUseAutoImport} for details
|
||||
*/
|
||||
@Deprecated
|
||||
public boolean isUseAutoImportBoxHidden() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isCreateEmptyContentRootDirectoriesBoxHidden() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public boolean isModulesGroupingOptionPanelHidden() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,6 @@ class ExternalSystemSettingsCollector : ProjectUsagesCollector() {
|
||||
addWithSystemId(newCounterMetric("numberOfLinkedProject", projects.size))
|
||||
|
||||
for (projectsSetting in projects) {
|
||||
addWithSystemId(newBooleanMetric("autoImport", projectsSetting.isUseAutoImport))
|
||||
addWithSystemId(newBooleanMetric("useQualifiedModuleNames", projectsSetting.isUseQualifiedModuleNames))
|
||||
addWithSystemId(newCounterMetric("modules.count", projectsSetting.modules.size))
|
||||
}
|
||||
|
||||
@@ -269,8 +269,6 @@ public class ExternalSystemUtil {
|
||||
|
||||
Set<String> toRefresh = new HashSet<>();
|
||||
for (ExternalProjectSettings setting : projectsSettings) {
|
||||
// don't refresh project when auto-import is disabled if such behavior needed (e.g. on project opening when auto-import is disabled)
|
||||
if (!setting.isUseAutoImport() && spec.whenAutoImportEnabled()) continue;
|
||||
toRefresh.add(setting.getExternalProjectPath());
|
||||
}
|
||||
|
||||
|
||||
@@ -233,23 +233,6 @@ public class ExternalProjectsViewImpl extends SimpleToolWindowPanel implements D
|
||||
}
|
||||
});
|
||||
|
||||
ExternalSystemApiUtil.subscribe(myProject, myExternalSystemId, new ExternalSystemSettingsListenerAdapter() {
|
||||
@Override
|
||||
public void onUseAutoImportChange(boolean currentValue, @NotNull final String linkedProjectPath) {
|
||||
scheduleStructureRequest(() -> {
|
||||
assert myStructure != null;
|
||||
final List<ProjectNode> projectNodes = myStructure.getNodes(ProjectNode.class);
|
||||
for (ProjectNode projectNode : projectNodes) {
|
||||
final ProjectData projectData = projectNode.getData();
|
||||
if (projectData != null && projectData.getLinkedExternalProjectPath().equals(linkedProjectPath)) {
|
||||
projectNode.updateProject();
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
myToolWindow.setAdditionalGearActions(createAdditionalGearActionsGroup());
|
||||
|
||||
scheduleStructureUpdate();
|
||||
|
||||
@@ -4,9 +4,6 @@ package com.intellij.openapi.externalSystem.view;
|
||||
import com.intellij.ide.projectView.PresentationData;
|
||||
import com.intellij.openapi.externalSystem.model.DataNode;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.settings.AbstractExternalSystemSettings;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -67,17 +64,7 @@ public class ProjectNode extends ExternalSystemNode<ProjectData> {
|
||||
|
||||
@Override
|
||||
protected void doUpdate() {
|
||||
String autoImportHint = null;
|
||||
final ProjectData projectData = getData();
|
||||
if (projectData != null) {
|
||||
final AbstractExternalSystemSettings externalSystemSettings =
|
||||
ExternalSystemApiUtil.getSettings(getExternalProjectsView().getProject(), getData().getOwner());
|
||||
final ExternalProjectSettings projectSettings =
|
||||
externalSystemSettings.getLinkedProjectSettings(projectData.getLinkedExternalProjectPath());
|
||||
if (projectSettings != null && projectSettings.isUseAutoImport()) autoImportHint = "auto-import enabled";
|
||||
}
|
||||
|
||||
setNameAndTooltip(getName(), myTooltipCache, autoImportHint);
|
||||
setNameAndTooltip(getName(), myTooltipCache);
|
||||
}
|
||||
|
||||
private String makeDescription() {
|
||||
|
||||
@@ -20,10 +20,6 @@
|
||||
icon="AllIcons.General.Settings">
|
||||
</action>
|
||||
|
||||
<action id="ExternalSystem.ToggleAutoImport"
|
||||
class="com.intellij.openapi.externalSystem.action.ToggleAutoImportAction">
|
||||
</action>
|
||||
|
||||
<action id="ExternalSystem.OpenTasksActivationManager"
|
||||
class="com.intellij.openapi.externalSystem.action.OpenTasksActivationManagerAction">
|
||||
</action>
|
||||
@@ -104,7 +100,6 @@
|
||||
<reference ref="ExternalSystem.OpenConfig"/>
|
||||
<separator/>
|
||||
<reference id="ExternalSystem.RefreshProject"/>
|
||||
<reference id="ExternalSystem.ToggleAutoImport"/>
|
||||
<separator/>
|
||||
<reference id="ExternalSystem.DetachProject"/>
|
||||
<reference id="ExternalSystem.IgnoreProject"/>
|
||||
|
||||
@@ -69,7 +69,6 @@ abstract class GradleCreateProjectTestCase : GradleImportingTestCase() {
|
||||
val settings = getSettings(this, GradleConstants.SYSTEM_ID) as GradleSettings
|
||||
val projectSettings = settings.getLinkedProjectSettings(externalProjectPath)!!
|
||||
assertEquals(projectSettings.externalProjectPath, externalProjectPath)
|
||||
assertEquals(projectSettings.isUseAutoImport, false)
|
||||
assertEquals(projectSettings.isUseQualifiedModuleNames, true)
|
||||
assertEquals(settings.storeProjectFilesExternally, true)
|
||||
}
|
||||
|
||||
@@ -195,7 +195,6 @@ public class GradleProjectOpenProcessorTest extends GradleImportingTestCase {
|
||||
assertTrue(fooSettings.isResolveExternalAnnotations());
|
||||
assertTrue(fooSettings.getDelegatedBuild());
|
||||
assertEquals(TestRunner.GRADLE, fooSettings.getTestRunner());
|
||||
assertFalse(fooSettings.isUseAutoImport());
|
||||
assertTrue(fooSettings.isUseQualifiedModuleNames());
|
||||
}
|
||||
finally {
|
||||
|
||||
@@ -45,7 +45,6 @@ class GradleSetupProjectTest : ExternalSystemSetupProjectTest, GradleImportingTe
|
||||
val settings = ExternalSystemApiUtil.getSettings(project, SYSTEM_ID) as GradleSettings
|
||||
val projectSettings = settings.getLinkedProjectSettings(externalProjectPath)!!
|
||||
assertEquals(projectSettings.externalProjectPath, externalProjectPath)
|
||||
assertEquals(projectSettings.isUseAutoImport, false)
|
||||
assertEquals(projectSettings.isUseQualifiedModuleNames, true)
|
||||
assertEquals(settings.storeProjectFilesExternally, true)
|
||||
}
|
||||
|
||||
@@ -85,7 +85,6 @@ internal class GradleOpenProjectProvider : AbstractOpenProjectProvider() {
|
||||
|
||||
private fun GradleProjectSettings.setupGradleProjectSettings(projectDirectory: String, project: Project, projectSdk: Sdk? = null) {
|
||||
externalProjectPath = projectDirectory
|
||||
isUseAutoImport = false
|
||||
isUseQualifiedModuleNames = true
|
||||
distributionType = GradleEnvironment.Headless.GRADLE_DISTRIBUTION_TYPE?.let(DistributionType::valueOf)
|
||||
?: DistributionType.DEFAULT_WRAPPED
|
||||
|
||||
@@ -21,7 +21,7 @@ public class GradleProjectSettingsControl extends AbstractExternalProjectSetting
|
||||
}
|
||||
|
||||
public GradleProjectSettingsControl(@NotNull GradleProjectSettingsControlBuilder builder) {
|
||||
super(null, builder.getInitialSettings(), builder.getExternalSystemSettingsControlCustomizer());
|
||||
super(null, builder.getInitialSettings());
|
||||
myBuilder = builder;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.intellij.openapi.externalSystem.service.settings.ExternalSystemSettin
|
||||
import com.intellij.openapi.externalSystem.util.PaintAwarePanel;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings;
|
||||
|
||||
@@ -75,8 +76,15 @@ public interface GradleProjectSettingsControlBuilder {
|
||||
|
||||
void update(String linkedProjectPath, GradleProjectSettings settings, boolean isDefaultModuleCreation);
|
||||
|
||||
/**
|
||||
* @deprecated see {@link ExternalSystemSettingsControlCustomizer} for details
|
||||
*/
|
||||
@Nullable
|
||||
ExternalSystemSettingsControlCustomizer getExternalSystemSettingsControlCustomizer();
|
||||
@Deprecated
|
||||
@ApiStatus.ScheduledForRemoval(inVersion = "2021.1")
|
||||
default ExternalSystemSettingsControlCustomizer getExternalSystemSettingsControlCustomizer() {
|
||||
return new ExternalSystemSettingsControlCustomizer();
|
||||
}
|
||||
|
||||
void disposeUIResources();
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@ import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.externalSystem.model.settings.LocationSettingType;
|
||||
import com.intellij.openapi.externalSystem.service.execution.ExternalSystemJdkUtil;
|
||||
import com.intellij.openapi.externalSystem.service.settings.ExternalSystemSettingsControlCustomizer;
|
||||
import com.intellij.openapi.externalSystem.service.ui.ExternalSystemJdkComboBox;
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemUiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.PaintAwarePanel;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
@@ -44,6 +44,7 @@ import com.intellij.util.ui.accessibility.ScreenReader;
|
||||
import com.intellij.xml.util.XmlStringUtil;
|
||||
import one.util.streamex.StreamEx;
|
||||
import org.gradle.util.GradleVersion;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.gradle.service.GradleInstallationManager;
|
||||
@@ -91,8 +92,6 @@ public class IdeaGradleProjectSettingsControlBuilder implements GradleProjectSet
|
||||
private LocationSettingType myGradleHomeSettingType = LocationSettingType.UNKNOWN;
|
||||
private boolean myShowBalloonIfNecessary;
|
||||
|
||||
private boolean dropUseAutoImportBox;
|
||||
|
||||
@Nullable
|
||||
private TextFieldWithBrowseButton myGradleHomePathField;
|
||||
|
||||
@@ -187,8 +186,12 @@ public class IdeaGradleProjectSettingsControlBuilder implements GradleProjectSet
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated see {@link ExternalProjectSettings#setUseAutoImport} for details
|
||||
*/
|
||||
@Deprecated
|
||||
@ApiStatus.ScheduledForRemoval(inVersion = "2021.1")
|
||||
public IdeaGradleProjectSettingsControlBuilder dropUseAutoImportBox() {
|
||||
dropUseAutoImportBox = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -249,11 +252,6 @@ public class IdeaGradleProjectSettingsControlBuilder implements GradleProjectSet
|
||||
return myInitialSettings;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExternalSystemSettingsControlCustomizer getExternalSystemSettingsControlCustomizer() {
|
||||
return new ExternalSystemSettingsControlCustomizer(dropUseAutoImportBox);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createAndFillControls(PaintAwarePanel content, int indentLevel) {
|
||||
content.setPaintCallback(graphics -> showBalloonIfNecessary());
|
||||
|
||||
Reference in New Issue
Block a user