|  | 
| 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