| package org.eclipse.team.internal.ccvs.ui.merge; |
| |
| /* |
| * (c) Copyright IBM Corp. 2000, 2002. |
| * All Rights Reserved. |
| */ |
| |
| import org.eclipse.jface.viewers.ISelectionProvider; |
| import org.eclipse.jface.viewers.StructuredSelection; |
| import org.eclipse.swt.widgets.Shell; |
| import org.eclipse.team.internal.ccvs.ui.sync.CVSSyncCompareInput; |
| import org.eclipse.team.internal.ui.sync.ITeamNode; |
| import org.eclipse.team.internal.ui.sync.SyncSet; |
| |
| public class OverrideUpdateMergeAction extends UpdateMergeAction { |
| public OverrideUpdateMergeAction(CVSSyncCompareInput model, ISelectionProvider sp, String label, Shell shell) { |
| super(model, sp, label, shell); |
| } |
| /* |
| * Override removeNonApplicableNodes because conflicting nodes should not be removed from this set. |
| */ |
| protected void removeNonApplicableNodes(SyncSet set, int syncMode) { |
| set.removeOutgoingNodes(); |
| set.removeIncomingNodes(); |
| } |
| protected boolean isEnabled(ITeamNode node) { |
| // The force update action is enabled only for conflicting and outgoing changes |
| SyncSet set = new SyncSet(new StructuredSelection(node)); |
| return (set.hasConflicts() && hasRealChanges(node, new int[] { ITeamNode.CONFLICTING })); |
| } |
| } |