mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-26708 Allow creating new environments in everything but PyCharm
In PyCharm we have the customized new project UI that allows creating new environments from the main new project page, so having new environment options in the add interpreter dialog would be redundant.
This commit is contained in:
@@ -55,7 +55,7 @@ class PyAddSdkDialog(private val project: Project?,
|
||||
.filter { it.sdkType is PythonSdkType && !PythonSdkType.isInvalid(it) }
|
||||
.sortedWith(PreferredSdkComparator())
|
||||
return createCardSplitter(listOf(createVirtualEnvPanel(project, sdks, newProjectPath),
|
||||
createAnacondaPanel(),
|
||||
createAnacondaPanel(project),
|
||||
PyAddSystemWideInterpreterPanel(existingSdks)))
|
||||
}
|
||||
|
||||
@@ -101,10 +101,10 @@ class PyAddSdkDialog(private val project: Project?,
|
||||
private fun createVirtualEnvPanel(project: Project?,
|
||||
existingSdks: List<Sdk>,
|
||||
newProjectPath: String?): PyAddSdkPanel {
|
||||
val newVirtualEnvPanel = if (project != null || PlatformUtils.isPyCharmEducational())
|
||||
PyAddNewVirtualEnvPanel(project, existingSdks, newProjectPath)
|
||||
else
|
||||
null
|
||||
val newVirtualEnvPanel = when {
|
||||
allowCreatingNewEnvironments(project) -> PyAddNewVirtualEnvPanel(project, existingSdks, newProjectPath)
|
||||
else -> null
|
||||
}
|
||||
val existingVirtualEnvPanel = PyAddExistingVirtualEnvPanel(project, existingSdks, newProjectPath)
|
||||
val panels = listOf(newVirtualEnvPanel,
|
||||
existingVirtualEnvPanel)
|
||||
@@ -117,9 +117,9 @@ class PyAddSdkDialog(private val project: Project?,
|
||||
return PyAddSdkGroupPanel("Virtualenv environment", PythonIcons.Python.Virtualenv, panels, defaultPanel)
|
||||
}
|
||||
|
||||
private fun createAnacondaPanel(): PyAddSdkPanel {
|
||||
private fun createAnacondaPanel(project: Project?): PyAddSdkPanel {
|
||||
val newCondaEnvPanel = when {
|
||||
project != null || PlatformUtils.isPyCharmEducational() -> PyAddNewCondaEnvPanel(project, existingSdks, newProjectPath)
|
||||
allowCreatingNewEnvironments(project) -> PyAddNewCondaEnvPanel(project, existingSdks, newProjectPath)
|
||||
else -> null
|
||||
}
|
||||
val panels = listOf(newCondaEnvPanel,
|
||||
@@ -127,4 +127,9 @@ class PyAddSdkDialog(private val project: Project?,
|
||||
.filterNotNull()
|
||||
return PyAddSdkGroupPanel("Conda environment", PythonIcons.Python.Anaconda, panels, panels[0])
|
||||
}
|
||||
|
||||
companion object {
|
||||
private fun allowCreatingNewEnvironments(project: Project?) =
|
||||
project != null || !PlatformUtils.isPyCharm() || PlatformUtils.isPyCharmEducational()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user