Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/SetKeywordSubstitutionAction.java')
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/SetKeywordSubstitutionAction.java70
1 files changed, 70 insertions, 0 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/SetKeywordSubstitutionAction.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/SetKeywordSubstitutionAction.java
new file mode 100644
index 000000000..1fb82e987
--- /dev/null
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/SetKeywordSubstitutionAction.java
@@ -0,0 +1,70 @@
+package org.eclipse.team.internal.ccvs.ui.actions;
+
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.team.ccvs.core.CVSTeamProvider;
+import org.eclipse.team.ccvs.core.ICVSResource;
+import org.eclipse.team.core.ITeamManager;
+import org.eclipse.team.core.ITeamProvider;
+import org.eclipse.team.core.TeamException;
+import org.eclipse.team.core.TeamPlugin;
+import org.eclipse.team.internal.ccvs.core.client.Command;
+import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
+import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
+import org.eclipse.team.internal.ccvs.ui.wizards.SetKeywordSubstitutionWizard;
+import org.eclipse.team.ui.actions.TeamAction;
+
+/**
+ * TagAction tags the selected resources with a version tag specified by the user.
+ */
+public class SetKeywordSubstitutionAction extends TeamAction {
+ private KSubstOption previousOption = Command.KSUBST_TEXT;
+
+ /*
+ * @see IActionDelegate#run(IAction)
+ */
+ public void run(IAction action) {
+ final IResource[] resources = getSelectedResources();
+ SetKeywordSubstitutionWizard wizard = new SetKeywordSubstitutionWizard(resources,
+ IResource.DEPTH_INFINITE, previousOption);
+ try {
+ wizard.prepareToOpen();
+ WizardDialog dialog = new WizardDialog(getShell(), wizard);
+ dialog.setMinimumPageSize(350, 250);
+ dialog.open();
+ previousOption = wizard.getKSubstOption();
+ } catch (TeamException e) {
+ handle(e, "stuff", "");
+ }
+ }
+
+ /*
+ * @see TeamAction#isEnabled()
+ */
+ protected boolean isEnabled() throws TeamException {
+ IResource[] resources = getSelectedResources();
+ if (resources.length == 0) return false;
+ ITeamManager manager = TeamPlugin.getManager();
+ for (int i = 0; i < resources.length; i++) {
+ IResource resource = resources[i];
+ // resource must be local
+ if (! resource.isAccessible()) return false;
+ // provider must be CVS
+ ITeamProvider provider = manager.getProvider(resource.getProject());
+ if (provider == null) return false;
+ if (! (provider instanceof CVSTeamProvider)) return false;
+ // resource must either be a project, or it must be managed
+ if (resource.getType() != IResource.PROJECT) {
+ ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
+ if (! cvsResource.isManaged()) return false;
+ }
+ }
+ return true;
+ }
+}

Back to the top