summaryrefslogtreecommitdiffstats
path: root/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/PatchLink.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/PatchLink.java')
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/PatchLink.java61
1 files changed, 45 insertions, 16 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/PatchLink.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/PatchLink.java
index 9979edf659..f79dc510db 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/PatchLink.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/PatchLink.java
@@ -16,60 +16,89 @@ package com.google.gerrit.client.ui;
import com.google.gerrit.client.Dispatcher;
import com.google.gerrit.client.changes.PatchTable;
+import com.google.gerrit.client.patches.PatchScreen;
import com.google.gerrit.common.data.PatchSetDetail;
-import com.google.gerrit.reviewdb.Patch;
+import com.google.gerrit.reviewdb.client.Patch;
+import com.google.gerrit.reviewdb.client.PatchSet;
-public abstract class PatchLink extends InlineHyperlink {
+public class PatchLink extends InlineHyperlink {
+ protected PatchSet.Id base;
protected Patch.Key patchKey;
protected int patchIndex;
protected PatchSetDetail patchSetDetail;
protected PatchTable parentPatchTable;
+ protected PatchScreen.TopView topView;
/**
* @param text The text of this link
+ * @param base optional base to compare against.
* @param patchKey The key for this patch
* @param patchIndex The index of the current patch in the patch set
* @param historyToken The history token
- * @parma patchSetDetail Detailed information about the patch set.
+ * @param patchSetDetail Detailed information about the patch set.
* @param parentPatchTable The table used to display this link
*/
- public PatchLink(final String text, final Patch.Key patchKey,
- final int patchIndex, final String historyToken,
- final PatchSetDetail patchSetDetail,
- final PatchTable parentPatchTable) {
+ protected PatchLink(String text, PatchSet.Id base, Patch.Key patchKey,
+ int patchIndex, String historyToken,
+ PatchSetDetail patchSetDetail, PatchTable parentPatchTable,
+ PatchScreen.TopView topView) {
super(text, historyToken);
+ this.base = base;
this.patchKey = patchKey;
this.patchIndex = patchIndex;
this.patchSetDetail = patchSetDetail;
this.parentPatchTable = parentPatchTable;
+ this.parentPatchTable = parentPatchTable;
+ this.topView = topView;
+ }
+
+ /**
+ * @param text The text of this link
+ * @param type The type of the link to create (unified/side-by-side)
+ * @param patchScreen The patchScreen to grab contents to link to from
+ */
+ public PatchLink(String text, PatchScreen.Type type, PatchScreen patchScreen) {
+ this(text, //
+ patchScreen.getSideA(), //
+ patchScreen.getPatchKey(), //
+ patchScreen.getPatchIndex(), //
+ Dispatcher.toPatch(type, patchScreen.getPatchKey()), //
+ patchScreen.getPatchSetDetail(), //
+ patchScreen.getFileList(), //
+ patchScreen.getTopView() //
+ );
}
@Override
public void go() {
Dispatcher.patch( //
getTargetHistoryToken(), //
+ base, //
patchKey, //
patchIndex, //
patchSetDetail, //
- parentPatchTable //
+ parentPatchTable,
+ topView //
);
}
public static class SideBySide extends PatchLink {
- public SideBySide(final String text, final Patch.Key patchKey,
- final int patchIndex, PatchSetDetail patchSetDetail,
+ public SideBySide(String text, PatchSet.Id base, Patch.Key patchKey,
+ int patchIndex, PatchSetDetail patchSetDetail,
PatchTable parentPatchTable) {
- super(text, patchKey, patchIndex, Dispatcher.toPatchSideBySide(patchKey),
- patchSetDetail, parentPatchTable);
+ super(text, base, patchKey, patchIndex,
+ Dispatcher.toPatchSideBySide(base, patchKey),
+ patchSetDetail, parentPatchTable, null);
}
}
public static class Unified extends PatchLink {
- public Unified(final String text, final Patch.Key patchKey,
- final int patchIndex, PatchSetDetail patchSetDetail,
+ public Unified(String text, PatchSet.Id base, final Patch.Key patchKey,
+ int patchIndex, PatchSetDetail patchSetDetail,
PatchTable parentPatchTable) {
- super(text, patchKey, patchIndex, Dispatcher.toPatchUnified(patchKey),
- patchSetDetail, parentPatchTable);
+ super(text, base, patchKey, patchIndex,
+ Dispatcher.toPatchUnified(base, patchKey),
+ patchSetDetail, parentPatchTable, null);
}
}
}