Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.egit.ui/plugin.xml5
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/factories/GitAdapterFactory.java19
2 files changed, 23 insertions, 1 deletions
diff --git a/org.eclipse.egit.ui/plugin.xml b/org.eclipse.egit.ui/plugin.xml
index 057c22c356..e4ecdaeeef 100644
--- a/org.eclipse.egit.ui/plugin.xml
+++ b/org.eclipse.egit.ui/plugin.xml
@@ -358,6 +358,11 @@
<adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
<adapter type="org.eclipse.core.resources.IResource"/>
</factory>
+ <factory
+ adaptableType="org.eclipse.egit.ui.internal.repository.tree.RepositoryNode"
+ class="org.eclipse.egit.ui.internal.factories.GitAdapterFactory">
+ <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
+ </factory>
</extension>
<extension point="org.eclipse.ui.preferencePages">
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/factories/GitAdapterFactory.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/factories/GitAdapterFactory.java
index ab39f4eb02..d85ba1068d 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/factories/GitAdapterFactory.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/factories/GitAdapterFactory.java
@@ -2,6 +2,7 @@
* Copyright (C) 2007, Robin Rosenberg <robin.rosenberg@dewire.com>
* Copyright (C) 2007, Shawn O. Pearce <spearce@spearce.org>
* Copyright (C) 2010, Dariusz Luksza <dariusz@luksza.org>
+ * Copyright (C) 2011, IBM Corporation
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -16,14 +17,18 @@ import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.resources.mapping.ResourceMapping;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.egit.ui.internal.history.GitHistoryPageSource;
+import org.eclipse.egit.ui.internal.repository.RepositoriesViewLabelProvider;
+import org.eclipse.egit.ui.internal.repository.tree.RepositoryNode;
import org.eclipse.egit.ui.internal.synchronize.mapping.GitModelWorkbenchAdapter;
import org.eclipse.egit.ui.internal.synchronize.mapping.GitObjectMapping;
import org.eclipse.egit.ui.internal.synchronize.model.GitModelBlob;
import org.eclipse.egit.ui.internal.synchronize.model.GitModelObject;
import org.eclipse.egit.ui.internal.synchronize.model.GitModelTree;
+import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.team.ui.history.IHistoryPageSource;
import org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter;
import org.eclipse.ui.model.IWorkbenchAdapter;
+import org.eclipse.ui.model.WorkbenchAdapter;
/**
* This class is an intelligent "cast" operation for getting
@@ -45,6 +50,9 @@ public class GitAdapterFactory implements IAdapterFactory {
}
if (IWorkbenchAdapter.class == adapterType) {
+ if (adaptableObject instanceof RepositoryNode)
+ return getRepsitoryNodeWorkbenchAdapter((RepositoryNode)adaptableObject);
+
if (gitModelWorkbenchAdapter == null)
gitModelWorkbenchAdapter = new GitModelWorkbenchAdapter();
return gitModelWorkbenchAdapter;
@@ -81,7 +89,16 @@ public class GitAdapterFactory implements IAdapterFactory {
public Class[] getAdapterList() {
return new Class[] { IHistoryPageSource.class,
ISynchronizationCompareAdapter.class, ResourceMapping.class,
- IResource.class };
+ IResource.class, IWorkbenchAdapter.class };
}
+ private static IWorkbenchAdapter getRepsitoryNodeWorkbenchAdapter(final RepositoryNode node) {
+ return new WorkbenchAdapter() {
+ @Override
+ public String getLabel(Object object) {
+ ILabelProvider labelProvider= new RepositoriesViewLabelProvider();
+ return labelProvider.getText(node);
+ }
+ };
+ }
}

Back to the top