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/sync/CVSCatchupReleaseViewer.java')
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/sync/CVSCatchupReleaseViewer.java48
1 files changed, 27 insertions, 21 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/sync/CVSCatchupReleaseViewer.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/sync/CVSCatchupReleaseViewer.java
index c42e9a164..b7e178ace 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/sync/CVSCatchupReleaseViewer.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/sync/CVSCatchupReleaseViewer.java
@@ -41,8 +41,8 @@ import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
import org.eclipse.team.internal.ccvs.ui.HistoryView;
import org.eclipse.team.internal.ccvs.ui.ICVSUIConstants;
-import org.eclipse.team.internal.ccvs.ui.OverlayIcon;
-import org.eclipse.team.internal.ccvs.ui.OverlayIconCache;
+import org.eclipse.team.internal.ccvs.ui.OverlayIcon;
+import org.eclipse.team.internal.ccvs.ui.OverlayIconCache;
import org.eclipse.team.internal.ccvs.ui.Policy;
import org.eclipse.team.internal.ccvs.ui.merge.OverrideUpdateMergeAction;
import org.eclipse.team.internal.ccvs.ui.merge.UpdateMergeAction;
@@ -65,20 +65,20 @@ public class CVSCatchupReleaseViewer extends CatchupReleaseViewer {
private HistoryAction showInHistory;
private OverrideUpdateMergeAction forceUpdateMergeAction;
- private static class DiffOverlayIcon extends OverlayIcon {
- private static final int HEIGHT = 16;
- private static final int WIDTH = 22;
- public DiffOverlayIcon(Image baseImage, ImageDescriptor overlay) {
- super(baseImage, new ImageDescriptor[] { overlay }, new Point(WIDTH, HEIGHT));
+ private static class DiffOverlayIcon extends OverlayIcon {
+ private static final int HEIGHT = 16;
+ private static final int WIDTH = 22;
+ public DiffOverlayIcon(Image baseImage, ImageDescriptor overlay) {
+ super(baseImage, new ImageDescriptor[] { overlay }, new Point(WIDTH, HEIGHT));
}
- protected void drawOverlays(ImageDescriptor[] overlays) {
- ImageDescriptor overlay = overlays[0];
+ protected void drawOverlays(ImageDescriptor[] overlays) {
+ ImageDescriptor overlay = overlays[0];
ImageData overlayData = overlay.getImageData();
drawImage(overlayData, WIDTH - overlayData.width, (HEIGHT - overlayData.height) / 2);
}
}
-
- private static class HistoryAction extends Action implements ISelectionChangedListener {
+
+ private static class HistoryAction extends Action implements ISelectionChangedListener {
IStructuredSelection selection;
public HistoryAction(String label) {
super(label);
@@ -98,10 +98,16 @@ public class CVSCatchupReleaseViewer extends CatchupReleaseViewer {
ICVSRemoteFile baseFile = (ICVSRemoteFile)remoteSyncElement.getBase();
// can only show history if remote exists or local has a base.
+ String currentRevision = null;
+ try {
+ currentRevision = baseFile!=null ? baseFile.getRevision(): null;
+ } catch(TeamException e) {
+ CVSUIPlugin.log(e.getStatus());
+ }
if(remoteFile!=null) {
- view.showHistory(remoteFile);
+ view.showHistory(remoteFile, currentRevision);
} else if(baseFile!=null) {
- view.showHistory(baseFile);
+ view.showHistory(baseFile, currentRevision);
}
}
public void selectionChanged(SelectionChangedEvent event) {
@@ -143,19 +149,19 @@ public class CVSCatchupReleaseViewer extends CatchupReleaseViewer {
final ImageDescriptor questionableDescriptor = CVSUIPlugin.getPlugin().getImageDescriptor(ICVSUIConstants.IMG_QUESTIONABLE);
final LabelProvider oldProvider = (LabelProvider)getLabelProvider();
setLabelProvider(new LabelProvider() {
- private OverlayIconCache iconCache = new OverlayIconCache();
-
- public void dispose() {
- iconCache.disposeAll();
- oldProvider.dispose();
- }
+ private OverlayIconCache iconCache = new OverlayIconCache();
+
+ public void dispose() {
+ iconCache.disposeAll();
+ oldProvider.dispose();
+ }
public Image getImage(Object element) {
Image image = oldProvider.getImage(element);
if (element instanceof ITeamNode) {
ITeamNode node = (ITeamNode)element;
int kind = node.getKind();
if ((kind & IRemoteSyncElement.AUTOMERGE_CONFLICT) != 0) {
- return iconCache.getImageFor(new DiffOverlayIcon(image, conflictDescriptor));
+ return iconCache.getImageFor(new DiffOverlayIcon(image, conflictDescriptor));
}
if (kind == (IRemoteSyncElement.OUTGOING | IRemoteSyncElement.ADDITION)) {
IResource resource = node.getResource();
@@ -163,7 +169,7 @@ public class CVSCatchupReleaseViewer extends CatchupReleaseViewer {
try {
ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor((IFile) resource);
if (cvsFile.getSyncInfo() == null) {
- return iconCache.getImageFor(new DiffOverlayIcon(image, questionableDescriptor));
+ return iconCache.getImageFor(new DiffOverlayIcon(image, questionableDescriptor));
}
} catch (TeamException e) {
ErrorDialog.openError(getControl().getShell(), null, null, e.getStatus());

Back to the top