From 356f147275cd77c3f9e1daeddd7a03d263b05838 Mon Sep 17 00:00:00 2001 From: Sergey Vasiliev Date: Mon, 17 Jul 2006 18:13:50 +0400 Subject: [PATCH] delete confirmation for dom tree view elements(IDEADEV-5071) --- .../util/xml/tree/actions/DeleteDomElement.java | 23 ++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/dom/impl/src/com/intellij/util/xml/tree/actions/DeleteDomElement.java b/dom/impl/src/com/intellij/util/xml/tree/actions/DeleteDomElement.java index 137e43d7da..8275aa4dff 100644 --- a/dom/impl/src/com/intellij/util/xml/tree/actions/DeleteDomElement.java +++ b/dom/impl/src/com/intellij/util/xml/tree/actions/DeleteDomElement.java @@ -9,6 +9,7 @@ import com.intellij.openapi.application.ApplicationBundle; import com.intellij.openapi.application.Result; import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.util.IconLoader; +import com.intellij.openapi.ui.Messages; import com.intellij.ui.treeStructure.SimpleNode; import com.intellij.util.xml.DomElement; import com.intellij.util.xml.ElementPresentation; @@ -34,11 +35,16 @@ public class DeleteDomElement extends BaseDomTreeAction { if (selectedNode instanceof BaseDomElementNode) { final DomElement domElement = ((BaseDomElementNode)selectedNode).getDomElement(); + + final int ret = Messages.showOkCancelDialog(getPresentationText(selectedNode) + "?", ApplicationBundle.message("action.remove"), + Messages.getQuestionIcon()); + if (ret == 0) { new WriteCommandAction(domElement.getManager().getProject(), domElement.getRoot().getFile()) { protected void run(final Result result) throws Throwable { domElement.undefine(); } }.execute(); + } } } @@ -60,17 +66,22 @@ public class DeleteDomElement extends BaseDomTreeAction { e.getPresentation().setEnabled(enabled); - final String removeString = ApplicationBundle.message("action.remove"); - if (enabled) { - final ElementPresentation presentation = ((BaseDomElementNode)selectedNode).getDomElement().getPresentation(); - e.getPresentation().setText(removeString + " " + presentation.getTypeName() + - (presentation.getElementName() == null ? "" : ": " + presentation.getElementName())); + if (enabled) { + e.getPresentation().setText(getPresentationText(selectedNode)); } else { - e.getPresentation().setText(removeString); + e.getPresentation().setText(ApplicationBundle.message("action.remove")); } e.getPresentation().setIcon(IconLoader.getIcon("/general/remove.png")); } + + private static String getPresentationText(final SimpleNode selectedNode) { + String removeString = ApplicationBundle.message("action.remove"); + final ElementPresentation presentation = ((BaseDomElementNode)selectedNode).getDomElement().getPresentation(); + removeString += " " + presentation.getTypeName() + + (presentation.getElementName() == null || presentation.getElementName().trim().length() == 0? "" : ": " + presentation.getElementName()); + return removeString; + } } -- 2.11.4.GIT