| 533 | } |
| 534 | |
| 535 | void PatchReviewToolView::runTests() |
| 536 | { |
| 537 | IPatchSource::Ptr ipatch = m_plugin->patch(); |
| 538 | if ( !ipatch ) { |
| 539 | return; |
| 540 | } |
| 541 | |
| 542 | IProject* project = nullptr; |
| 543 | QMap<QUrl, VcsStatusInfo::State> files = ipatch->additionalSelectableFiles(); |
| 544 | QMap<QUrl, VcsStatusInfo::State>::const_iterator it = files.constBegin(); |
| 545 | |
| 546 | for (; it != files.constEnd(); ++it) { |
| 547 | project = ICore::self()->projectController()->findProjectForUrl(it.key()); |
| 548 | if (project) { |
| 549 | break; |
| 550 | } |
| 551 | } |
| 552 | |
| 553 | if (!project) { |
| 554 | return; |
| 555 | } |
| 556 | |
| 557 | m_editPatch.testProgressBar->setFormat(i18n("Running tests: %p%")); |
| 558 | m_editPatch.testProgressBar->setValue(0); |
| 559 | m_editPatch.testProgressBar->show(); |
| 560 | |
| 561 | auto* job = new ProjectTestJob(project, this); |
| 562 | connect(job, &ProjectTestJob::finished, this, &PatchReviewToolView::testJobResult); |
| 563 | connect(job, &KJob::percentChanged, this, &PatchReviewToolView::testJobPercent); |
| 564 | ICore::self()->runController()->registerJob(job); |
| 565 | } |
| 566 | |
| 567 | void PatchReviewToolView::testJobPercent(KJob* job, unsigned long percent) |
| 568 | { |