| 527 | } |
| 528 | |
| 529 | bool GrepDialog::checkProjectsOpened() |
| 530 | { |
| 531 | // only proceed if all projects have been opened |
| 532 | if (KDevelop::ICore::self()->activeSession()->config()->group(QStringLiteral("General Options")).readEntry("Open Projects", QList<QUrl>()).count() != |
| 533 | KDevelop::ICore::self()->projectController()->projects().count()) |
| 534 | return false; |
| 535 | |
| 536 | const auto projects = KDevelop::ICore::self()->projectController()->projects(); |
| 537 | for (IProject* p : projects) { |
| 538 | if (!p->isReady()) |
| 539 | return false; |
| 540 | } |
| 541 | |
| 542 | // do the grep jobs one by one |
| 543 | connect(m_plugin, &GrepViewPlugin::grepJobFinished, this, &GrepDialog::nextHistory); |
| 544 | QTimer::singleShot(0, this, [=]() {nextHistory(true);}); |
| 545 | |
| 546 | return true; |
| 547 | } |
| 548 | |
| 549 | void GrepDialog::nextHistory(bool next) |
| 550 | { |
nothing calls this directly
no test coverage detected