@@ -84,7 +84,7 @@ void Courtroom::set_evidence_page()
8484
8585 QString evi_string = char_list.at (m_cid).evidence_string ;
8686
87- QStringList evi_numbers = evi_string.split (" ," );
87+ QStringList evi_numbers = evi_string.split (" ," , QString::SkipEmptyParts );
8888
8989 for (QString i_evi : evi_numbers)
9090 {
@@ -109,17 +109,17 @@ void Courtroom::set_evidence_page()
109109 if (total_evidence == 0 )
110110 return ;
111111
112- int total_pages = evidence_list. size () / max_evidence_on_page;
112+ int total_pages = total_evidence / max_evidence_on_page;
113113 int evidence_on_page = 0 ;
114114
115- if ((evidence_list. size () % max_evidence_on_page) != 0 )
115+ if ((total_evidence % max_evidence_on_page) != 0 )
116116 {
117117 ++total_pages;
118118 // i. e. not on the last page
119119 if (total_pages > current_evidence_page + 1 )
120120 evidence_on_page = max_evidence_on_page;
121121 else
122- evidence_on_page = evidence_list. size () % max_evidence_on_page;
122+ evidence_on_page = total_evidence % max_evidence_on_page;
123123
124124 }
125125 else
@@ -131,14 +131,21 @@ void Courtroom::set_evidence_page()
131131 if (current_evidence_page > 0 )
132132 ui_evidence_left->show ();
133133
134- for (int n_evidence = 0 ; n_evidence < evidence_on_page ; ++n_evidence)
134+ qDebug () << " evidence_on_page: " << evidence_on_page;
135+
136+ for (int n_evidence_button = 0 ; n_evidence_button < evidence_on_page ; ++n_evidence_button)
135137 {
136- int n_real_evidence = n_evidence + current_evidence_page * max_evidence_on_page;
137- AOEvidenceButton *f_evidence = ui_evidence_list.at (n_evidence);
138+ qDebug () << " n_evidence_button " << n_evidence_button;
139+
140+ int n_real_evidence = n_evidence_button + current_evidence_page * max_evidence_on_page;
141+ AOEvidenceButton *f_evidence_button = ui_evidence_list.at (n_evidence_button);
138142
139- f_evidence->set_image (evidence_list.at (n_real_evidence).image );
143+ if (n_real_evidence < total_evidence)
144+ f_evidence_button->set_image (local_evidence_list.at (n_real_evidence).image );
145+ else
146+ f_evidence_button->set_image (" " );
140147
141- f_evidence ->show ();
148+ f_evidence_button ->show ();
142149 }
143150
144151
@@ -165,8 +172,12 @@ void Courtroom::on_evidence_clicked(int p_id)
165172
166173void Courtroom::on_evidence_hover (int p_id, bool p_state)
167174{
168- if (p_state)
169- ui_evidence_name->setText (local_evidence_list.at (p_id + max_evidence_on_page * current_evidence_page).name );
175+ int final_id = p_id + max_evidence_on_page * current_evidence_page;
176+
177+ if (p_state && final_id < local_evidence_list.size ())
178+ {
179+ ui_evidence_name->setText (local_evidence_list.at (final_id).name );
180+ }
170181 else
171182 ui_evidence_name->setText (" " );
172183}
0 commit comments