191QString QMimeType::comment()
const
193 const auto isEnUs = [](QStringView lang) {
195 static constexpr QLatin1StringView usaIsh[] =
196 {
"en_Latn_US"_L1,
"en_US"_L1,
"en_Latn"_L1,
"en"_L1 };
197 return std::find(std::begin(usaIsh), std::end(usaIsh), lang) != std::end(usaIsh);
199 const auto localeComments = QMimeDatabasePrivate::instance()->localeComments(d->name);
200 const QStringList languageList = QLocale().uiLanguages(QLocale::TagSeparator::Underscore);
201 QString comment = localeComments.value(u"default"_s);
203 for (
const QString &language : std::as_const(languageList)) {
204 const QString lang = language ==
"C"_L1 ? u"en_US"_s : language;
205 QString translated = localeComments.value(lang);
206 if (!translated.isEmpty())
208 if (!comment.isEmpty() && isEnUs(lang))
212 QCoreApplication::translate(
"QMimeType", comment.toUtf8().constData());
213 if (!translated.isEmpty())
234QString QMimeType::genericIconName()
const
236 QString genericIconName = QMimeDatabasePrivate::instance()->genericIcon(d->name);
237 if (genericIconName.isEmpty()) {
243 const QString group = name();
244 QStringView groupRef(group);
245 const qsizetype slashindex = groupRef.indexOf(u'/');
246 if (slashindex != -1)
247 groupRef = groupRef.left(slashindex);
248 return groupRef +
"-x-generic"_L1;
250 return genericIconName;
317 QStringList newParents;
318 for (
const QString &parent : parents) {
320 if (!allParents.contains(parent)) {
321 allParents.append(parent);
322 newParents.append(parent);
327 for (
const QString &parent : newParents)
328 collectParentMimeTypes(parent, allParents);
383QStringList QMimeType::suffixes()
const
385 const QStringList patterns = globPatterns();
388 result.reserve(patterns.size());
389 for (
const QString &pattern : patterns) {
391 if (pattern.startsWith(
"*."_L1) &&
392 pattern.size() > 2 &&
393 pattern.indexOf(u'*', 2) < 0 && pattern.indexOf(u'?', 2) < 0) {
394 const QString suffix = pattern.mid(2);
395 result.append(suffix);