diff options
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse')
3 files changed, 25 insertions, 8 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/ClearContextHandler.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/ClearContextHandler.java index e46506689..a80df4477 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/ClearContextHandler.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/ClearContextHandler.java @@ -26,21 +26,35 @@ import org.eclipse.ui.PlatformUI; public class ClearContextHandler extends AbstractTaskHandler { @Override - protected void execute(ExecutionEvent event, ITask task) throws ExecutionException { - run(task); + protected void execute(ExecutionEvent event, ITask[] tasks) throws ExecutionException { + run(tasks); } public static void run(ITask task) { - boolean deleteConfirmed = MessageDialog.openQuestion(PlatformUI.getWorkbench() - .getActiveWorkbenchWindow() - .getShell(), Messages.ClearContextHandler_Confirm_clear_context, - Messages.ClearContextHandler_CLEAR_THE_CONTEXT_THE_FOR_SELECTED_TASK); + run(new ITask[] { task }); + } + + public static void run(ITask[] tasks) { + boolean deleteConfirmed = false; + if (tasks.length == 1) { + deleteConfirmed = MessageDialog.openQuestion( + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), + Messages.ClearContextHandler_Confirm_clear_context, + Messages.ClearContextHandler_CLEAR_THE_CONTEXT_THE_FOR_SELECTED_TASK); + } else if (tasks.length > 1) { + deleteConfirmed = MessageDialog.openQuestion( + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), + Messages.ClearContextHandler_Confirm_clear_context, + Messages.ClearContextHandler_CLEAR_THE_CONTEXT_THE_FOR_SELECTED_TASKS); + } if (!deleteConfirmed) { return; } + for (ITask task : tasks) { + TasksUiPlugin.getContextStore().clearContext(task); + TasksUiInternal.getTaskList().notifyElementChanged(task); - TasksUiPlugin.getContextStore().clearContext(task); - TasksUiInternal.getTaskList().notifyElementChanged(task); + } } } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/Messages.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/Messages.java index 419e3ddd3..b27df115d 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/Messages.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/Messages.java @@ -49,6 +49,8 @@ public class Messages extends NLS { public static String ContextRetrieveWizardPage_SELECT_A_CONTEXT_TO_RETTRIEVE_FROM_TABLE_BELOW; + public static String ClearContextHandler_CLEAR_THE_CONTEXT_THE_FOR_SELECTED_TASKS; + public static String ContextRetrieveWizardPage_Task; public static String RetrieveLatestContextDialog_Dialog_Title; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/messages.properties b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/messages.properties index fc0224819..82522ed7b 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/messages.properties +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/context/messages.properties @@ -31,6 +31,7 @@ RetrieveLatestContextDialog_Show_All_Contexts_Label=<a>Show All Contexts</a> RetrieveLatestContextDialog_Unknown=<Unknown> ClearContextHandler_CLEAR_THE_CONTEXT_THE_FOR_SELECTED_TASK=Clear the context for the selected task? This cannot be undone. +ClearContextHandler_CLEAR_THE_CONTEXT_THE_FOR_SELECTED_TASKS=Clear the context for the selected tasks? This cannot be undone. ClearContextHandler_Confirm_clear_context=Confirm clear context CopyContextHandler_Merge=Merge |