6868import java .util .logging .Logger ;
6969import javax .swing .DefaultComboBoxModel ;
7070import javax .swing .DefaultListModel ;
71+ import javax .swing .GroupLayout ;
7172import javax .swing .Icon ;
7273import javax .swing .JPanel ;
7374import javax .swing .SwingUtilities ;
@@ -145,7 +146,7 @@ private void init() {
145146 headerCreatedByUserLabel .setFont (bold );
146147 headerStatusLabel .setFont (bold );
147148 commentsPanel = new CommentsPanel ();
148- mainCommetnsPanel . add ( commentsPanel );
149+ (( GroupLayout ) mainCommentsPanel . getLayout ()). replace ( dummyCommentsPanel , commentsPanel );
149150 }
150151
151152 public void setIssue (GitHubIssue gitHubIssue ) {
@@ -163,6 +164,10 @@ private GitHubRepository getRepository() {
163164 return gitHubIssue .getRepository ();
164165 }
165166
167+ @ NbBundle .Messages ({
168+ "# {0} - count" ,
169+ "GitHubIssuePanel.comment.count=Comment({0})"
170+ })
166171 public void update () {
167172 // header
168173 setHeader ();
@@ -252,6 +257,8 @@ public void update() {
252257 // add comments
253258 commentsPanel .removeAllComments ();
254259 List <Comment > comments = gitHubIssue .getComments ();
260+ // set count
261+ commentsCollapsibleSectionPanel .setLabel (Bundle .GitHubIssuePanel_comment_count (comments .size ()));
255262 PegDownProcessor processor = GitHubIssues .getInstance ().getPegDownProcessor ();
256263 for (Comment comment : comments ) {
257264 String body = comment .getBody ();
@@ -554,6 +561,8 @@ private void fireChange() {
554561 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
555562 private void initComponents () {
556563
564+ mainCommentsPanel = new javax .swing .JPanel ();
565+ dummyCommentsPanel = new javax .swing .JPanel ();
557566 headerPanel = new javax .swing .JPanel ();
558567 headerSubmitButton = new javax .swing .JButton ();
559568 headerNameLabel = new javax .swing .JLabel ();
@@ -588,8 +597,21 @@ private void initComponents() {
588597 newCommentButton = new javax .swing .JButton ();
589598 newCommentCloseReopenIssueButton = new javax .swing .JButton ();
590599 attributesViewPanel = new com .junichi11 .netbeans .modules .github .issues .issue .ui .AttributesViewPanel ();
591- mainCommetnsPanel = new javax .swing .JPanel ();
592600 assignYourselfLinkButton = new org .netbeans .modules .bugtracking .commons .LinkButton ();
601+ commentsCollapsibleSectionPanel = new org .netbeans .modules .bugtracking .commons .CollapsibleSectionPanel ();
602+
603+ dummyCommentsPanel .setLayout (new java .awt .BorderLayout ());
604+
605+ javax .swing .GroupLayout mainCommentsPanelLayout = new javax .swing .GroupLayout (mainCommentsPanel );
606+ mainCommentsPanel .setLayout (mainCommentsPanelLayout );
607+ mainCommentsPanelLayout .setHorizontalGroup (
608+ mainCommentsPanelLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
609+ .addComponent (dummyCommentsPanel , javax .swing .GroupLayout .DEFAULT_SIZE , 791 , Short .MAX_VALUE )
610+ );
611+ mainCommentsPanelLayout .setVerticalGroup (
612+ mainCommentsPanelLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
613+ .addComponent (dummyCommentsPanel , javax .swing .GroupLayout .DEFAULT_SIZE , 13 , Short .MAX_VALUE )
614+ );
593615
594616 org .openide .awt .Mnemonics .setLocalizedText (headerSubmitButton , org .openide .util .NbBundle .getMessage (GitHubIssuePanel .class , "GitHubIssuePanel.headerSubmitButton.text" )); // NOI18N
595617
@@ -730,19 +752,21 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
730752
731753 org .openide .awt .Mnemonics .setLocalizedText (newCommentCloseReopenIssueButton , org .openide .util .NbBundle .getMessage (GitHubIssuePanel .class , "GitHubIssuePanel.newCommentCloseReopenIssueButton.text" )); // NOI18N
732754
733- mainCommetnsPanel .setLayout (new java .awt .BorderLayout ());
734-
735755 org .openide .awt .Mnemonics .setLocalizedText (assignYourselfLinkButton , org .openide .util .NbBundle .getMessage (GitHubIssuePanel .class , "GitHubIssuePanel.assignYourselfLinkButton.text" )); // NOI18N
736756 assignYourselfLinkButton .addActionListener (new java .awt .event .ActionListener () {
737757 public void actionPerformed (java .awt .event .ActionEvent evt ) {
738758 assignYourselfLinkButtonActionPerformed (evt );
739759 }
740760 });
741761
762+ commentsCollapsibleSectionPanel .setContent (mainCommentsPanel );
763+ commentsCollapsibleSectionPanel .setLabel (org .openide .util .NbBundle .getMessage (GitHubIssuePanel .class , "GitHubIssuePanel.commentsCollapsibleSectionPanel.label" )); // NOI18N
764+
742765 javax .swing .GroupLayout mainPanelLayout = new javax .swing .GroupLayout (mainPanel );
743766 mainPanel .setLayout (mainPanelLayout );
744767 mainPanelLayout .setHorizontalGroup (
745768 mainPanelLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
769+ .addComponent (attributesViewPanel , javax .swing .GroupLayout .DEFAULT_SIZE , javax .swing .GroupLayout .DEFAULT_SIZE , Short .MAX_VALUE )
746770 .addGroup (mainPanelLayout .createSequentialGroup ()
747771 .addContainerGap ()
748772 .addGroup (mainPanelLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
@@ -752,7 +776,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
752776 .addComponent (titleLabel ))
753777 .addGap (37 , 37 , 37 )
754778 .addGroup (mainPanelLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
755- .addComponent (descriptionTabbedPanel , javax .swing .GroupLayout .DEFAULT_SIZE , 512 , Short .MAX_VALUE )
779+ .addComponent (descriptionTabbedPanel , javax .swing .GroupLayout .DEFAULT_SIZE , 412 , Short .MAX_VALUE )
756780 .addComponent (titleTextField ))
757781 .addPreferredGap (javax .swing .LayoutStyle .ComponentPlacement .RELATED )
758782 .addGroup (mainPanelLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING , false )
@@ -776,10 +800,9 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
776800 .addGap (0 , 0 , Short .MAX_VALUE )
777801 .addComponent (newCommentCloseReopenIssueButton )
778802 .addPreferredGap (javax .swing .LayoutStyle .ComponentPlacement .RELATED )
779- .addComponent (newCommentButton )))
803+ .addComponent (newCommentButton ))
804+ .addComponent (commentsCollapsibleSectionPanel , javax .swing .GroupLayout .DEFAULT_SIZE , javax .swing .GroupLayout .DEFAULT_SIZE , Short .MAX_VALUE ))
780805 .addContainerGap ())
781- .addComponent (attributesViewPanel , javax .swing .GroupLayout .DEFAULT_SIZE , javax .swing .GroupLayout .DEFAULT_SIZE , Short .MAX_VALUE )
782- .addComponent (mainCommetnsPanel , javax .swing .GroupLayout .DEFAULT_SIZE , javax .swing .GroupLayout .DEFAULT_SIZE , Short .MAX_VALUE )
783806 );
784807 mainPanelLayout .setVerticalGroup (
785808 mainPanelLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
@@ -808,8 +831,8 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
808831 .addComponent (descriptionTabbedPanel , javax .swing .GroupLayout .PREFERRED_SIZE , javax .swing .GroupLayout .DEFAULT_SIZE , javax .swing .GroupLayout .PREFERRED_SIZE ))
809832 .addPreferredGap (javax .swing .LayoutStyle .ComponentPlacement .RELATED )
810833 .addComponent (attributesViewPanel , javax .swing .GroupLayout .PREFERRED_SIZE , javax .swing .GroupLayout .DEFAULT_SIZE , javax .swing .GroupLayout .PREFERRED_SIZE )
811- .addPreferredGap (javax .swing .LayoutStyle .ComponentPlacement .RELATED )
812- .addComponent (mainCommetnsPanel , javax .swing .GroupLayout .PREFERRED_SIZE , javax .swing .GroupLayout .DEFAULT_SIZE , javax .swing .GroupLayout .PREFERRED_SIZE )
834+ .addPreferredGap (javax .swing .LayoutStyle .ComponentPlacement .UNRELATED )
835+ .addComponent (commentsCollapsibleSectionPanel , javax .swing .GroupLayout .PREFERRED_SIZE , javax .swing .GroupLayout .DEFAULT_SIZE , javax .swing .GroupLayout .PREFERRED_SIZE )
813836 .addPreferredGap (javax .swing .LayoutStyle .ComponentPlacement .RELATED )
814837 .addGroup (mainPanelLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .LEADING )
815838 .addComponent (newCommentLabel )
@@ -818,7 +841,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
818841 .addGroup (mainPanelLayout .createParallelGroup (javax .swing .GroupLayout .Alignment .BASELINE )
819842 .addComponent (newCommentButton )
820843 .addComponent (newCommentCloseReopenIssueButton ))
821- .addContainerGap (javax . swing . GroupLayout . DEFAULT_SIZE , Short .MAX_VALUE ))
844+ .addContainerGap (69 , Short .MAX_VALUE ))
822845 );
823846
824847 mainScrollPane .setViewportView (mainPanel );
@@ -943,8 +966,10 @@ private void assignYourselfLinkButtonActionPerformed(java.awt.event.ActionEvent
943966 private javax .swing .JComboBox <User > assigneeComboBox ;
944967 private javax .swing .JLabel assigneeLabel ;
945968 private com .junichi11 .netbeans .modules .github .issues .issue .ui .AttributesViewPanel attributesViewPanel ;
969+ private org .netbeans .modules .bugtracking .commons .CollapsibleSectionPanel commentsCollapsibleSectionPanel ;
946970 private javax .swing .JLabel descriptionLabel ;
947971 private com .junichi11 .netbeans .modules .github .issues .issue .ui .CommentTabbedPanel descriptionTabbedPanel ;
972+ private javax .swing .JPanel dummyCommentsPanel ;
948973 private javax .swing .JLabel headerCreatedByLabel ;
949974 private javax .swing .JLabel headerCreatedByUserLabel ;
950975 private javax .swing .JLabel headerCreatedDateLabel ;
@@ -961,7 +986,7 @@ private void assignYourselfLinkButtonActionPerformed(java.awt.event.ActionEvent
961986 private javax .swing .JLabel labelsLabel ;
962987 private javax .swing .JList <Label > labelsList ;
963988 private javax .swing .JScrollPane labelsScrollPane ;
964- private javax .swing .JPanel mainCommetnsPanel ;
989+ private javax .swing .JPanel mainCommentsPanel ;
965990 private javax .swing .JPanel mainPanel ;
966991 private javax .swing .JScrollPane mainScrollPane ;
967992 private javax .swing .JComboBox <Milestone > milestoneComboBox ;
0 commit comments