mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
hiding SDK selector if compatible SDK configured for project
This commit is contained in:
@@ -52,7 +52,7 @@ public class SdkSettingsStep extends ModuleWizardStep {
|
||||
JPanel jdkPanel = new JPanel(new BorderLayout(4, 0));
|
||||
jdkPanel.add(myJdkComboBox);
|
||||
jdkPanel.add(button, BorderLayout.EAST);
|
||||
settingsStep.addSettingsField("Project \u001BSDK:", jdkPanel);
|
||||
settingsStep.addSettingsField((project == null ? "Project" : "Module") + " \u001BSDK:", jdkPanel);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -17,9 +17,11 @@ package com.intellij.openapi.module;
|
||||
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.util.projectWizard.*;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.projectRoots.*;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
@@ -102,13 +104,22 @@ public class JavaModuleType extends ModuleType<JavaModuleBuilder> {
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public ModuleWizardStep modifySettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder) {
|
||||
public ModuleWizardStep modifySettingsStep(SettingsStep settingsStep, final ModuleBuilder moduleBuilder) {
|
||||
Project project = settingsStep.getContext().getProject();
|
||||
if (project != null) {
|
||||
Sdk sdk = ProjectRootManager.getInstance(project).getProjectSdk();
|
||||
if (sdk != null && moduleBuilder.isSuitableSdkType(sdk.getSdkType())) {
|
||||
// use default project SDK
|
||||
// context.setProjectJdk(sdk);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, moduleBuilder, new Condition<SdkTypeId>() {
|
||||
@Override
|
||||
public boolean value(SdkTypeId sdk) {
|
||||
return sdk instanceof JavaSdkType;
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public boolean value(SdkTypeId sdkType) {
|
||||
return moduleBuilder.isSuitableSdkType(sdkType);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static Icon getJavaModuleIcon() {
|
||||
|
||||
@@ -19,16 +19,13 @@ package com.intellij.ide.util.projectWizard;
|
||||
import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.module.StdModuleTypes;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.SdkTypeId;
|
||||
import com.intellij.openapi.roots.CompilerModuleExtension;
|
||||
import com.intellij.openapi.roots.ContentEntry;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.libraries.Library;
|
||||
import com.intellij.openapi.roots.libraries.LibraryTable;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
@@ -83,12 +80,7 @@ public class JavaModuleBuilder extends ModuleBuilder implements SourcePathsBuild
|
||||
@Nullable
|
||||
@Override
|
||||
public ModuleWizardStep modifySettingsStep(SettingsStep settingsStep) {
|
||||
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, this, new Condition<SdkTypeId>() {
|
||||
@Override
|
||||
public boolean value(SdkTypeId sdkType) {
|
||||
return isSuitableSdkType(sdkType);
|
||||
}
|
||||
});
|
||||
return StdModuleTypes.JAVA.modifySettingsStep(settingsStep, this);
|
||||
}
|
||||
|
||||
public void setupRootModel(ModifiableRootModel rootModel) throws ConfigurationException {
|
||||
@@ -167,9 +159,4 @@ public class JavaModuleBuilder extends ModuleBuilder implements SourcePathsBuild
|
||||
protected static String getPathForOutputPathStep() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSuitableSdkType(SdkTypeId sdkType) {
|
||||
return sdkType == JavaSdk.getInstance();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ public abstract class ProjectBuilder {
|
||||
*/
|
||||
@Deprecated
|
||||
public boolean isSuitableSdk(Sdk sdk) {
|
||||
return true;
|
||||
return isSuitableSdkType(sdk.getSdkType());
|
||||
}
|
||||
|
||||
public boolean isSuitableSdkType(SdkTypeId sdkType) {
|
||||
|
||||
@@ -15,7 +15,10 @@
|
||||
*/
|
||||
package com.intellij.openapi.module;
|
||||
|
||||
import com.intellij.ide.util.projectWizard.*;
|
||||
import com.intellij.ide.util.projectWizard.ModuleBuilder;
|
||||
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
|
||||
import com.intellij.ide.util.projectWizard.SettingsStep;
|
||||
import com.intellij.ide.util.projectWizard.WizardContext;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
Reference in New Issue
Block a user