| 164 | } |
| 165 | |
| 166 | void ChecksWidget::updateChecks() |
| 167 | { |
| 168 | QStringList checksList; |
| 169 | QList<const QTreeWidgetItem*> levelItems; |
| 170 | |
| 171 | // Here we try to find "best" (shortest) checks representation. To do this we build checks list |
| 172 | // for every level and test it's size. |
| 173 | for (int i = 0; i < m_ui->checksTree->topLevelItemCount(); ++i) { |
| 174 | auto levelItem = m_ui->checksTree->topLevelItem(i); |
| 175 | auto levelName = levelItem->data(0, CheckRole).toString(); |
| 176 | |
| 177 | if (levelName == QLatin1String("manual")) { |
| 178 | // Manual level is "fake level" so we clear the name and will store only |
| 179 | // selected checks. |
| 180 | levelItems.clear(); |
| 181 | levelName.clear(); |
| 182 | } else { |
| 183 | levelItems += levelItem; |
| 184 | } |
| 185 | |
| 186 | auto levelList = levelChecks(m_ui->checksTree, levelName, levelItems); |
| 187 | if (checksList.isEmpty() || checksList.size() > levelList.size()) { |
| 188 | checksList = levelList; |
| 189 | } |
| 190 | } |
| 191 | |
| 192 | m_ui->messageLabel->setVisible(checksList.isEmpty()); |
| 193 | |
| 194 | auto checks = checksList.join(QLatin1Char(',')); |
| 195 | if (m_checks != checks) { |
| 196 | m_checks = checks; |
| 197 | emit checksChanged(m_checks); |
| 198 | } |
| 199 | } |
| 200 | |
| 201 | void ChecksWidget::setState(QTreeWidgetItem* item, Qt::CheckState state, bool force) |
| 202 | { |
nothing calls this directly
no test coverage detected