| 455 | } |
| 456 | |
| 457 | void AllProjectSet::reload() |
| 458 | { |
| 459 | Q_D(WatchedDocumentSet); |
| 460 | |
| 461 | d->clear(); |
| 462 | |
| 463 | QSet<const IProjectFileManager*> openProjectFileManagers; |
| 464 | |
| 465 | const auto projects = ICore::self()->projectController()->projects(); |
| 466 | for (const IProject* project : projects) { |
| 467 | addProjectFiles(*project); |
| 468 | openProjectFileManagers.insert(project->projectFileManager()); |
| 469 | } |
| 470 | |
| 471 | if (m_trackedProjectFileManagers != openProjectFileManagers) { |
| 472 | const auto removedFileManagers = m_trackedProjectFileManagers - openProjectFileManagers; |
| 473 | for (auto* f : removedFileManagers) { |
| 474 | stopTrackingProjectFiles(f); |
| 475 | } |
| 476 | |
| 477 | const auto addedFileManagers = openProjectFileManagers - m_trackedProjectFileManagers; |
| 478 | for (auto* f : addedFileManagers) { |
| 479 | trackProjectFiles(f); |
| 480 | } |
| 481 | |
| 482 | m_trackedProjectFileManagers = openProjectFileManagers; |
| 483 | } |
| 484 | |
| 485 | d->updateImports(); |
| 486 | emit changed(); |
| 487 | } |
| 488 | |
| 489 | void AllProjectSet::projectOpened(const IProject* project) |
| 490 | { |
nothing calls this directly
no test coverage detected