IDEA-157933 "More settings" option doesn't reappear if I unchecked "Create Project from Template"

This commit is contained in:
Dmitry Avdeev
2017-01-24 12:12:12 +03:00
parent 30b354ae55
commit 8992392cf5
2 changed files with 13 additions and 6 deletions
@@ -17,7 +17,6 @@ package com.intellij.ide.projectWizard;
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
import com.intellij.ide.util.projectWizard.WizardContext;
import com.intellij.platform.ProjectTemplate;
import com.intellij.ui.components.JBCheckBox;
import org.jetbrains.annotations.TestOnly;
@@ -70,9 +69,7 @@ public class ChooseTemplateStep extends ModuleWizardStep {
@Override
public void updateDataModel() {
if (myCreateFromTemplateCheckBox.isSelected()) {
myWizardContext.setProjectTemplate(myTemplateList.getSelectedTemplate());
}
myWizardContext.setProjectTemplate(myCreateFromTemplateCheckBox.isSelected() ? myTemplateList.getSelectedTemplate() : null);
}
public ProjectTemplateList getTemplateList() {
@@ -48,6 +48,10 @@ public class WizardContext extends UserDataHolderBase {
private String myCompilerOutputDirectory;
private Sdk myProjectJdk;
private ProjectBuilder myProjectBuilder;
/**
* Stores project type builder in case if replaced by TemplateModuleBuilder
*/
private ProjectBuilder myOriginalBuilder;
private final List<Listener> myListeners = ContainerUtil.createLockFreeCopyOnWriteList();
private StorageScheme myProjectStorageFormat = StorageScheme.DIRECTORY_BASED;
private ModulesProvider myModulesProvider;
@@ -195,10 +199,16 @@ public class WizardContext extends UserDataHolderBase {
public void setProjectBuilder(@Nullable final ProjectBuilder projectBuilder) {
myProjectBuilder = projectBuilder;
myOriginalBuilder = myProjectBuilder;
}
public void setProjectTemplate(ProjectTemplate projectTemplate) {
setProjectBuilder(projectTemplate.createModuleBuilder());
public void setProjectTemplate(@Nullable ProjectTemplate projectTemplate) {
if (projectTemplate != null) {
myProjectBuilder = projectTemplate.createModuleBuilder();
}
else {
myProjectBuilder = myOriginalBuilder;
}
}
public String getPresentationName() {