Signed-off-by: Tor Arne Vestbø <torarnv@xxxxxxxxx> --- .../src/org/spearce/egit/ui/Activator.java | 52 ++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/Activator.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/Activator.java index fced643..534c408 100644 --- a/org.spearce.egit.ui/src/org/spearce/egit/ui/Activator.java +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/Activator.java @@ -10,9 +10,11 @@ import java.net.Authenticator; import java.net.ProxySelector; +import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; +import java.util.List; import java.util.Set; import org.eclipse.core.net.proxy.IProxyService; @@ -27,6 +29,8 @@ import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.core.runtime.jobs.ISchedulingRule; import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jsch.core.IJSchService; import org.eclipse.swt.graphics.Font; import org.eclipse.ui.plugin.AbstractUIPlugin; @@ -44,9 +48,24 @@ * This is a plugin singleton mostly controlling logging. */ public class Activator extends AbstractUIPlugin { + + /** + * The one and only instance + */ private static Activator plugin; /** + * Property listeners for plugin specific events + */ + private static List<IPropertyChangeListener> propertyChangeListeners = + new ArrayList<IPropertyChangeListener>(5); + + /** + * Property constant indicating the decorator configuration has changed. + */ + public static final String DECORATORS_CHANGED = "org.spearce.egit.ui.DECORATORS_CHANGED"; //$NON-NLS-1$ + + /** * @return the {@link Activator} singleton. */ public static Activator getDefault() { @@ -167,6 +186,39 @@ private void setupRepoIndexRefresh() { Repository.addAnyRepositoryChangedListener(refreshJob); } + /** + * Register for changes made to Team properties. + * + * @param listener + * The listener to register + */ + public static synchronized void addPropertyChangeListener( + IPropertyChangeListener listener) { + propertyChangeListeners.add(listener); + } + + /** + * Remove a Team property changes. + * + * @param listener + * The listener to remove + */ + public static synchronized void removePropertyChangeListener( + IPropertyChangeListener listener) { + propertyChangeListeners.remove(listener); + } + + /** + * Broadcast a Team property change. + * + * @param event + * The event to broadcast + */ + public static synchronized void broadcastPropertyChange(PropertyChangeEvent event) { + for (IPropertyChangeListener listener : propertyChangeListeners) + listener.propertyChange(event); + } + static class RIRefresh extends Job implements RepositoryListener { RIRefresh() { -- 1.6.1.2.309.g2ea3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html