Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 171099
Collapse All | Expand All

(-)ui/org/eclipse/jdt/internal/ui/model/JavaSynchronizationLabelProvider.java (-1 / +34 lines)
Lines 10-22 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.jdt.internal.ui.model;
11
package org.eclipse.jdt.internal.ui.model;
12
12
13
import org.eclipse.core.resources.IFolder;
14
import org.eclipse.core.resources.IProject;
13
import org.eclipse.core.resources.IResource;
15
import org.eclipse.core.resources.IResource;
14
import org.eclipse.core.resources.ResourcesPlugin;
16
import org.eclipse.core.resources.ResourcesPlugin;
15
17
18
import org.eclipse.swt.graphics.Font;
16
import org.eclipse.swt.graphics.Image;
19
import org.eclipse.swt.graphics.Image;
17
20
18
import org.eclipse.jface.viewers.DecoratingLabelProvider;
21
import org.eclipse.jface.viewers.DecoratingLabelProvider;
19
import org.eclipse.jface.viewers.ILabelProvider;
22
import org.eclipse.jface.viewers.ILabelProvider;
23
import org.eclipse.jface.viewers.ITreePathLabelProvider;
24
import org.eclipse.jface.viewers.TreePath;
25
import org.eclipse.jface.viewers.ViewerLabel;
20
26
21
import org.eclipse.team.core.diff.IDiff;
27
import org.eclipse.team.core.diff.IDiff;
22
import org.eclipse.team.core.diff.IDiffTree;
28
import org.eclipse.team.core.diff.IDiffTree;
Lines 36-42 Link Here
36
 * 
42
 * 
37
 * @since 3.2
43
 * @since 3.2
38
 */
44
 */
39
public final class JavaSynchronizationLabelProvider extends AbstractSynchronizationLabelProvider {
45
public final class JavaSynchronizationLabelProvider extends AbstractSynchronizationLabelProvider implements ITreePathLabelProvider{
40
46
41
	/** The delegate label provider, or <code>null</code> */
47
	/** The delegate label provider, or <code>null</code> */
42
	private ILabelProvider fLabelProvider= null;
48
	private ILabelProvider fLabelProvider= null;
Lines 142-145 Link Here
142
	protected boolean isIncludeOverlays() {
148
	protected boolean isIncludeOverlays() {
143
		return true;
149
		return true;
144
	}
150
	}
151
152
	/* (non-Javadoc)
153
	 * @see org.eclipse.jface.viewers.ITreePathLabelProvider#updateLabel(org.eclipse.jface.viewers.ViewerLabel, org.eclipse.jface.viewers.TreePath)
154
	 */
155
	public void updateLabel(ViewerLabel label, TreePath elementPath) {
156
		Object firstSegment = elementPath.getFirstSegment();
157
		if (firstSegment instanceof IProject && elementPath.getSegmentCount() == 2) {
158
			IProject project = (IProject) firstSegment;
159
			Object lastSegment = elementPath.getLastSegment();
160
			if (lastSegment instanceof IFolder) {
161
				IFolder folder = (IFolder) lastSegment;
162
				if (!folder.getParent().equals(project)) {
163
					// This means that a folder that is not a direct child of the project
164
					// is a child in the tree. Therefore, the resource content provider
165
					// must be active and in compress folder mode so we will leave
166
					// it to the resource provider to provide the proper label.
167
					// We need to do this because of bug 153912
168
					return;
169
				}
170
			}
171
		}
172
		label.setImage(getImage(elementPath));
173
		label.setText(getText(elementPath));
174
		Font f = getFont(elementPath);
175
		if (f != null)
176
			label.setFont(f);
177
	}
145
}
178
}

Return to bug 171099