mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
[min-build] IJPL-35276 add new project action
GitOrigin-RevId: cc433ec30466ae988440e5fbd625c79e575e4835
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e165003666
commit
d3f4c2ba3d
@@ -43,6 +43,10 @@
|
||||
<add-to-group group-id="FileOpenGroup" anchor="first"/>
|
||||
</group>
|
||||
|
||||
<group id="WelcomeScreen.DefaultNewProjectAction" class="com.intellij.ide.actions.DefaultNewProjectAction">
|
||||
<add-to-group group-id="WelcomeScreen.QuickStart"/>
|
||||
</group>
|
||||
|
||||
<action id="WelcomeScreen.OpenProject" class="com.intellij.ide.actions.OpenFileAction$OnWelcomeScreen">
|
||||
<add-to-group group-id="WelcomeScreen.QuickStart"/>
|
||||
</action>
|
||||
|
||||
@@ -2817,10 +2817,7 @@
|
||||
<add-to-group group-id="MarkRootGroup"/>
|
||||
</group>
|
||||
|
||||
<group id="WelcomeScreen.QuickStart.IDEA">
|
||||
<action id="WelcomeScreen.CreateNewProject" class="com.intellij.ide.actions.NewProjectAction"/>
|
||||
<add-to-group group-id="WelcomeScreen.QuickStart" anchor="first"/>
|
||||
</group>
|
||||
<action id="WelcomeScreen.CreateNewProject" class="com.intellij.ide.actions.NewProjectAction"/>
|
||||
|
||||
<group id="MarkGeneratedSourceRootGroup">
|
||||
<action id="MarkGeneratedSourceRoot" class="com.intellij.ide.projectView.actions.MarkGeneratedSourceRootAction"/>
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.ide.actions
|
||||
|
||||
import com.intellij.ide.util.projectWizard.AbstractNewProjectStep
|
||||
import com.intellij.ide.util.projectWizard.EmptyWebProjectTemplate
|
||||
import com.intellij.ide.util.projectWizard.ProjectSettingsStepBase
|
||||
import com.intellij.ide.util.projectWizard.WebProjectTemplate
|
||||
import com.intellij.openapi.actionSystem.ActionManager
|
||||
import com.intellij.openapi.actionSystem.AnAction
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.actionSystem.DefaultActionGroup
|
||||
import com.intellij.openapi.project.DumbAware
|
||||
import com.intellij.platform.DirectoryProjectGenerator
|
||||
|
||||
private class DefaultNewProjectStep : AbstractNewProjectStep<Any>(DefaultNewProjectStepCustomization()) {
|
||||
private class DefaultNewProjectStepCustomization : Customization<Any>() {
|
||||
override fun createEmptyProjectGenerator(): DirectoryProjectGenerator<Any> {
|
||||
return EmptyWebProjectTemplate()
|
||||
}
|
||||
|
||||
override fun createProjectSpecificSettingsStep(
|
||||
projectGenerator: DirectoryProjectGenerator<Any>,
|
||||
callback: AbstractCallback<Any>,
|
||||
): ProjectSettingsStepBase<Any> {
|
||||
return ProjectSettingsStepBase(projectGenerator, callback);
|
||||
}
|
||||
|
||||
override fun getActions(generators: List<DirectoryProjectGenerator<*>>, callback: AbstractCallback<Any>): Array<out AnAction> {
|
||||
return generators
|
||||
.partition { it is WebProjectTemplate }
|
||||
.let { listOf("Web" to it.first, "Other" to it.second) }
|
||||
.map { DefaultActionGroup(it.first, super.getActions(it.second, callback).toList()) }
|
||||
.toTypedArray()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class DefaultNewProjectAction : DefaultActionGroup(), DumbAware {
|
||||
private fun getActualAction(): AnAction {
|
||||
return ActionManager.getInstance().getAction("WelcomeScreen.CreateNewProject") ?: DefaultNewProjectStep()
|
||||
}
|
||||
|
||||
override fun getChildren(e: AnActionEvent?): Array<AnAction> {
|
||||
return arrayOf(getActualAction())
|
||||
}
|
||||
}
|
||||
@@ -1785,6 +1785,7 @@ action.FileChooser.TogglePathShowing.text=Show/Hide path text
|
||||
|
||||
action.WelcomeScreen.DevelopPlugins.text=Plugin Development
|
||||
action.WelcomeScreen.DevelopPlugins.description=Get started developing plugins.
|
||||
group.WelcomeScreen.DefaultNewProjectAction.text=New Project
|
||||
action.WelcomeScreen.OpenProject.text=Open or Import
|
||||
action.WelcomeScreen.OpenProject.description=Open file or project. You can also open a project or edit a file by drag and drop onto the Welcome screen.
|
||||
action.Tabbed.WelcomeScreen.OpenProject.text=Open
|
||||
|
||||
Reference in New Issue
Block a user