Commit 514a27f8 authored by Dmitry.Krasilschikov's avatar Dmitry.Krasilschikov Committed by intellij-monorepo-bot
Browse files

New Project Wizard IDEA-285038 install language plugin in Plugins Configurable

(cherry picked from commit 7ddcecd6b989d144ab756e71d976ee03d09dcacd)

GitOrigin-RevId: ab299d3a86c753e51b14c2379bccc803963f4608
parent 91ed87b6
Showing with 14 additions and 1 deletion
+14 -1
......@@ -2,6 +2,7 @@
package com.intellij.ide.wizard
import com.intellij.icons.AllIcons
import com.intellij.ide.plugins.PluginManagerConfigurable
import com.intellij.openapi.actionSystem.*
import com.intellij.openapi.actionSystem.PlatformCoreDataKeys.CONTEXT_COMPONENT
import com.intellij.openapi.actionSystem.impl.ActionButton
......@@ -9,14 +10,17 @@ import com.intellij.openapi.actionSystem.impl.IdeaActionButtonLook
import com.intellij.openapi.application.ModalityState
import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.openapi.extensions.PluginId
import com.intellij.openapi.options.ShowSettingsUtil
import com.intellij.openapi.progress.ProgressManager
import com.intellij.openapi.project.DumbAwareAction
import com.intellij.openapi.ui.popup.JBPopupFactory
import com.intellij.openapi.updateSettings.impl.pluginsAdvertisement.InstallPluginTask
import com.intellij.openapi.util.registry.Registry
import com.intellij.ui.UIBundle
import com.intellij.ui.awt.RelativePoint
import com.intellij.ui.dsl.builder.Row
import com.intellij.ui.dsl.builder.components.SegmentedButtonBorder
import java.util.function.Consumer
import java.util.function.Supplier
import javax.swing.JComponent
......@@ -56,7 +60,14 @@ abstract class AbstractNewProjectWizardMultiStepWithAddButton<S : NewProjectWiza
override fun actionPerformed(e: AnActionEvent) {
val pluginId = PluginId.getId(additionalStepPlugins[language]!!)
val component = e.dataContext.getData(CONTEXT_COMPONENT)!!
ProgressManager.getInstance().run(InstallPluginTask(setOf(pluginId), ModalityState.stateForComponent(component)))
if (Registry.`is`("new.project.wizard.modal.plugin.install", false)) {
ProgressManager.getInstance().run(InstallPluginTask(setOf(pluginId), ModalityState.stateForComponent(component)))
}
else {
ShowSettingsUtil.getInstance().editConfigurable(null, PluginManagerConfigurable(), Consumer {
it.openMarketplaceTab("/tag:Languages $language")
})
}
}
}
}
\ No newline at end of file
......@@ -1331,6 +1331,8 @@
<persistentFsConnectionListener implementation="com.intellij.openapi.vfs.impl.jar.ArchiveCachesCleaner"/>
<applicationService serviceInterface="com.intellij.openapi.progress.TaskSupport"
serviceImplementation="com.intellij.openapi.progress.impl.PlatformTaskSupport"/>
<registryKey key="new.project.wizard.modal.plugin.install" description="Enables modal lanungage plugins installing"
defaultValue="false"/>
</extensions>
<extensions defaultExtensionNs="org.jetbrains">
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment