@@ -102,6 +102,8 @@ public class GitHubIssuePanel extends JPanel {
102102 private final DefaultComboBoxModel <Milestone > milestoneComboBoxModel = new DefaultComboBoxModel <>();
103103 private final DefaultComboBoxModel <User > assigneeComboBoxModel = new DefaultComboBoxModel <>();
104104 private final DefaultListModel <Label > labelsListModel = new DefaultListModel <>();
105+ private static final Icon ISSUE_OPENED_ICON = ImageUtilities .loadImageIcon ("com/junichi11/netbeans/modules/github/issues/resources/issue_opened_16.png" , true ); // NOI18N
106+ private static final Icon ISSUE_CLOSED_ICON = ImageUtilities .loadImageIcon ("com/junichi11/netbeans/modules/github/issues/resources/issue_closed_16.png" , true ); // NOI18N
105107 private static final Icon ERROR_ICON = ImageUtilities .loadImageIcon ("com/junichi11/netbeans/modules/github/issues/resources/error_icon_16.png" , true ); // NOI18N
106108 private static final Icon ICON_32 = ImageUtilities .loadImageIcon ("com/junichi11/netbeans/modules/github/issues/resources/icon_32.png" , true ); // NOI18N
107109 private static final Logger LOGGER = Logger .getLogger (GitHubIssuePanel .class .getName ());
@@ -374,11 +376,10 @@ private void setHeader() {
374376 return ;
375377 }
376378 boolean isNew = gitHubIssue .isNew ();
379+ GitHubIssueState state = GitHubIssueState .NEW ;
377380 if (isNew ) {
378381 headerNameLabel .setText (Bundle .GitHubIssuePanel_label_header_name_new ());
379382 headerSubmitButton .setText (Bundle .GitHubIssuePanel_label_header_submit_button_new ());
380- headerStatusLabel .setText ("" );
381-
382383 } else {
383384 String summary = gitHubIssue .getSummary ();
384385 headerNameLabel .setText (String .format ("%s #%s" , summary , gitHubIssue .getID ())); // NOI18N
@@ -390,15 +391,33 @@ private void setHeader() {
390391 headerSubmitButton .setVisible (gitHubIssue .isEditableUser ());
391392 Issue issue = gitHubIssue .getIssue ();
392393 if (issue != null ) {
393- GitHubIssueState state = GitHubIssueState .toEnum (issue .getState ());
394- boolean isClosed = state == GitHubIssueState .CLOSED ;
394+ state = GitHubIssueState .toEnum (issue .getState ());
395+ }
396+ }
397+ setHeaderStatus (state );
398+ }
399+
400+ private void setHeaderStatus (GitHubIssueState status ) {
401+ boolean isClosed = status == GitHubIssueState .CLOSED ;
402+ switch (status ) {
403+ case NEW :
404+ headerStatusLabel .setText ("" ); // NOI18N
405+ headerStatusLabel .setIcon (null );
406+ headerStatusLabel .setOpaque (false );
407+ headerStatusLabel .setVisible (false );
408+ break ;
409+ case OPEN : // no break
410+ case CLOSED :
395411 headerStatusLabel .setText (isClosed ? "Closed" : "Open" );
412+ headerStatusLabel .setIcon (isClosed ? ISSUE_CLOSED_ICON : ISSUE_OPENED_ICON );
396413 headerStatusLabel .setBackground (isClosed ? CLOSED_STATE_COLOR : OPEN_STATE_COLOR );
397414 headerStatusLabel .setForeground (Color .WHITE );
398- }
415+ headerStatusLabel .setOpaque (true );
416+ headerStatusLabel .setVisible (true );
417+ break ;
418+ default :
419+ throw new AssertionError ();
399420 }
400- headerStatusLabel .setOpaque (!isNew );
401- headerStatusLabel .setVisible (!isNew );
402421 }
403422
404423 @ NbBundle .Messages ({
0 commit comments