| 63 | |
| 64 | |
| 65 | ProblemModel::ProblemModel(QObject * parent, ProblemStore *store) |
| 66 | : QAbstractItemModel(parent) |
| 67 | , d_ptr(new ProblemModelPrivate(store)) |
| 68 | { |
| 69 | Q_D(ProblemModel); |
| 70 | |
| 71 | if (!d->m_problems) { |
| 72 | d->m_problems.reset(new FilteredProblemStore()); |
| 73 | d->m_features = ScopeFilter | SeverityFilter | Grouping | CanByPassScopeFilter; |
| 74 | } |
| 75 | |
| 76 | setScope(CurrentDocument); |
| 77 | |
| 78 | connect(ICore::self()->documentController(), &IDocumentController::documentActivated, this, &ProblemModel::setCurrentDocument); |
| 79 | connect(ICore::self()->documentController(), &IDocumentController::documentClosed, this, &ProblemModel::closedDocument); |
| 80 | connect(ICore::self()->documentController(), &IDocumentController::documentUrlChanged, this, |
| 81 | &ProblemModel::documentUrlChanged); |
| 82 | /// CompletionSettings include a list of todo markers we care for, so need to update |
| 83 | connect(ICore::self()->languageController()->completionSettings(), &ICompletionSettings::settingsChanged, this, &ProblemModel::forceFullUpdate); |
| 84 | |
| 85 | if (ICore::self()->documentController()->activeDocument()) { |
| 86 | setCurrentDocument(ICore::self()->documentController()->activeDocument()); |
| 87 | } |
| 88 | |
| 89 | connect(d->m_problems.data(), &ProblemStore::beginRebuild, this, &ProblemModel::beginResetModel); |
| 90 | connect(d->m_problems.data(), &ProblemStore::endRebuild, this, &ProblemModel::endResetModel); |
| 91 | |
| 92 | connect(d->m_problems.data(), &ProblemStore::problemsChanged, this, &ProblemModel::problemsChanged); |
| 93 | } |
| 94 | |
| 95 | ProblemModel::~ ProblemModel() |
| 96 | { |
nothing calls this directly
no test coverage detected