X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=plugins%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fcommands%2FMarkAsRelevantCategory.java;h=f4f8bcbc3db57b8e4761342519894f953b2c0075;hb=5f40d8d483bdd509881bf09fa9eedf259146be65;hp=59b8e20e44139ac67a983a53756e0c49634a0468;hpb=dfe3fcaa16195d0fff84839e86546d753e588253;p=gpl%2Fargeo-slc.git diff --git a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/MarkAsRelevantCategory.java b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/MarkAsRelevantCategory.java index 59b8e20e4..f4f8bcbc3 100644 --- a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/MarkAsRelevantCategory.java +++ b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/MarkAsRelevantCategory.java @@ -41,8 +41,11 @@ public class MarkAsRelevantCategory extends AbstractHandler { public final static String ID = DistPlugin.ID + ".markAsRelevantCategory"; public final static String DEFAULT_LABEL = "Mark as relevant category base"; + public final static String DEFAULT_REMOVE_LABEL = "Remove this category from relevant list"; public final static ImageDescriptor DEFAULT_ICON = DistPlugin .getImageDescriptor("icons/addItem.gif"); + public final static ImageDescriptor DEFAULT_REMOVE_ICON = DistPlugin + .getImageDescriptor("icons/removeMark.gif"); public Object execute(ExecutionEvent event) throws ExecutionException { try { @@ -57,17 +60,24 @@ public class MarkAsRelevantCategory extends AbstractHandler { Iterator it = ((IStructuredSelection) selector) .iterator(); - String msg = "Your are about to mark this group as category base in the current workspace" - + ".\n" + "Are you sure you want to proceed?"; - - boolean result = MessageDialog.openConfirm(DistPlugin - .getDefault().getWorkbench().getDisplay() - .getActiveShell(), "Confirm", msg); + Node node = (Node) it.next(); + if (node.isNodeType(SlcTypes.SLC_CATEGORY)) { + String msg = "Your are about to unlist this category from the relevant category list for current workspace" + + ".\n" + "Are you sure you want to proceed?"; + if (MessageDialog.openConfirm(DistPlugin.getDefault() + .getWorkbench().getDisplay().getActiveShell(), + "Confirm", msg)) { + node.removeMixin(SlcTypes.SLC_CATEGORY); + node.getSession().save(); + } + } else { + String msg = "Your are about to mark this group as category base in the current workspace" + + ".\n" + "Are you sure you want to proceed?"; - if (result) { - while (it.hasNext()) { - Node node = (Node) it.next(); - node.addMixin(SlcTypes.SLC_RELEVANT_CATEGORY); + if (MessageDialog.openConfirm(DistPlugin.getDefault() + .getWorkbench().getDisplay().getActiveShell(), + "Confirm", msg)) { + node.addMixin(SlcTypes.SLC_CATEGORY); node.getSession().save(); } }