From 8bf32e5f4988f35ec3618b52d84134040ba5c1d0 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Thu, 7 Feb 2013 15:07:32 +0400 Subject: [PATCH] IDEA-94641 Save Project As Template: impossible to overwrite the existing template --- .../templates/SaveProjectAsTemplateDialog.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/java/idea-ui/src/com/intellij/platform/templates/SaveProjectAsTemplateDialog.java b/java/idea-ui/src/com/intellij/platform/templates/SaveProjectAsTemplateDialog.java index d3d832befab6..dd539427062c 100644 --- a/java/idea-ui/src/com/intellij/platform/templates/SaveProjectAsTemplateDialog.java +++ b/java/idea-ui/src/com/intellij/platform/templates/SaveProjectAsTemplateDialog.java @@ -21,7 +21,9 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; +import com.intellij.openapi.ui.Messages; import com.intellij.openapi.ui.ValidationInfo; +import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; @@ -113,8 +115,22 @@ public class SaveProjectAsTemplateDialog extends DialogWrapper { if (StringUtil.isEmpty(myName.getText())) { return new ValidationInfo("Template name should not be empty"); } + return null; + } + + @Override + protected void doOKAction() { File file = getTemplateFile(); - return file.exists() ? new ValidationInfo("Template already exists") : null; + if (file.exists()) { + if (Messages.showYesNoDialog(myPanel, + FileUtil.getNameWithoutExtension(file) + " exists already.\n" + + "Do you want to replace it with the new one?", "Template Already Exists", + Messages.getWarningIcon()) == Messages.NO) { + return; + } + file.delete(); + } + super.doOKAction(); } File getTemplateFile() {