diff options
author | Shawn O. Pearce <sop@google.com> | 2009-02-13 10:26:22 -0800 |
---|---|---|
committer | Shawn O. Pearce <sop@google.com> | 2009-02-13 10:58:55 -0800 |
commit | 46a631be79d4e553ef3066eac7efb429df705027 (patch) | |
tree | 1c7ac06c45254b3e4ee78843201a386b2e63a30b | |
parent | 2b1f308a29d9e18ee621c93f3bd3d18381680f0c (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.java | 44 | ||||
-rw-r--r-- | src/main/java/com/google/gerrit/public/Gerrit.css | 7 |
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 + "\"> </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("\">"); 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; } |