Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2004-04-14 02:00:43 +0000
committerMichael Valenta2004-04-14 02:00:43 +0000
commit126b745d38aa097658d3d1c01bc35ceecb00ab21 (patch)
tree9da0928048d9959264851813d00a0fe51a19c4b3
parent0de7760278c6b019da05a2490b6c12005f082790 (diff)
downloadeclipse.platform.team-126b745d38aa097658d3d1c01bc35ceecb00ab21.tar.gz
eclipse.platform.team-126b745d38aa097658d3d1c01bc35ceecb00ab21.tar.xz
eclipse.platform.team-126b745d38aa097658d3d1c01bc35ceecb00ab21.zip
*** empty log message ***
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipantActionContribution.java150
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSSynchronizeViewerAdvisor.java115
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java55
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipantActionContribution.java35
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeParticipantActionContribution.java64
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeAdvisor.java79
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java33
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceParticipantActionContributions.java64
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeAdvisor.java74
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeParticipant.java21
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/RefreshUserNotificationPolicy.java7
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/subscribers/SubscriberActionContribution.java2
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/subscribers/SubscriberParticipant.java4
13 files changed, 308 insertions, 395 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipantActionContribution.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipantActionContribution.java
new file mode 100644
index 000000000..b3a4781c1
--- /dev/null
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipantActionContribution.java
@@ -0,0 +1,150 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.team.internal.ccvs.ui.subscriber;
+
+import org.eclipse.compare.structuremergeviewer.ICompareInput;
+import org.eclipse.compare.structuremergeviewer.ICompareInputChangeListener;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.jface.viewers.*;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator;
+import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
+import org.eclipse.team.internal.ui.synchronize.actions.RemoveSynchronizeParticipantAction;
+import org.eclipse.team.ui.synchronize.*;
+import org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IViewPart;
+
+/**
+ * Actions common to all CVS particpants
+ */
+public abstract class CVSParticipantActionContribution implements IActionContribution, IPropertyChangeListener {
+
+ private ISynchronizePageConfiguration configuration;
+ private RemoveSynchronizeParticipantAction removeAction;
+
+ private static class CVSLabelDecorator extends LabelProvider implements ILabelDecorator {
+ public String decorateText(String input, Object element) {
+ String text = input;
+ if (element instanceof ISynchronizeModelElement) {
+ IResource resource = ((ISynchronizeModelElement)element).getResource();
+ if(resource != null && resource.getType() != IResource.ROOT) {
+ CVSLightweightDecorator.Decoration decoration = new CVSLightweightDecorator.Decoration();
+ CVSLightweightDecorator.decorateTextLabel(resource, decoration, false, true);
+ StringBuffer output = new StringBuffer(25);
+ if(decoration.prefix != null) {
+ output.append(decoration.prefix);
+ }
+ output.append(text);
+ if(decoration.suffix != null) {
+ output.append(decoration.suffix);
+ }
+ return output.toString();
+ }
+ }
+ return text;
+ }
+ public Image decorateImage(Image base, Object element) {
+ return base;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.ui.synchronize.IActionContribution#initialize(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration)
+ */
+ public void initialize(ISynchronizePageConfiguration configuration) {
+ this.configuration = configuration;
+ // Listen for model changes
+ configuration.addPropertyChangeListener(this);
+ // Listen for decorator changed to refresh the viewer's labels.
+ CVSUIPlugin.addPropertyChangeListener(this);
+ Object o = configuration.getProperty(ISynchronizePageConfiguration.P_MODEL);
+ if (o != null) {
+ inputChanged(o);
+ }
+ ILabelProvider provider = (ILabelProvider)configuration.getProperty(ISynchronizePageConfiguration.P_LABEL_PROVIDER);
+ configuration.setProperty(
+ ISynchronizePageConfiguration.P_LABEL_PROVIDER,
+ new DecoratingColorLabelProvider(provider, new CVSLabelDecorator()));
+ }
+
+ protected void createRemoveAction(ISynchronizePageConfiguration configuration) {
+ if (configuration.getSite().getPart() instanceof IViewPart) {
+ SubscriberParticipant p = (SubscriberParticipant)configuration.getParticipant();
+ removeAction = new RemoveSynchronizeParticipantAction(p);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.ui.synchronize.IActionContribution#dispose()
+ */
+ public void dispose() {
+ configuration.removePropertyChangeListener(this);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.ui.synchronize.IActionContribution#fillContextMenu(org.eclipse.jface.action.IMenuManager)
+ */
+ public void fillContextMenu(IMenuManager manager) {
+ // Do nothing
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.ui.synchronize.IActionContribution#setActionBars(org.eclipse.ui.IActionBars)
+ */
+ public void setActionBars(IActionBars actionBars) {
+ if(actionBars != null) {
+ IToolBarManager toolbar = actionBars.getToolBarManager();
+ if(toolbar != null) {
+ if (removeAction != null) {
+ // Add the remove to the end of the toolbar
+ toolbar.add(removeAction);
+ }
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
+ */
+ public void propertyChange(PropertyChangeEvent event) {
+ String property = event.getProperty();
+ if (property.equals(ISynchronizePageConfiguration.P_MODEL)) {
+ Object o = event.getNewValue();
+ inputChanged(o);
+ }
+ //TODO:
+// if(property.equals(CVSUIPlugin.P_DECORATORS_CHANGED) && getViewer() != null && getSyncInfoSet() != null) {
+// getViewer().refresh(true /* update labels */);
+// }
+ }
+
+ private void inputChanged(Object o) {
+ if (o instanceof ISynchronizeModelElement) {
+ final ISynchronizeModelElement input = (ISynchronizeModelElement)o;
+ input.addCompareInputChangeListener(new ICompareInputChangeListener() {
+ public void compareInputChanged(ICompareInput source) {
+ modelChanged(input);
+ }
+ });
+ modelChanged(input);
+ }
+ }
+
+ /**
+ * @param input
+ */
+ protected abstract void modelChanged(ISynchronizeModelElement input);
+}
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSSynchronizeViewerAdvisor.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSSynchronizeViewerAdvisor.java
deleted file mode 100644
index 5b2585928..000000000
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSSynchronizeViewerAdvisor.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ui.subscriber;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.team.core.synchronize.SyncInfoTree;
-import org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator;
-import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
-import org.eclipse.team.internal.ui.synchronize.ActionDelegateWrapper;
-import org.eclipse.team.ui.synchronize.*;
-import org.eclipse.team.ui.synchronize.subscribers.*;
-import org.eclipse.team.ui.synchronize.subscribers.SynchronizeViewerAdvisor;
-
-public class CVSSynchronizeViewerAdvisor extends SynchronizeViewerAdvisor implements ISynchronizeModelChangeListener, IPropertyChangeListener {
-
- private boolean isGroupIncomingByComment = false;
-
- private static class CVSLabelDecorator extends LabelProvider implements ILabelDecorator {
- public String decorateText(String input, Object element) {
- String text = input;
- if (element instanceof ISynchronizeModelElement) {
- IResource resource = ((ISynchronizeModelElement)element).getResource();
- if(resource != null && resource.getType() != IResource.ROOT) {
- CVSLightweightDecorator.Decoration decoration = new CVSLightweightDecorator.Decoration();
- CVSLightweightDecorator.decorateTextLabel(resource, decoration, false, true);
- StringBuffer output = new StringBuffer(25);
- if(decoration.prefix != null) {
- output.append(decoration.prefix);
- }
- output.append(text);
- if(decoration.suffix != null) {
- output.append(decoration.suffix);
- }
- return output.toString();
- }
- }
- return text;
- }
- public Image decorateImage(Image base, Object element) {
- return base;
- }
- }
-
- public CVSSynchronizeViewerAdvisor(SubscriberPageConfiguration configuration, SyncInfoTree syncInfoTree) {
- super(configuration, syncInfoTree);
-
- // Sync changes are used to update the action state for the update/commit buttons.
- addInputChangedListener(this);
-
- // Listen for decorator changed to refresh the viewer's labels.
- CVSUIPlugin.addPropertyChangeListener(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.TreeViewerAdvisor#getLabelProvider()
- */
- protected ILabelProvider getLabelProvider() {
- ILabelProvider oldProvider = super.getLabelProvider();
- return new DecoratingColorLabelProvider(oldProvider, new CVSLabelDecorator());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.TreeViewerAdvisor#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
- */
- public void propertyChange(PropertyChangeEvent event) {
- String property = event.getProperty();
- if(property.equals(CVSUIPlugin.P_DECORATORS_CHANGED) && getViewer() != null && getSyncInfoSet() != null) {
- getViewer().refresh(true /* update labels */);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.team.ui.sync.AbstractSynchronizeParticipant#dispose()
- */
- public void dispose() {
- super.dispose();
- removeInputChangedListener(this);
- CVSUIPlugin.removePropertyChangeListener(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.ISynchronizeModelChangeListener#modelChanged(org.eclipse.team.ui.synchronize.ISynchronizeModelElement)
- */
- public void modelChanged(ISynchronizeModelElement root) {
- ActionDelegateWrapper[] actions = getActionDelegates();
- for (int i = 0; i < actions.length; i++) {
- ActionDelegateWrapper wrapper = actions[i];
- wrapper.setSelection(root);
- }
- }
-
- /**
- * Return the non-null list of action delegates whose selection must
- * be updated when the model changes.
- * By default, an empty list is returned.
- * @return the array of action delegates
- */
- protected ActionDelegateWrapper[] getActionDelegates() {
- return new ActionDelegateWrapper[0];
- }
-}
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java
index 6736ebb73..7f588d6d3 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java
@@ -10,22 +10,17 @@
*******************************************************************************/
package org.eclipse.team.internal.ccvs.ui.subscriber;
-import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Shell;
import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.*;
+import org.eclipse.team.core.synchronize.SyncInfo;
+import org.eclipse.team.core.synchronize.SyncInfoFilter;
import org.eclipse.team.internal.ccvs.core.CVSCompareSubscriber;
import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
-import org.eclipse.team.internal.ui.synchronize.actions.RemoveSynchronizeParticipantAction;
import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.*;
-import org.eclipse.team.ui.synchronize.subscribers.*;
-import org.eclipse.ui.IActionBars;
+import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
+import org.eclipse.team.ui.synchronize.ISynchronizeParticipantDescriptor;
+import org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant;
public class CompareParticipant extends SubscriberParticipant {
@@ -37,32 +32,7 @@ public class CompareParticipant extends SubscriberParticipant {
}
};
- private class CompareParticipantAdvisor extends CVSSynchronizeViewerAdvisor {
- private RemoveSynchronizeParticipantAction removeAction;
-
- public CompareParticipantAdvisor(SubscriberPageConfiguration configuration, SyncInfoTree syncInfoTree) {
- super(configuration, syncInfoTree);
- }
-
- protected void initializeActions(StructuredViewer treeViewer) {
- super.initializeActions(treeViewer);
- removeAction = new RemoveSynchronizeParticipantAction(getParticipant());
- }
-
- public void setActionBars(IActionBars actionBars) {
- super.setActionBars(actionBars);
- if(actionBars != null) {
- IToolBarManager toolbar = actionBars.getToolBarManager();
- if(toolbar != null) {
- toolbar.add(new Separator());
- toolbar.add(removeAction);
- }
- }
- }
- }
-
public CompareParticipant(CVSCompareSubscriber subscriber) {
- super();
setSubscriber(subscriber);
}
@@ -89,13 +59,6 @@ public class CompareParticipant extends SubscriberParticipant {
}
/* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.subscriber.SubscriberParticipant#updateMode(int)
- */
- protected void updateMode(int mode) {
- // Don't allow modes to be used with this participant
- }
-
- /* (non-Javadoc)
* @see org.eclipse.team.ui.synchronize.subscriber.SubscriberParticipant#preCollectingChanges()
*/
protected void preCollectingChanges() {
@@ -110,11 +73,11 @@ public class CompareParticipant extends SubscriberParticipant {
public boolean isPersistent() {
return false;
}
-
+
/* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.subscriber.SubscriberParticipant#createSynchronizeViewerAdvisor(org.eclipse.team.ui.synchronize.ISynchronizeView)
+ * @see org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant#initializeConfiguration(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration)
*/
- protected StructuredViewerAdvisor createSynchronizeViewerAdvisor(SubscriberPageConfiguration configuration, SyncInfoTree syncInfoTree) {
- return new CompareParticipantAdvisor(configuration, syncInfoTree);
+ protected void initializeConfiguration(ISynchronizePageConfiguration configuration) {
+ configuration.addActionContribution(new CompareParticipantActionContribution());
}
}
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipantActionContribution.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipantActionContribution.java
new file mode 100644
index 000000000..aabd12cc6
--- /dev/null
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipantActionContribution.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.team.internal.ccvs.ui.subscriber;
+
+import org.eclipse.team.ui.synchronize.ISynchronizeModelElement;
+import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
+
+/**
+ * Toolbar actions for compare participants
+ */
+public class CompareParticipantActionContribution extends CVSParticipantActionContribution {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.internal.ccvs.ui.subscriber.CVSParticipantActionContribution#initialize(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration)
+ */
+ public void initialize(ISynchronizePageConfiguration configuration) {
+ createRemoveAction(configuration);
+ super.initialize(configuration);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.internal.ccvs.ui.subscriber.CVSParticipantActionContribution#modelChanged(org.eclipse.team.ui.synchronize.ISynchronizeModelElement)
+ */
+ protected void modelChanged(ISynchronizeModelElement input) {
+ // Nothing to do
+ }
+}
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeParticipantActionContribution.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeParticipantActionContribution.java
new file mode 100644
index 000000000..6aae65def
--- /dev/null
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeParticipantActionContribution.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.team.internal.ccvs.ui.subscriber;
+
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.team.internal.ccvs.ui.Policy;
+import org.eclipse.team.internal.ui.Utils;
+import org.eclipse.team.internal.ui.synchronize.ActionDelegateWrapper;
+import org.eclipse.team.ui.synchronize.ISynchronizeModelElement;
+import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
+import org.eclipse.team.ui.synchronize.subscribers.ISubscriberPageConfiguration;
+import org.eclipse.ui.IActionBars;
+
+/**
+ * Actions for the merge particpant's toolbar
+ */
+public class MergeParticipantActionContribution extends CVSParticipantActionContribution {
+
+ private ActionDelegateWrapper updateAdapter;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.internal.ccvs.ui.subscriber.CVSParticipantActionContribution#initialize(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration)
+ */
+ public void initialize(ISynchronizePageConfiguration configuration) {
+ createRemoveAction(configuration);
+ ((ISubscriberPageConfiguration)configuration).setSupportedModes(ISubscriberPageConfiguration.INCOMING_MODE | ISubscriberPageConfiguration.CONFLICTING_MODE);
+ MergeUpdateAction action = new MergeUpdateAction();
+ action.setPromptBeforeUpdate(true);
+ updateAdapter = new ActionDelegateWrapper(action, configuration.getSite().getPart());
+ Utils.initAction(updateAdapter, "action.SynchronizeViewUpdate.", Policy.getBundle()); //$NON-NLS-1$
+ ((ISubscriberPageConfiguration)configuration).setMode(ISubscriberPageConfiguration.INCOMING_MODE);
+ super.initialize(configuration);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.internal.ccvs.ui.subscriber.CVSParticipantActionContribution#modelChanged(org.eclipse.team.ui.synchronize.ISynchronizeModelElement)
+ */
+ protected void modelChanged(ISynchronizeModelElement input) {
+ updateAdapter.setSelection(input);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.ui.synchronize.IActionContribution#setActionBars(org.eclipse.ui.IActionBars)
+ */
+ public void setActionBars(IActionBars actionBars) {
+ if(actionBars != null) {
+ IToolBarManager toolbar = actionBars.getToolBarManager();
+ if(toolbar != null) {
+ if(toolbar.find(MergeSynchronizeParticipant.ACTION_GROUP) != null) {
+ toolbar.appendToGroup(MergeSynchronizeParticipant.ACTION_GROUP, updateAdapter);
+ }
+ }
+ }
+ super.setActionBars(actionBars);
+ }
+}
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeAdvisor.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeAdvisor.java
deleted file mode 100644
index 54f5312c2..000000000
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeAdvisor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ui.subscriber;
-
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.team.core.synchronize.SyncInfoTree;
-import org.eclipse.team.internal.ccvs.ui.Policy;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.internal.ui.synchronize.ActionDelegateWrapper;
-import org.eclipse.team.internal.ui.synchronize.actions.RemoveSynchronizeParticipantAction;
-import org.eclipse.team.ui.synchronize.*;
-import org.eclipse.team.ui.synchronize.subscribers.*;
-import org.eclipse.team.ui.synchronize.subscribers.DirectionFilterActionGroup;
-import org.eclipse.ui.IActionBars;
-
-
-public class MergeSynchronizeAdvisor extends CVSSynchronizeViewerAdvisor {
-
- private RemoveSynchronizeParticipantAction removeAction;
- private DirectionFilterActionGroup modes;
- private ActionDelegateWrapper updateAdapter;
-
- public MergeSynchronizeAdvisor(SubscriberPageConfiguration configuration, SyncInfoTree syncInfoTree) {
- super(configuration, syncInfoTree);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.subscriber.SynchronizeViewerAdvisor#initializeActions(org.eclipse.jface.viewers.StructuredViewer)
- */
- protected void initializeActions(StructuredViewer treeViewer) {
- super.initializeActions(treeViewer);
-
- SubscriberParticipant p = getParticipant();
- removeAction = new RemoveSynchronizeParticipantAction(p);
- SubscriberPageConfiguration configuration = getConfiguration();
- configuration.setSupportedModes(SubscriberPageConfiguration.INCOMING_MODE | SubscriberPageConfiguration.CONFLICTING_MODE);
- modes = new DirectionFilterActionGroup(configuration);
- MergeUpdateAction action = new MergeUpdateAction();
- action.setPromptBeforeUpdate(true);
- updateAdapter = new ActionDelegateWrapper(action, getSynchronizeView());
- Utils.initAction(updateAdapter, "action.SynchronizeViewUpdate.", Policy.getBundle()); //$NON-NLS-1$
- configuration.setMode(SubscriberPageConfiguration.INCOMING_MODE);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.IPage#setActionBars(org.eclipse.ui.IActionBars)
- */
- public void setActionBars(IActionBars actionBars) {
- super.setActionBars(actionBars);
- if(actionBars != null) {
- IToolBarManager toolbar = actionBars.getToolBarManager();
- if(toolbar != null) {
- toolbar.add(new Separator());
- modes.fillToolBar(toolbar);
- toolbar.add(new Separator());
- toolbar.add(updateAdapter);
- toolbar.add(removeAction);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.internal.ccvs.ui.subscriber.CVSSynchronizeViewerAdvisor#getActionDelegates()
- */
- protected ActionDelegateWrapper[] getActionDelegates() {
- // Returned so that the superclass will forward model changes
- return new ActionDelegateWrapper[] { updateAdapter };
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java
index 482698f47..36ad31d40 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeSynchronizeParticipant.java
@@ -16,18 +16,25 @@ import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.*;
import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfoTree;
import org.eclipse.team.internal.ccvs.core.*;
import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
import org.eclipse.team.internal.ccvs.ui.Policy;
import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.*;
-import org.eclipse.team.ui.synchronize.subscribers.*;
+import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
+import org.eclipse.team.ui.synchronize.ISynchronizeParticipantDescriptor;
+import org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.PartInitException;
public class MergeSynchronizeParticipant extends SubscriberParticipant {
+ /**
+ * The id of a workspace action group to which additions actions can
+ * be added.
+ */
+ public static final String ACTION_GROUP = "cvs_merge_actions"; //$NON-NLS-1$
+
+
private final static String CTX_ROOT = "root"; //$NON-NLS-1$
private final static String CTX_ROOT_PATH = "root_resource"; //$NON-NLS-1$
private final static String CTX_START_TAG = "start_tag"; //$NON-NLS-1$
@@ -40,18 +47,10 @@ public class MergeSynchronizeParticipant extends SubscriberParticipant {
}
public MergeSynchronizeParticipant(CVSMergeSubscriber subscriber) {
- super();
setSubscriber(subscriber);
}
/* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.subscriber.SubscriberParticipant#createSynchronizeViewerAdvisor(org.eclipse.team.ui.synchronize.ISynchronizeView)
- */
- protected StructuredViewerAdvisor createSynchronizeViewerAdvisor(SubscriberPageConfiguration configuration, SyncInfoTree syncInfoTree) {
- return new MergeSynchronizeAdvisor(configuration, syncInfoTree);
- }
-
- /* (non-Javadoc)
* @see org.eclipse.team.ui.sync.SubscriberParticipant#setSubscriber(org.eclipse.team.core.subscribers.TeamSubscriber)
*/
public void setSubscriber(Subscriber subscriber) {
@@ -163,4 +162,16 @@ public class MergeSynchronizeParticipant extends SubscriberParticipant {
private void flushStateCache() {
((CVSMergeSubscriber)getSubscriber()).cancel();
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant#initializeConfiguration(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration)
+ */
+ protected void initializeConfiguration(ISynchronizePageConfiguration configuration) {
+ configuration.setProperty(ISynchronizePageConfiguration.P_TOOLBAR_MENU, new String[] {
+ ISynchronizePageConfiguration.SYNCHRONIZE_GROUP,
+ ISynchronizePageConfiguration.NAVIGATE_GROUP,
+ ISynchronizePageConfiguration.MODE_GROUP,
+ ACTION_GROUP});
+ configuration.addActionContribution(new MergeParticipantActionContribution());
+ }
} \ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceParticipantActionContributions.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceParticipantActionContributions.java
index 1435011e6..84cd087e9 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceParticipantActionContributions.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceParticipantActionContributions.java
@@ -10,31 +10,22 @@
*******************************************************************************/
package org.eclipse.team.internal.ccvs.ui.subscriber;
-import org.eclipse.compare.structuremergeviewer.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.Separator;
import org.eclipse.team.internal.ccvs.ui.Policy;
import org.eclipse.team.internal.ui.Utils;
import org.eclipse.team.internal.ui.synchronize.ActionDelegateWrapper;
-import org.eclipse.team.ui.synchronize.*;
+import org.eclipse.team.ui.synchronize.ISynchronizeModelElement;
+import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
import org.eclipse.ui.IActionBars;
/**
* Actions for the CVS workspace participant toolbar menu
*/
-public class WorkspaceParticipantActionContributions implements IActionContribution {
+public class WorkspaceParticipantActionContributions extends CVSParticipantActionContribution {
private ActionDelegateWrapper commitToolbar;
private ActionDelegateWrapper updateToolbar;
- private IPropertyChangeListener listener = new IPropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty().equals(ISynchronizePageConfiguration.P_MODEL)) {
- Object o = event.getNewValue();
- inputChanged(o);
- }
- }
- };
/* (non-Javadoc)
* @see org.eclipse.team.ui.synchronize.IContextMenuContribution#initialize(org.eclipse.jface.viewers.StructuredViewer)
@@ -48,55 +39,22 @@ public class WorkspaceParticipantActionContributions implements IActionContribut
Utils.initAction(commitToolbar, "action.SynchronizeViewCommit.", Policy.getBundle()); //$NON-NLS-1$
Utils.initAction(updateToolbar, "action.SynchronizeViewUpdate.", Policy.getBundle()); //$NON-NLS-1$
- configuration.addPropertyChangeListener(listener);
- Object o = configuration.getProperty(ISynchronizePageConfiguration.P_MODEL);
- if (o != null) {
- inputChanged(o);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.IContextMenuContribution#fillContextMenu(org.eclipse.jface.action.IMenuManager)
- */
- public void fillContextMenu(IMenuManager manager) {
- // Nothing to add to context menu
+ super.initialize(configuration);
}
public void setActionBars(IActionBars actionBars) {
IToolBarManager toolbar = actionBars.getToolBarManager();
- if (toolbar != null) {
+ if (toolbar != null && toolbar.find(WorkspaceSynchronizeParticipant.ACTION_GROUP) != null) {
toolbar.add(new Separator());
- toolbar.add(updateToolbar);
- toolbar.add(commitToolbar);
+ toolbar.appendToGroup(WorkspaceSynchronizeParticipant.ACTION_GROUP, updateToolbar);
+ toolbar.appendToGroup(WorkspaceSynchronizeParticipant.ACTION_GROUP, commitToolbar);
}
}
/* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.IContextMenuContribution#dispose()
- */
- public void dispose() {
- // Nothing needs to be disposed
- }
-
- /**
- * Invoked when the model shown by the page's view changes
- */
- protected void inputChanged(Object o) {
- if (o instanceof ISynchronizeModelElement) {
- final ISynchronizeModelElement input = (ISynchronizeModelElement)o;
- input.addCompareInputChangeListener(new ICompareInputChangeListener() {
- public void compareInputChanged(ICompareInput source) {
- modelChanged(input);
- }
- });
- modelChanged(input);
- }
- }
-
- /**
- * @param element
+ * @see org.eclipse.team.internal.ccvs.ui.subscriber.CVSParticipantActionContribution#modelChanged(org.eclipse.team.ui.synchronize.ISynchronizeModelElement)
*/
- public void modelChanged(ISynchronizeModelElement element) {
+ protected void modelChanged(ISynchronizeModelElement element) {
commitToolbar.setSelection(element);
updateToolbar.setSelection(element);
}
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeAdvisor.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeAdvisor.java
deleted file mode 100644
index 56018232d..000000000
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeAdvisor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ui.subscriber;
-
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.team.core.synchronize.SyncInfoTree;
-import org.eclipse.team.internal.ccvs.ui.Policy;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.internal.ui.synchronize.ActionDelegateWrapper;
-import org.eclipse.team.ui.synchronize.subscribers.DirectionFilterActionGroup;
-import org.eclipse.team.ui.synchronize.subscribers.SubscriberPageConfiguration;
-import org.eclipse.ui.IActionBars;
-
-public class WorkspaceSynchronizeAdvisor extends CVSSynchronizeViewerAdvisor {
-
- private DirectionFilterActionGroup modes;
- private ActionDelegateWrapper commitToolbar;
- private ActionDelegateWrapper updateToolbar;
-
- public WorkspaceSynchronizeAdvisor(SubscriberPageConfiguration configuration, SyncInfoTree syncInfoTree) {
- super(configuration, syncInfoTree);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.subscriber.SynchronizeViewerAdvisor#initializeActions(org.eclipse.jface.viewers.StructuredViewer)
- */
- protected void initializeActions(StructuredViewer treeViewer) {
- super.initializeActions(treeViewer);
-
- SubscriberPageConfiguration configuration = getConfiguration();
- configuration.setSupportedModes(SubscriberPageConfiguration.ALL_MODES);
- modes = new DirectionFilterActionGroup(configuration);
-
- commitToolbar = new ActionDelegateWrapper(new SubscriberCommitAction(), getSynchronizeView());
- WorkspaceUpdateAction action = new WorkspaceUpdateAction();
- action.setPromptBeforeUpdate(true);
- updateToolbar = new ActionDelegateWrapper(action, getSynchronizeView());
-
- Utils.initAction(commitToolbar, "action.SynchronizeViewCommit.", Policy.getBundle()); //$NON-NLS-1$
- Utils.initAction(updateToolbar, "action.SynchronizeViewUpdate.", Policy.getBundle()); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.viewers.StructuredViewerAdvisor#setActionBars(org.eclipse.ui.IActionBars)
- */
- public void setActionBars(IActionBars actionBars) {
- super.setActionBars(actionBars);
- IToolBarManager toolbar = actionBars.getToolBarManager();
- if (toolbar != null) {
- modes.fillToolBar(toolbar);
- toolbar.add(new Separator());
- toolbar.add(updateToolbar);
- toolbar.add(commitToolbar);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.team.internal.ccvs.ui.subscriber.CVSSynchronizeViewerAdvisor#getActionDelegates()
- */
- protected ActionDelegateWrapper[] getActionDelegates() {
- // Returned so that the superclass will forward model changes
- return new ActionDelegateWrapper[] { commitToolbar, updateToolbar };
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeParticipant.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeParticipant.java
index c97d6b1da..c1d2c5f71 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeParticipant.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeParticipant.java
@@ -13,6 +13,7 @@ package org.eclipse.team.internal.ccvs.ui.subscriber;
import org.eclipse.team.core.subscribers.Subscriber;
import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
+import org.eclipse.team.ui.synchronize.subscribers.ISubscriberPageConfiguration;
import org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.PartInitException;
@@ -22,10 +23,10 @@ public class WorkspaceSynchronizeParticipant extends SubscriberParticipant {
public static final String ID = "org.eclipse.team.cvs.ui.cvsworkspace-participant"; //$NON-NLS-1$
/**
- * The id of a generic action group to which additions actions can
+ * The id of a workspace action group to which additions actions can
* be added.
*/
- public static final String ACTION_GROUP = "actions"; //$NON-NLS-1$
+ public static final String ACTION_GROUP = "cvs_workspace_actions"; //$NON-NLS-1$
/* (non-Javadoc)
* @see org.eclipse.team.ui.synchronize.ISynchronizeParticipant#init(org.eclipse.ui.IMemento)
@@ -40,16 +41,12 @@ public class WorkspaceSynchronizeParticipant extends SubscriberParticipant {
* @see org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant#initializeConfiguration(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration)
*/
protected void initializeConfiguration(ISynchronizePageConfiguration configuration) {
- configuration.setProperty(TOOLBAR_MENU, new String[] { SYNCHRONIZE_GROUP, NAVIGATE_GROUP, MODE_GROUP, ACTION_GROUP});
- configuration.setProperty(CONTEXT_MENU, new String[] { FILE_GROUP, EDIT_GROUP, SYNCHRONIZE_GROUP, NAVIGATE_GROUP, OBJECT_CONTRIBUTIONS_GROUP});
+ configuration.setProperty(ISynchronizePageConfiguration.P_TOOLBAR_MENU, new String[] {
+ ISynchronizePageConfiguration.SYNCHRONIZE_GROUP,
+ ISynchronizePageConfiguration.NAVIGATE_GROUP,
+ ISynchronizePageConfiguration.MODE_GROUP,
+ ACTION_GROUP});
configuration.addActionContribution(new WorkspaceParticipantActionContributions());
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant#validateConfiguration(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration)
- */
- protected void validateConfiguration(ISynchronizePageConfiguration configuration) {
- // TODO May need to ensure that certain menu groups are still there?
+ ((ISubscriberPageConfiguration)configuration).setSupportedModes(ISubscriberPageConfiguration.ALL_MODES);
}
} \ No newline at end of file
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/RefreshUserNotificationPolicy.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/RefreshUserNotificationPolicy.java
index 7f18f9459..d9f1a3f14 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/RefreshUserNotificationPolicy.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/RefreshUserNotificationPolicy.java
@@ -1,7 +1,6 @@
package org.eclipse.team.internal.ui.synchronize;
import java.util.*;
-
import org.eclipse.compare.CompareUI;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.*;
@@ -9,9 +8,11 @@ import org.eclipse.swt.widgets.Shell;
import org.eclipse.team.core.synchronize.SyncInfo;
import org.eclipse.team.internal.ui.*;
import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.*;
+import org.eclipse.team.ui.synchronize.ISynchronizeView;
+import org.eclipse.team.ui.synchronize.SyncInfoCompareInput;
import org.eclipse.team.ui.synchronize.subscribers.*;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.internal.WorkbenchPlugin;
import org.eclipse.ui.progress.UIJob;
/**
@@ -48,7 +49,7 @@ public class RefreshUserNotificationPolicy implements IRefreshSubscriberListener
*/
public Runnable refreshDone(final IRefreshEvent event) {
// Ensure that this event was generated for this participant
- if (event.getSubscriber() != participant.getSubscriber()) return;
+ if (event.getSubscriber() != participant.getSubscriber()) return null;
// If the event is for a cancelled operation, there's nothing to do
int severity = event.getStatus().getSeverity();
if(severity == Status.CANCEL || severity == Status.ERROR) return null;
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/subscribers/SubscriberActionContribution.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/subscribers/SubscriberActionContribution.java
index ccd1dcf33..a7459c1e4 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/subscribers/SubscriberActionContribution.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/subscribers/SubscriberActionContribution.java
@@ -60,7 +60,7 @@ public class SubscriberActionContribution implements IActionContribution {
public void run() {
IStructuredSelection selection = (IStructuredSelection)site.getSelectionProvider().getSelection();
IResource[] resources = Utils.getResources(selection.toArray());
- participant.refresh(resources, participant.getRefreshListeners().createSynchronizeViewListener(participant), Policy.bind("Participant.synchronizing"), site.getWorkbenchSite()); //$NON-NLS-1$
+ participant.refresh(resources, Policy.bind("Participant.synchronizing"), site.getWorkbenchSite()); //$NON-NLS-1$
}
};
Utils.initAction(refreshSelectionAction, "action.refreshWithRemote."); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/subscribers/SubscriberParticipant.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/subscribers/SubscriberParticipant.java
index a3476826b..d1fba96d7 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/subscribers/SubscriberParticipant.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/subscribers/SubscriberParticipant.java
@@ -115,7 +115,9 @@ public abstract class SubscriberParticipant extends AbstractSynchronizeParticipa
* a chance to validate those changes before the page is created.
* @param configuration the page configuration that is about to be used to create a page.
*/
- protected abstract void validateConfiguration(ISynchronizePageConfiguration configuration);
+ protected void validateConfiguration(ISynchronizePageConfiguration configuration) {
+ // Do nothing by default
+ }
/* (non-Javadoc)
* @see org.eclipse.team.ui.synchronize.ISynchronizeParticipant#createRefreshPage()

Back to the top