|
43 | 43 |
|
44 | 44 | import com.junichi11.netbeans.modules.github.issues.GitHubIssueState; |
45 | 45 | import com.junichi11.netbeans.modules.github.issues.repository.GitHubRepository; |
| 46 | +import com.junichi11.netbeans.modules.github.issues.utils.DateUtils; |
46 | 47 | import com.junichi11.netbeans.modules.github.issues.utils.UiUtils; |
47 | 48 | import java.beans.PropertyChangeListener; |
48 | 49 | import java.beans.PropertyChangeSupport; |
@@ -119,11 +120,50 @@ public String getDisplayName() { |
119 | 120 | if (isNew()) { |
120 | 121 | return Bundle.GitHubIssue_new_issue_displayName(); |
121 | 122 | } |
122 | | - return String.format("%s - %s", issue.getNumber(), issue.getTitle()); |
| 123 | + return String.format("%s - %s", issue.getNumber(), issue.getTitle()); // NOI18N |
123 | 124 | } |
124 | 125 |
|
| 126 | + @NbBundle.Messages({ |
| 127 | + "GitHubIssue.LBL.assignee=Assignee", |
| 128 | + "GitHubIssue.LBL.created=Created", |
| 129 | + "GitHubIssue.LBL.createdBy=Created by", |
| 130 | + "GitHubIssue.LBL.dueDate=Due date", |
| 131 | + "GitHubIssue.LBL.milestone=Milestone" |
| 132 | + }) |
125 | 133 | public String getTooltip() { |
126 | | - return String.format("%s [%s/%s]", getDisplayName(), repository.getRepositoryAuthor(), repository.getRepositoryName()); // NOI18N |
| 134 | + // XXX improve |
| 135 | + StringBuilder sb = new StringBuilder(); |
| 136 | + String title = String.format("%s [%s]", getDisplayName(), repository.getFullName()); // NOI18N |
| 137 | + sb.append("<html>"); // NOI18N |
| 138 | + sb.append("<b>").append(title).append("</b>"); // NOI18N |
| 139 | + sb.append("<hr>"); // NOI18N |
| 140 | + Date created = getCreated(); |
| 141 | + Date dueDate = getDueDate(); |
| 142 | + User assignee = getAssignee(); |
| 143 | + User createdUser = getCreatedUser(); |
| 144 | + Milestone milestone = getMilestone(); |
| 145 | + if (created != null) { |
| 146 | + sb.append(Bundle.GitHubIssue_LBL_created()).append(" : ") // NOI18N |
| 147 | + .append(DateUtils.DEFAULT_DATE_FORMAT.format(created)).append("<br>"); // NOI18N |
| 148 | + } |
| 149 | + if (dueDate != null) { |
| 150 | + sb.append(Bundle.GitHubIssue_LBL_dueDate()).append(" : ") // NOI18N |
| 151 | + .append(DateUtils.DEFAULT_DATE_FORMAT.format(dueDate)).append("<br>"); // NOI18N |
| 152 | + } |
| 153 | + if (createdUser != null) { |
| 154 | + sb.append(Bundle.GitHubIssue_LBL_createdBy()).append(" : ") // NOI18N |
| 155 | + .append(createdUser.getLogin()).append("<br>"); // NOI18N |
| 156 | + } |
| 157 | + if (assignee != null) { |
| 158 | + sb.append(Bundle.GitHubIssue_LBL_assignee()).append(" : ") // NOI18N |
| 159 | + .append(assignee.getLogin()).append("<br>"); // NOI18N |
| 160 | + } |
| 161 | + if (milestone != null) { |
| 162 | + sb.append(Bundle.GitHubIssue_LBL_milestone()).append(" : ") // NOI18N |
| 163 | + .append(milestone.getTitle()).append("<br>"); // NOI18N |
| 164 | + } |
| 165 | + sb.append("</html>"); // NOI18N |
| 166 | + return sb.toString(); |
127 | 167 | } |
128 | 168 |
|
129 | 169 | public boolean isNew() { |
|
0 commit comments