summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2009-02-13 10:26:22 -0800
committerShawn O. Pearce <sop@google.com>2009-02-13 10:58:55 -0800
commit46a631be79d4e553ef3066eac7efb429df705027 (patch)
tree1c7ac06c45254b3e4ee78843201a386b2e63a30b
parent2b1f308a29d9e18ee621c93f3bd3d18381680f0c (diff)
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>
-rw-r--r--src/main/java/com/google/gerrit/client/patches/UnifiedDiffTable.java44
-rw-r--r--src/main/java/com/google/gerrit/public/Gerrit.css7
2 files changed, 40 insertions, 11 deletions
diff --git a/src/main/java/com/google/gerrit/client/patches/UnifiedDiffTable.java b/src/main/java/com/google/gerrit/client/patches/UnifiedDiffTable.java
index 57c1cefdcf..68d3bda509 100644
--- a/src/main/java/com/google/gerrit/client/patches/UnifiedDiffTable.java
+++ b/src/main/java/com/google/gerrit/client/patches/UnifiedDiffTable.java
@@ -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 + "\">&nbsp;</td>");
+
+ switch (line.getType()) {
+ case FILE_HEADER:
+ case HUNK_HEADER:
+ nc.append("<td class=\"LineNumber\">&nbsp;</td>");
+ nc.append("<td class=\"LineNumber\">&nbsp;</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("&nbsp;");
+ }
+ 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("&nbsp;");
+ }
+ nc.append("</td>");
+ break;
+ }
+
nc.append("<td class=\"DiffText DiffText-");
nc.append(line.getType().name());
nc.append("\">");
diff --git a/src/main/java/com/google/gerrit/public/Gerrit.css b/src/main/java/com/google/gerrit/public/Gerrit.css
index 649ad8dc8d..55e4a7c43a 100644
--- a/src/main/java/com/google/gerrit/public/Gerrit.css
+++ b/src/main/java/com/google/gerrit/public/Gerrit.css
@@ -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;
}