Wizard: do not show wizard when creating new module

#KT-37973 fixed
This commit is contained in:
Ilya Kirillov
2020-04-06 15:14:10 +03:00
parent 1bab27c4c1
commit 8f8039ab4f
@@ -1,6 +1,7 @@
package org.jetbrains.kotlin.tools.projectWizard.wizard
import com.intellij.ide.RecentProjectsManager
import com.intellij.ide.actions.NewProjectAction
import com.intellij.ide.util.projectWizard.*
import com.intellij.ide.wizard.AbstractWizard
import com.intellij.openapi.Disposable
@@ -62,7 +63,8 @@ class NewProjectWizardModuleBuilder : EmptyModuleBuilder() {
private const val INVALID_PROJECT_NAME_MESSAGE = "Invalid project name"
}
override fun isAvailable(): Boolean = ExperimentalFeatures.NewWizard.isEnabled
override fun isAvailable(): Boolean =
ExperimentalFeatures.NewWizard.isEnabled && isCreatingNewProject()
private var wizardContext: WizardContext? = null
private var finishButtonClicked: Boolean = false
@@ -239,6 +241,10 @@ class ModuleNewWizardSecondStep(
}
}
private fun isCreatingNewProject() = Thread.currentThread().stackTrace.any { element ->
element.className == NewProjectAction::class.java.name
}
private fun WizardContext.getNextButton() = try {
AbstractWizard::class.java.getDeclaredMethod("getNextButton")
.also { it.isAccessible = true }