void CallgrindToolPrivate::handleFilterProjectCosts() { ProjectExplorer::ProjectExplorerPlugin *pe = ProjectExplorer::ProjectExplorerPlugin::instance(); ProjectExplorer::Project *pro = pe->currentProject(); QTC_ASSERT(pro, return) if (m_filterProjectCosts->isChecked()) { const QString projectDir = pro->projectDirectory(); m_proxyModel->setFilterBaseDir(projectDir); } else { m_proxyModel->setFilterBaseDir(QString()); } }
QString CppToolsPlugin::correspondingHeaderOrSourceI(const QString &fileName) const { const Core::ICore *core = Core::ICore::instance(); const Core::MimeDatabase *mimeDatase = core->mimeDatabase(); ProjectExplorer::ProjectExplorerPlugin *explorer = ProjectExplorer::ProjectExplorerPlugin::instance(); ProjectExplorer::Project *project = (explorer ? explorer->currentProject() : 0); const QFileInfo fi(fileName); const FileType type = fileType(mimeDatase, fi); if (debug) qDebug() << Q_FUNC_INFO << fileName << type; if (type == UnknownType) return QString(); const QDir absoluteDir = fi.absoluteDir(); const QString baseName = fi.completeBaseName(); const QStringList suffixes = matchingCandidateSuffixes(mimeDatase, type); const QString privateHeaderSuffix = QLatin1String("_p"); const QChar dot = QLatin1Char('.'); // Check base matches 'source.h'-> 'source.cpp' and vice versa const QStringList::const_iterator scend = suffixes.constEnd(); for (QStringList::const_iterator it = suffixes.constBegin(); it != scend; ++it) { QString candidate = baseName; candidate += dot; candidate += *it; const QFileInfo candidateFi = findFile(absoluteDir, candidate, project); if (candidateFi.isFile()) return candidateFi.absoluteFilePath(); } if (type == HeaderFile) { // 'source_p.h': try 'source.cpp' if (baseName.endsWith(privateHeaderSuffix)) { QString sourceBaseName = baseName; sourceBaseName.truncate(sourceBaseName.size() - privateHeaderSuffix.size()); for (QStringList::const_iterator it = suffixes.constBegin(); it != scend; ++it) { QString candidate = sourceBaseName; candidate += dot; candidate += *it; const QFileInfo candidateFi = findFile(absoluteDir, candidate, project); if (candidateFi.isFile()) return candidateFi.absoluteFilePath(); } } } else { // 'source.cpp': try 'source_p.h' const QStringList::const_iterator scend = suffixes.constEnd(); for (QStringList::const_iterator it = suffixes.constBegin(); it != scend; ++it) { QString candidate = baseName; candidate += privateHeaderSuffix; candidate += dot; candidate += *it; const QFileInfo candidateFi = findFile(absoluteDir, candidate, project); if (candidateFi.isFile()) return candidateFi.absoluteFilePath(); } } return QString(); }