Display old and new image line numbers in the unified diff view
This can really help when debugging Gerrit, but it also gives the user a little better information about where the changes are in the file. Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
@@ -21,17 +21,19 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public class UnifiedDiffTable extends AbstractPatchContentTable {
|
||||
private static final int PC = 3;
|
||||
|
||||
@Override
|
||||
protected void onCellDoubleClick(final int row, final int column) {
|
||||
if (column == 1 && getRowItem(row) instanceof PatchLine) {
|
||||
if (getRowItem(row) instanceof PatchLine) {
|
||||
final PatchLine pl = (PatchLine) getRowItem(row);
|
||||
switch (pl.getType()) {
|
||||
case PRE_IMAGE:
|
||||
case CONTEXT:
|
||||
createCommentEditor(row + 1, column, pl.getOldLineNumber(), (short) 0);
|
||||
createCommentEditor(row + 1, PC, pl.getOldLineNumber(), (short) 0);
|
||||
break;
|
||||
case POST_IMAGE:
|
||||
createCommentEditor(row + 1, column, pl.getNewLineNumber(), (short) 1);
|
||||
createCommentEditor(row + 1, PC, pl.getNewLineNumber(), (short) 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -45,10 +47,10 @@ public class UnifiedDiffTable extends AbstractPatchContentTable {
|
||||
switch (pl.getType()) {
|
||||
case PRE_IMAGE:
|
||||
case CONTEXT:
|
||||
createCommentEditor(row + 1, 1, pl.getOldLineNumber(), (short) 0);
|
||||
createCommentEditor(row + 1, PC, pl.getOldLineNumber(), (short) 0);
|
||||
break;
|
||||
case POST_IMAGE:
|
||||
createCommentEditor(row + 1, 1, pl.getOldLineNumber(), (short) 1);
|
||||
createCommentEditor(row + 1, PC, pl.getOldLineNumber(), (short) 1);
|
||||
break;
|
||||
}
|
||||
return;
|
||||
@@ -72,7 +74,7 @@ public class UnifiedDiffTable extends AbstractPatchContentTable {
|
||||
}
|
||||
table.insertRow(row + 1);
|
||||
table.getCellFormatter().setStyleName(row + 1, 0, S_ICON_CELL);
|
||||
bindComment(row + 1, 1, c, true);
|
||||
bindComment(row + 1, PC, c, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +99,7 @@ public class UnifiedDiffTable extends AbstractPatchContentTable {
|
||||
final PatchLineComment c = ci.next();
|
||||
table.insertRow(row);
|
||||
table.getCellFormatter().setStyleName(row, 0, S_ICON_CELL);
|
||||
bindComment(row, 1, c, !ci.hasNext());
|
||||
bindComment(row, PC, c, !ci.hasNext());
|
||||
row++;
|
||||
}
|
||||
}
|
||||
@@ -108,6 +110,34 @@ public class UnifiedDiffTable extends AbstractPatchContentTable {
|
||||
nc.append("<tr>");
|
||||
nc.append("<td class=\"" + S_ICON_CELL + "\"> </td>");
|
||||
|
||||
|
||||
switch (line.getType()) {
|
||||
case FILE_HEADER:
|
||||
case HUNK_HEADER:
|
||||
nc.append("<td class=\"LineNumber\"> </td>");
|
||||
nc.append("<td class=\"LineNumber\"> </td>");
|
||||
break;
|
||||
default:
|
||||
nc.append("<td class=\"LineNumber\">");
|
||||
if (line.getOldLineNumber() != 0
|
||||
&& (line.getType() == PatchLine.Type.CONTEXT || line.getType() == PatchLine.Type.PRE_IMAGE)) {
|
||||
nc.append(line.getOldLineNumber());
|
||||
} else {
|
||||
nc.append(" ");
|
||||
}
|
||||
nc.append("</td>");
|
||||
|
||||
nc.append("<td class=\"LineNumber\">");
|
||||
if (line.getNewLineNumber() != 0
|
||||
&& (line.getType() == PatchLine.Type.CONTEXT || line.getType() == PatchLine.Type.POST_IMAGE)) {
|
||||
nc.append(line.getNewLineNumber());
|
||||
} else {
|
||||
nc.append(" ");
|
||||
}
|
||||
nc.append("</td>");
|
||||
break;
|
||||
}
|
||||
|
||||
nc.append("<td class=\"DiffText DiffText-");
|
||||
nc.append(line.getType().name());
|
||||
nc.append("\">");
|
||||
|
||||
@@ -335,6 +335,7 @@
|
||||
|
||||
.gerrit-PatchContentTable .DiffText {
|
||||
white-space: pre;
|
||||
padding-left: 0.2em;
|
||||
}
|
||||
|
||||
.gerrit-PatchContentTable .DiffText-FILE_HEADER {
|
||||
@@ -440,12 +441,10 @@
|
||||
.gerrit-PatchContentTable .ActiveRow {
|
||||
background: #ffffcc;
|
||||
}
|
||||
.gerrit-PatchContentTable .ActiveRow td.Comment {
|
||||
background: #ffffff;
|
||||
}
|
||||
.gerrit-PatchContentTable .ActiveRow td.IconCell,
|
||||
.gerrit-PatchContentTable .ActiveRow td.LineNumber,
|
||||
.gerrit-PatchContentTable .ActiveRow td.FileLine {
|
||||
.gerrit-PatchContentTable .ActiveRow td.FileLine,
|
||||
.gerrit-PatchContentTable .ActiveRow td.DiffText {
|
||||
border-top: 1px solid blue;
|
||||
border-bottom: 1px solid blue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user