Wizard: do not show wizard when creating new module
#KT-37973 fixed
This commit is contained in:
+7
-1
@@ -1,6 +1,7 @@
|
|||||||
package org.jetbrains.kotlin.tools.projectWizard.wizard
|
package org.jetbrains.kotlin.tools.projectWizard.wizard
|
||||||
|
|
||||||
import com.intellij.ide.RecentProjectsManager
|
import com.intellij.ide.RecentProjectsManager
|
||||||
|
import com.intellij.ide.actions.NewProjectAction
|
||||||
import com.intellij.ide.util.projectWizard.*
|
import com.intellij.ide.util.projectWizard.*
|
||||||
import com.intellij.ide.wizard.AbstractWizard
|
import com.intellij.ide.wizard.AbstractWizard
|
||||||
import com.intellij.openapi.Disposable
|
import com.intellij.openapi.Disposable
|
||||||
@@ -62,7 +63,8 @@ class NewProjectWizardModuleBuilder : EmptyModuleBuilder() {
|
|||||||
private const val INVALID_PROJECT_NAME_MESSAGE = "Invalid project name"
|
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 wizardContext: WizardContext? = null
|
||||||
private var finishButtonClicked: Boolean = false
|
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 {
|
private fun WizardContext.getNextButton() = try {
|
||||||
AbstractWizard::class.java.getDeclaredMethod("getNextButton")
|
AbstractWizard::class.java.getDeclaredMethod("getNextButton")
|
||||||
.also { it.isAccessible = true }
|
.also { it.isAccessible = true }
|
||||||
|
|||||||
Reference in New Issue
Block a user