Open per-file diff browser window/tab for each file.

Some Gerrit users find it convenient to open every file
in a separate per-file diff browser window or tab. This
should reduce a possibility to forget to review some
file(s).

Bug: issue 395
Signed-off-by: Sasa Zivkov <sasa.zivkov@sap.com>
Change-Id: Ie4138df0080fc92b7a451426f5dc1176283a6f55
This commit is contained in:
Sasa Zivkov
2010-07-12 08:50:59 +02:00
committed by Shawn O. Pearce
parent 3f9c9f928f
commit 43b13c1ae0
3 changed files with 36 additions and 0 deletions

View File

@@ -112,4 +112,7 @@ public interface ChangeConstants extends Constants {
String reviewed();
String submitFailed();
String buttonClose();
String buttonDiffAllSideBySide();
String buttonDiffAllUnified();
}

View File

@@ -93,3 +93,6 @@ nextPatchLinkIcon = &#x21e8;
reviewed = Reviewed
submitFailed = Submit Failed
buttonClose = Close
buttonDiffAllSideBySide = Diff All Side-by-Side
buttonDiffAllUnified = Diff All Unified

View File

@@ -18,6 +18,9 @@ import com.google.gerrit.client.FormatUtil;
import com.google.gerrit.client.Gerrit;
import com.google.gerrit.client.rpc.GerritCallback;
import com.google.gerrit.client.ui.AccountDashboardLink;
import com.google.gerrit.client.ui.PatchLink;
import com.google.gerrit.client.ui.PatchLink.SideBySide;
import com.google.gerrit.client.ui.PatchLink.Unified;
import com.google.gerrit.common.data.ChangeDetail;
import com.google.gerrit.common.data.PatchSetDetail;
import com.google.gerrit.reviewdb.Account;
@@ -26,6 +29,7 @@ import com.google.gerrit.reviewdb.ApprovalCategory;
import com.google.gerrit.reviewdb.Branch;
import com.google.gerrit.reviewdb.Change;
import com.google.gerrit.reviewdb.ChangeMessage;
import com.google.gerrit.reviewdb.Patch;
import com.google.gerrit.reviewdb.PatchSet;
import com.google.gerrit.reviewdb.PatchSetInfo;
import com.google.gerrit.reviewdb.Project;
@@ -364,6 +368,32 @@ class PatchSetPanel extends Composite implements OpenHandler<DisclosurePanel> {
});
actionsPanel.add(b);
}
final Button diffAllSideBySide = new Button(Util.C.buttonDiffAllSideBySide());
diffAllSideBySide.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
for (Patch p : detail.getPatches()) {
SideBySide link = new PatchLink.SideBySide(p.getFileName(), p.getKey(), 0, null);
Window.open(link.getElement().toString(), p.getFileName(), null);
}
}
});
actionsPanel.add(diffAllSideBySide);
final Button diffAllUnified = new Button(Util.C.buttonDiffAllUnified());
diffAllUnified.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
for (Patch p : detail.getPatches()) {
Unified link = new PatchLink.Unified(p.getFileName(), p.getKey(), 0, null);
Window.open(link.getElement().toString(), p.getFileName(), null);
}
}
});
actionsPanel.add(diffAllUnified);
}
private void populateReviewAction() {