From 66ad65e7ea1308f74f35bedfda48b0463a42bd6d Mon Sep 17 00:00:00 2001 From: Michael Zhou Date: Wed, 17 Jul 2013 22:25:09 -0700 Subject: [PATCH] Fix expandAfter(), add workaround for first lines Previously the method was missing the "replacedWith" workaround for first lines. Added a LoadHandler to make the table cell containing the avatar visible only when the avatar is loaded. Change-Id: Ie0c69e1e70f3e1c5f0b4347e003ba68263140a0a --- .../gerrit/client/diff/CommentBoxHeader.java | 12 +++++++++--- .../com/google/gerrit/client/diff/SkipBar.java | 16 +++++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/CommentBoxHeader.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/CommentBoxHeader.java index 70a1612ee8..f29aa80483 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/CommentBoxHeader.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/CommentBoxHeader.java @@ -23,6 +23,8 @@ import com.google.gwt.dom.client.Element; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.HasClickHandlers; +import com.google.gwt.event.dom.client.LoadEvent; +import com.google.gwt.event.dom.client.LoadHandler; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.resources.client.CssResource; import com.google.gwt.uibinder.client.UiBinder; @@ -76,9 +78,13 @@ class CommentBoxHeader extends Composite implements HasClickHandlers { avatar = new AvatarImage(); } initWidget(uiBinder.createAndBindUi(this)); - if (author == null) { - UIObject.setVisible(avatarCell, false); - } + UIObject.setVisible(avatarCell, false); + avatar.addLoadHandler(new LoadHandler() { + @Override + public void onLoad(LoadEvent event) { + UIObject.setVisible(avatarCell, true); + } + }); draft = isDraft; if (when != null) { setDate(when); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SkipBar.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SkipBar.java index 9274402363..f4f210a0ea 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SkipBar.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SkipBar.java @@ -153,12 +153,22 @@ class SkipBar extends Composite { private void expandAfter() { FromTo fromTo = marker.find(); + int start = fromTo.getFrom().getLine(); int oldEnd = fromTo.getTo().getLine(); int newEnd = oldEnd - NUM_ROWS_TO_EXPAND; marker.clear(); - marker = cm.markText(CodeMirror.pos(fromTo.getFrom().getLine()), - CodeMirror.pos(newEnd), - COLLAPSED); + if (widget == null) { // First line workaround + marker = cm.markText(CodeMirror.pos(-1), + CodeMirror.pos(newEnd), + Configuration.create() + .set("inclusiveLeft", true) + .set("inclusiveRight", true) + .set("replacedWith", getElement())); + } else { + marker = cm.markText(CodeMirror.pos(start), + CodeMirror.pos(newEnd), + COLLAPSED); + } updateSkipNum(); cm.focus(); }