From: Bruno Sinou Date: Wed, 7 Nov 2012 08:20:48 +0000 (+0000) Subject: enhance result objects deletion message X-Git-Tag: argeo-slc-2.1.7~561 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=9d7e040cfd0b6107ea6fd4512ae16c9bbcfb3d09;p=gpl%2Fargeo-slc.git enhance result objects deletion message git-svn-id: https://svn.argeo.org/slc/trunk@5716 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/commands/DeleteResult.java b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/commands/DeleteResult.java index b6ab1ea1d..012985c3a 100644 --- a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/commands/DeleteResult.java +++ b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/commands/DeleteResult.java @@ -26,6 +26,7 @@ import javax.jcr.Session; import org.argeo.eclipse.ui.ErrorFeedback; import org.argeo.slc.client.ui.model.ResultFolder; +import org.argeo.slc.client.ui.model.ResultParent; import org.argeo.slc.client.ui.model.ResultParentUtils; import org.argeo.slc.client.ui.model.SingleResultNode; import org.eclipse.core.commands.AbstractHandler; @@ -49,9 +50,29 @@ public class DeleteResult extends AbstractHandler { final ISelection selection = HandlerUtil .getActiveWorkbenchWindow(event).getActivePage().getSelection(); - if (!MessageDialog.openConfirm(HandlerUtil.getActiveShell(event), - "Confirm", - "Are you sure that you want to delete these results?")) + // confirmation + StringBuffer buf = new StringBuffer(""); + Iterator lst = ((IStructuredSelection) selection).iterator(); + while (lst.hasNext()) { + Object obj = lst.next(); + + if (obj instanceof ResultParent) { + ResultParent rp = ((ResultParent) obj); + buf.append(rp.getName()).append(", "); + } + + } + + String msg = "Nothing to delete"; + // remove last separator + if (buf.lastIndexOf(", ") > -1) { + msg = "Do you want to delete following objects: " + + buf.substring(0, buf.lastIndexOf(", ")) + "?"; + } + Boolean ok = MessageDialog.openConfirm( + HandlerUtil.getActiveShell(event), "Confirm deletion", msg); + + if (!ok) return null; Job job = new Job("Delete results") {