// Return the suffixes that should be checked when trying to find a // source belonging to a header and vice versa static QStringList matchingCandidateSuffixes(ProjectFile::Kind kind) { Utils::MimeDatabase mdb; switch (kind) { case ProjectFile::AmbiguousHeader: case ProjectFile::CHeader: case ProjectFile::CXXHeader: case ProjectFile::ObjCHeader: case ProjectFile::ObjCXXHeader: return mdb.mimeTypeForName(QLatin1String(Constants::C_SOURCE_MIMETYPE)).suffixes() + mdb.mimeTypeForName(QLatin1String(Constants::CPP_SOURCE_MIMETYPE)).suffixes() + mdb.mimeTypeForName(QLatin1String(Constants::OBJECTIVE_C_SOURCE_MIMETYPE)).suffixes() + mdb.mimeTypeForName(QLatin1String(Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE)).suffixes(); case ProjectFile::CSource: case ProjectFile::ObjCSource: return mdb.mimeTypeForName(QLatin1String(Constants::C_HEADER_MIMETYPE)).suffixes(); case ProjectFile::CXXSource: case ProjectFile::ObjCXXSource: case ProjectFile::CudaSource: case ProjectFile::OpenCLSource: return mdb.mimeTypeForName(QLatin1String(Constants::CPP_HEADER_MIMETYPE)).suffixes(); default: return QStringList(); } }
bool AbstractSettings::isApplicable(const Core::IDocument *document) const { if (!document) return false; if (m_supportedMimeTypes.isEmpty()) return true; const Utils::MimeDatabase mdb; const Utils::MimeType documentMimeType = mdb.mimeTypeForName(document->mimeType()); return Utils::anyOf(m_supportedMimeTypes, [&documentMimeType](const QString &mime) { return documentMimeType.inherits(mime); }); }
QString Manager::definitionIdByMimeType(const Utils::MimeType &mimeType) const { Utils::MimeDatabase mdb; QList<Utils::MimeType> queue; queue.append(mimeType); while (!queue.isEmpty()) { const Utils::MimeType mt = queue.takeFirst(); const QString id = m_register.m_idByMimeType.value(mt.name()); if (!id.isEmpty()) return id; foreach (const QString &parent, mt.parentMimeTypes()) { const Utils::MimeType parentMt = mdb.mimeTypeForName(parent); if (parentMt.isValid()) queue.append(parentMt); } } return QString(); }
void AbstractSettings::setSupportedMimeTypes(const QString &mimes) { const QStringList stringTypes = mimes.split(';'); const Utils::MimeDatabase mdb; QStringList types; for (const QString &type : stringTypes) { const Utils::MimeType mime = mdb.mimeTypeForName(type.trimmed()); if (!mime.isValid()) continue; const QString canonicalName = mime.name(); if (!types.contains(canonicalName)) types << canonicalName; } if (m_supportedMimeTypes != types) { m_supportedMimeTypes = types; emit supportedMimeTypesChanged(); } }
d->engine->showMessage(msg); setContentsToDocument(d->cache.at(index).second); d->resetLocationScheduled = false; // In case reset from previous run still pending. } else { d->engine->fetchDisassembler(this); } } void DisassemblerAgentPrivate::configureMimeType() { QTC_ASSERT(document, return); document->setMimeType(mimeType); Utils::MimeDatabase mdb; Utils::MimeType mtype = mdb.mimeTypeForName(mimeType); if (mtype.isValid()) { foreach (IEditor *editor, DocumentModel::editorsForDocument(document)) if (TextEditorWidget *widget = qobject_cast<TextEditorWidget *>(editor->widget())) widget->configureGenericHighlighter(); } else { qWarning("Assembler mimetype '%s' not found.", qPrintable(mimeType)); } } QString DisassemblerAgent::mimeType() const { return d->mimeType; } void DisassemblerAgent::setMimeType(const QString &mt)