Add option to set default visibility of change comments

Change-Id: I6d6b8152d40c828ddead39954f2170c0cd83a1ea
This commit is contained in:
Christian Aistleitner
2013-04-02 17:45:47 +02:00
parent 9c6588070c
commit a3cf7138cb
9 changed files with 110 additions and 3 deletions

View File

@@ -28,6 +28,7 @@ import com.google.gerrit.client.ui.Screen;
import com.google.gerrit.common.data.AccountInfoCache;
import com.google.gerrit.common.data.ChangeDetail;
import com.google.gerrit.common.data.ChangeInfo;
import com.google.gerrit.reviewdb.client.AccountGeneralPreferences.CommentVisibilityStrategy;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.Change.Status;
import com.google.gerrit.reviewdb.client.ChangeMessage;
@@ -385,6 +386,13 @@ public class ChangeScreen extends Screen
final long AGE = 7 * 24 * 60 * 60 * 1000L;
final Timestamp aged = new Timestamp(System.currentTimeMillis() - AGE);
CommentVisibilityStrategy commentVisibilityStrategy =
CommentVisibilityStrategy.EXPAND_MOST_RECENT;
if (Gerrit.isSignedIn()) {
commentVisibilityStrategy = Gerrit.getUserAccount()
.getGeneralPreferences().getCommentVisibilityStrategy();
}
for (int i = 0; i < msgList.size(); i++) {
final ChangeMessage msg = msgList.get(i);
@@ -409,8 +417,23 @@ public class ChangeScreen extends Screen
cp.addStyleName(Gerrit.RESOURCES.css().commentPanelBorder());
if (i == msgList.size() - 1) {
cp.addStyleName(Gerrit.RESOURCES.css().commentPanelLast());
cp.setOpen(true);
}
boolean isOpen = false;
switch (commentVisibilityStrategy) {
case COLLAPSE_ALL:
break;
case EXPAND_RECENT:
isOpen = isRecent;
break;
case EXPAND_ALL:
isOpen = true;
break;
case EXPAND_MOST_RECENT:
default:
isOpen = i == msgList.size() - 1;
break;
}
cp.setOpen(isOpen);
comments.add(cp);
}