blob: 151e7625fdbac1125741b6fac7bea9f9451067d2 [file] [log] [blame]
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 }));
}
}