|
1 | 1 | package org.jetbrains.plugins.scala.actions |
2 | 2 |
|
3 | | -import com.intellij.ide.IdeView |
4 | | -import com.intellij.ide.fileTemplates.actions.{AttributesDefaults, CreateFromTemplateActionBase} |
5 | | -import com.intellij.ide.fileTemplates.{FileTemplate, FileTemplateManager} |
6 | | -import com.intellij.openapi.actionSystem.{CommonDataKeys, DataContext} |
7 | | -import com.intellij.openapi.project.Project |
8 | | -import com.intellij.openapi.ui.Messages |
9 | | -import com.intellij.psi.PsiDirectory |
| 3 | +import com.intellij.ide.fileTemplates.actions.AttributesDefaults |
| 4 | +import com.intellij.openapi.actionSystem.DataContext |
10 | 5 | import org.jetbrains.plugins.scala.ScalaBundle |
11 | | -import org.jetbrains.plugins.scala.extensions.PsiNamedElementExt |
12 | 6 | import org.jetbrains.sbt.icons.Icons |
13 | 7 |
|
14 | | -final class NewSbtPluginFileAction extends CreateFromTemplateActionBase( |
| 8 | +final class NewSbtPluginFileAction extends NewPredefinedSbtFileAction( |
15 | 9 | ScalaBundle.message("newclassorfile.menu.action.plugin.sbt.text"), |
16 | 10 | ScalaBundle.message("newclassorfile.menu.action.sbt.description"), |
17 | 11 | Icons.SBT_FILE |
18 | 12 | ) { |
19 | | - |
20 | | - override def getTemplate(project: Project, dir: PsiDirectory): FileTemplate = FileTemplateManager.getDefaultInstance.getInternalTemplate(ScalaBundle.message("newclassorfile.menu.action.sbt.text")) |
21 | | - |
22 | 13 | protected override def getAttributesDefaults(dataContext: DataContext): AttributesDefaults = new AttributesDefaults(ScalaBundle.message("newclassorfile.menu.action.plugin.sbt.defaultName")).withFixedName(true) |
23 | | - |
24 | | - override def getTargetDirectory(dataContext: DataContext, view: IdeView): PsiDirectory = { |
25 | | - val directories: Array[PsiDirectory] = view.getDirectories |
26 | | - for (directory <- directories) { |
27 | | - if (directory.findFile(ScalaBundle.message("newclassorfile.menu.action.plugin.sbt.defaultName") + ".sbt") != null) { |
28 | | - Messages.showErrorDialog(CommonDataKeys.PROJECT.getData(dataContext), |
29 | | - ScalaBundle.message("error.package.already.contains.plugin.sbt", directory.name), |
30 | | - "Cannot Create File") |
31 | | - return null |
32 | | - } |
33 | | - } |
34 | | - super.getTargetDirectory(dataContext, view) |
35 | | - } |
36 | 14 | } |
0 commit comments