Highlight patch sets that have drafts

On the change screen, if a patch set has a draft comment, its header will
be highlighted.

Bug: Issue 667
Change-Id: I537db90a940c9df7c4b7c28974adac5b29c8abf4
This commit is contained in:
Jan Opacki
2013-04-14 23:44:26 +02:00
parent 72b714137b
commit ca421aee69
5 changed files with 27 additions and 0 deletions

View File

@@ -176,6 +176,7 @@ public interface GerritCss extends CssResource {
String patchSetLink();
String patchSetRevision();
String patchSetUserIdentity();
String patchSetWithDraft();
String patchSizeCell();
String pluginsTable();
String posscore();

View File

@@ -110,6 +110,11 @@ class PatchSetComplexDisclosurePanel extends ComplexDisclosurePanel
} else {
addOpenHandler(this);
}
if(ps.getHasDraftComments()) {
addStyleName(Gerrit.RESOURCES.css().patchSetWithDraft());
}
}
public void setDiffBaseId(PatchSet.Id diffBaseId) {

View File

@@ -872,6 +872,10 @@ a:hover {
font-size: 8pt;
}
.patchSetWithDraft .header td {
color: #ff5555;
}
.changeScreen .gwt-DisclosurePanel .content {
margin-bottom: 10px;
}

View File

@@ -178,6 +178,12 @@ public class ChangeDetailFactory extends Handler<ChangeDetail> {
ResultSet<PatchSet> source = db.patchSets().byChange(changeId);
List<PatchSet> patches = new ArrayList<PatchSet>();
for (PatchSet ps : source) {
final CurrentUser user = control.getCurrentUser();
if (user instanceof IdentifiedUser) {
final Account.Id me = ((IdentifiedUser) user).getAccountId();
ps.setHasDraftComments(db.patchComments()
.draftByPatchSetAuthor(ps.getId(), me).toList().size() > 0);
}
if (control.isPatchVisible(ps, db)) {
patches.add(ps);
}

View File

@@ -136,6 +136,9 @@ public final class PatchSet {
@Column(id = 5)
protected boolean draft;
/** Not persisted in the database */
protected boolean hasDraftComments;
protected PatchSet() {
}
@@ -187,6 +190,14 @@ public final class PatchSet {
return id.toRefName();
}
public boolean getHasDraftComments() {
return hasDraftComments;
}
public void setHasDraftComments(boolean hasDraftComments) {
this.hasDraftComments = hasDraftComments;
}
@Override
public String toString() {
return "[PatchSet " + getId().toString() + "]";