diff options
Diffstat (limited to 'bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/DialogSynchronizePageSite.java')
-rw-r--r-- | bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/DialogSynchronizePageSite.java | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/DialogSynchronizePageSite.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/DialogSynchronizePageSite.java index debc26fa9..fd1c315a2 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/DialogSynchronizePageSite.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/DialogSynchronizePageSite.java @@ -14,13 +14,15 @@ package org.eclipse.team.internal.ui.synchronize; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; +import org.eclipse.core.commands.IHandler; +import org.eclipse.core.expressions.Expression; import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.IStatusLineManager; import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.commands.ActionHandler; import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.jface.viewers.ISelectionProvider; import org.eclipse.swt.widgets.Shell; @@ -29,12 +31,10 @@ import org.eclipse.ui.IActionBars; import org.eclipse.ui.IKeyBindingService; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchSite; +import org.eclipse.ui.LegacyHandlerSubmissionExpression; import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.commands.ActionHandler; -import org.eclipse.ui.commands.HandlerSubmission; -import org.eclipse.ui.commands.IHandler; -import org.eclipse.ui.commands.IWorkbenchCommandSupport; -import org.eclipse.ui.commands.Priority; +import org.eclipse.ui.handlers.IHandlerActivation; +import org.eclipse.ui.handlers.IHandlerService; import org.eclipse.ui.services.IServiceLocator; /** @@ -48,7 +48,7 @@ public class DialogSynchronizePageSite implements ISynchronizePageSite { private final boolean isModal; // Keybindings enabled in the dialog, these should be removed // when the dialog is closed. - private List<HandlerSubmission> actionHandlers = new ArrayList<>(2); + private List<IHandlerActivation> actionHandlers = new ArrayList<>(2); /** * Create a site for use in a dialog @@ -139,9 +139,9 @@ public class DialogSynchronizePageSite implements ISynchronizePageSite { public void setGlobalActionHandler(String actionId, IAction action) { if (actionId != null && !"".equals(actionId)) { //$NON-NLS-1$ IHandler handler = new ActionHandler(action); - HandlerSubmission handlerSubmission = new HandlerSubmission(null, shell, null, actionId, handler, Priority.MEDIUM); - PlatformUI.getWorkbench().getCommandSupport().addHandlerSubmission(handlerSubmission); - actionHandlers.add(handlerSubmission); + Expression expression = new LegacyHandlerSubmissionExpression(null, shell, null); + IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class); + actionHandlers.add(handlerService.activateHandler(actionId, handler, expression)); } } @@ -160,10 +160,7 @@ public class DialogSynchronizePageSite implements ISynchronizePageSite { * Cleanup when the dialog is closed */ public void dispose() { - IWorkbenchCommandSupport cm = PlatformUI.getWorkbench().getCommandSupport(); - for (Iterator it = actionHandlers.iterator(); it.hasNext();) { - HandlerSubmission handler = (HandlerSubmission) it.next(); - cm.removeHandlerSubmission(handler); - } + IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class); + actionHandlers.forEach(handlerService::deactivateHandler); } }
\ No newline at end of file |