diff options
author | Michael Valenta | 2006-01-16 20:55:12 +0000 |
---|---|---|
committer | Michael Valenta | 2006-01-16 20:55:12 +0000 |
commit | 64b0332896523c323ed65c23436ef5fd090dc3fb (patch) | |
tree | 741faae99115f8d78c8c958f6e6f0d455527f4e5 /bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java | |
parent | 8b7113c2ca34af5560c3610a51aaa405ccbb9acc (diff) | |
download | eclipse.platform.team-64b0332896523c323ed65c23436ef5fd090dc3fb.tar.gz eclipse.platform.team-64b0332896523c323ed65c23436ef5fd090dc3fb.tar.xz eclipse.platform.team-64b0332896523c323ed65c23436ef5fd090dc3fb.zip |
Bug 114752 [Model API] Convert CVS operations to use operation scope
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java')
-rw-r--r-- | bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java index 18366be8f..ddda3f158 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java @@ -23,6 +23,8 @@ import org.eclipse.team.core.RepositoryProvider; import org.eclipse.team.core.subscribers.Subscriber; import org.eclipse.team.core.subscribers.SubscriberResourceMappingContext; import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin; +import org.eclipse.team.internal.ccvs.ui.Policy; +import org.eclipse.team.internal.ccvs.ui.operations.RepositoryProviderOperation; import org.eclipse.ui.PlatformUI; /** @@ -122,4 +124,25 @@ public abstract class WorkspaceTraversalAction extends WorkspaceAction { } return false; } + + protected boolean hasOutgoingChanges(final RepositoryProviderOperation operation) throws InvocationTargetException, InterruptedException { + final boolean[] hasChange = new boolean[] { false }; + PlatformUI.getWorkbench().getProgressService().run(true, true, new IRunnableWithProgress() { + public void run(IProgressMonitor monitor) throws InvocationTargetException, + InterruptedException { + try { + monitor.beginTask("Looking for uncommitted changes", 100); + operation.buildScope(Policy.subMonitorFor(monitor, 50)); + hasChange[0] = CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().hasLocalChanges( + operation.getScope().getTraversals(), + Policy.subMonitorFor(monitor, 50)); + } catch (CoreException e) { + throw new InvocationTargetException(e); + } finally { + monitor.done(); + } + } + }); + return hasChange[0]; + } } |