From 4f009e8c77f7730454ec6db41f860814d43d9efe Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Wed, 6 Nov 2013 17:24:45 +0400 Subject: [PATCH] IDEA-115398 New Project Wizard: libraries downloading doesn't work --- .../ide/projectWizard/NewProjectWizard.java | 2 -- .../ide/projectWizard/ProjectTypeStep.java | 21 +++++++++++++++++++ .../AbstractProjectWizard.java | 21 +++++++++++++++---- .../util/projectWizard/ModuleWizardStep.java | 5 ++++- 4 files changed, 42 insertions(+), 7 deletions(-) diff --git a/java/idea-ui/src/com/intellij/ide/projectWizard/NewProjectWizard.java b/java/idea-ui/src/com/intellij/ide/projectWizard/NewProjectWizard.java index 290d3cd65f8f..77d6d91b9f3b 100644 --- a/java/idea-ui/src/com/intellij/ide/projectWizard/NewProjectWizard.java +++ b/java/idea-ui/src/com/intellij/ide/projectWizard/NewProjectWizard.java @@ -33,8 +33,6 @@ public class NewProjectWizard extends AbstractProjectWizard { public NewProjectWizard(@Nullable Project project, @NotNull ModulesProvider modulesProvider, @Nullable String defaultPath) { super("New Project", project, defaultPath); -// addStep(); -// addStep(new ProjectSummaryStep(myWizardContext)); myWizardContext.setNewWizard(true); mySequence = new StepSequence(); mySequence.addCommonStep(new ProjectTypeStep(myWizardContext, this, modulesProvider)); diff --git a/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java b/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java index 3efa81829db1..ecca22158b85 100644 --- a/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java +++ b/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java @@ -15,6 +15,7 @@ */ package com.intellij.ide.projectWizard; +import com.intellij.CommonBundle; import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider; import com.intellij.ide.util.frameworkSupport.FrameworkRole; import com.intellij.ide.util.frameworkSupport.FrameworkSupportUtil; @@ -25,13 +26,16 @@ import com.intellij.ide.util.newProjectWizard.modes.CreateFromTemplateMode; import com.intellij.ide.util.projectWizard.ModuleBuilder; import com.intellij.ide.util.projectWizard.ModuleWizardStep; import com.intellij.ide.util.projectWizard.WizardContext; +import com.intellij.ide.wizard.CommitStepException; import com.intellij.openapi.Disposable; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; +import com.intellij.openapi.project.ProjectBundle; import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.ui.configuration.ModulesProvider; import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainer; import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainerFactory; +import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.text.StringUtil; @@ -81,6 +85,7 @@ public class ProjectTypeStep extends ModuleWizardStep { private final AddSupportForFrameworksPanel myFrameworksPanel; private final ModuleBuilder.ModuleConfigurationUpdater myConfigurationUpdater; + private boolean myCommitted; public ProjectTypeStep(WizardContext context, NewProjectWizard wizard, ModulesProvider modulesProvider) { myContext = context; @@ -231,6 +236,22 @@ public class ProjectTypeStep extends ModuleWizardStep { myList.saveSelection(); } + @Override + public void onWizardFinished() throws CommitStepException { + if (!myCommitted) { + boolean ok = myFrameworksPanel.downloadLibraries(); + if (!ok) { + int answer = Messages.showYesNoDialog(getComponent(), + ProjectBundle.message("warning.message.some.required.libraries.wasn.t.downloaded"), + CommonBundle.getWarningTitle(), Messages.getWarningIcon()); + if (answer != 0) { + throw new CommitStepException(null); + } + } + myCommitted = true; + } + } + @Override public JComponent getPreferredFocusedComponent() { return myProjectTypeList; diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java index 60f6f6981cc8..10d083510faf 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java @@ -156,15 +156,21 @@ public abstract class AbstractProjectWizard extends AbstractWizard