Improve the way inline comments are shown
We now use a bit prettier formatting, essentially emulating
the look-and-feel of Google's internal Mondrian product.
Change-Id: Ia912359a4baee50c1b5988d16d1aa4fd1f55c8e6
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritCss.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritCss.java
index e0f439b..24302c0 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritCss.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritCss.java
@@ -54,6 +54,7 @@
String commentEditorPanel();
String commentHolder();
String commentPanel();
+ String commentPanelBorder();
String commentPanelAuthorCell();
String commentPanelButtons();
String commentPanelContent();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java
index 072b98b..9288788 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java
@@ -321,6 +321,7 @@
final CommentPanel cp =
new CommentPanel(author, msg.getWrittenOn(), msg.getMessage());
cp.setRecent(isRecent);
+ cp.addStyleName(Gerrit.RESOURCES.css().commentPanelBorder());
if (i == msgList.size() - 1) {
cp.addStyleName(Gerrit.RESOURCES.css().commentPanelLast());
cp.setOpen(true);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/gerrit.css b/gerrit-gwtui/src/main/java/com/google/gerrit/client/gerrit.css
index 4f482dc..061ae25 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/gerrit.css
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/gerrit.css
@@ -99,36 +99,36 @@
/** CommentPanel **/
-.commentPanel {
+.commentPanelBorder {
border-top: 1px solid lightgray;
border-left: 1px solid lightgray;
border-right: 1px solid lightgray;
}
-.commentPanelLast {
+.commentPanelBorder.commentPanelLast {
border-bottom: 1px solid lightgray;
}
@if user.agent safari {
- .commentPanel {
+ .commentPanelBorder {
\-webkit-border-top-left-radius: 8px;
\-webkit-border-top-right-radius: 8px;
\-webkit-border-bottom-left-radius: 0px;
\-webkit-border-bottom-right-radius: 0px;
}
- .commentPanelLast {
+ .commentPanelBorder.commentPanelLast {
\-webkit-border-bottom-left-radius: 8px;
\-webkit-border-bottom-right-radius: 8px;
}
}
@if user.agent gecko1_8 {
- .commentPanel {
+ .commentPanelBorder {
\-moz-border-radius-topleft: 8px;
\-moz-border-radius-topright: 8px;
\-moz-border-radius-bottomleft: 0;
\-moz-border-radius-bottomright: 0;
}
- .commentPanelLast {
+ .commentPanelBorder.commentPanelLast {
\-moz-border-radius-bottomleft: 8px;
\-moz-border-radius-bottomright: 8px;
}
@@ -555,9 +555,21 @@
color: #006000;
}
-.patchContentTable tr.commentHolder .diffText {
- background: #F2F4F7;
- white-space: normal;
+.patchContentTable tr.commentHolder {
+ background: #E5ECF9;
+}
+.patchContentTable tr.commentHolder .iconCell {
+ background: white;
+}
+.patchContentTable td.commentHolder {
+ padding-left: 0;
+ padding-right: 0;
+ border-top: 1px solid black;
+ border-left: 1px solid black;
+ border-right: 1px solid black;
+}
+.patchContentTable td.commentHolder.commentPanelLast {
+ border-bottom: 1px solid black;
}
.patchContentTable .commentPanel {
font-family: norm-font;
@@ -565,6 +577,15 @@
.patchContentTable .commentPanel td {
font-family: norm-font;
}
+.patchContentTable .commentPanelMessage {
+ padding-left: 1px;
+ padding-right: 1px;
+ white-space: normal;
+}
+.patchContentTable .commentPanelButtons,
+.patchContentTable .commentPanel textarea {
+ margin-left: 1px;
+}
.lineNumber {
padding-left: 0.2em;
@@ -645,7 +666,8 @@
.patchContentTable .activeRow .diffText,
.patchContentTable .activeRow .wdc,
.patchContentTable .activeRow .wdd,
-.patchContentTable .activeRow .wdi {
+.patchContentTable .activeRow .wdi,
+.patchContentTable .activeRow td.commentHolder.commentPanelLast {
border-bottom: 1px solid blue;
}
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/AbstractPatchContentTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/AbstractPatchContentTable.java
index 07bf17e..22a64fb 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/AbstractPatchContentTable.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/AbstractPatchContentTable.java
@@ -119,6 +119,12 @@
}
p = p.getParent();
}
+
+ if (Gerrit.RESOURCES.css().commentHolder().equals(
+ table.getCellFormatter().getStyleName(row - 1, cell))) {
+ table.getCellFormatter().addStyleName(row - 1, cell,
+ Gerrit.RESOURCES.css().commentPanelLast());
+ }
return;
}
}
@@ -411,6 +417,7 @@
styleCommentRow(row);
}
table.setWidget(row, column, ed);
+ styleLastCommentCell(row, column);
int span = 1;
for (int r = row + 1; r < table.getRowCount(); r++) {
@@ -449,7 +456,8 @@
protected void insertRow(final int row) {
table.insertRow(row);
- table.getCellFormatter().setStyleName(row, 0, Gerrit.RESOURCES.css().iconCell());
+ table.getCellFormatter().setStyleName(row, 0,
+ Gerrit.RESOURCES.css().iconCell());
}
@Override
@@ -506,12 +514,14 @@
if (line.getStatus() == PatchLineComment.Status.DRAFT) {
final CommentEditorPanel plc = new CommentEditorPanel(line);
table.setWidget(row, col, plc);
+ styleLastCommentCell(row, col);
} else {
final AccountInfo author = accountCache.get(line.getAuthor());
final PublishedCommentPanel panel =
new PublishedCommentPanel(author, line);
table.setWidget(row, col, panel);
+ styleLastCommentCell(row, col);
CommentList l = (CommentList) getRowItem(row);
if (l == null) {
@@ -528,7 +538,16 @@
private void styleCommentRow(final int row) {
final CellFormatter fmt = table.getCellFormatter();
final Element iconCell = fmt.getElement(row, 0);
- UIObject.setStyleName(DOM.getParent(iconCell), Gerrit.RESOURCES.css().commentHolder(), true);
+ UIObject.setStyleName(DOM.getParent(iconCell), Gerrit.RESOURCES.css()
+ .commentHolder(), true);
+ }
+
+ private void styleLastCommentCell(final int row, final int col) {
+ final CellFormatter fmt = table.getCellFormatter();
+ fmt.removeStyleName(row - 1, col, //
+ Gerrit.RESOURCES.css().commentPanelLast());
+ fmt.setStyleName(row, col, Gerrit.RESOURCES.css().commentHolder());
+ fmt.addStyleName(row, col, Gerrit.RESOURCES.css().commentPanelLast());
}
protected static class CommentList {