188QString QMimeType::comment()
const
190 const auto localeComments = QMimeDatabasePrivate::instance()->localeComments(d->name);
192 QStringList languageList = QLocale().uiLanguages(QLocale::TagSeparator::Underscore);
193 qsizetype defaultIndex = languageList.indexOf(u"en_US"_s);
196 if (defaultIndex >= 0) {
201 if (defaultIndex < languageList.size() && languageList.at(defaultIndex) == u"en_Latn_US")
203 if (defaultIndex < languageList.size() && languageList.at(defaultIndex) == u"en")
207 defaultIndex = languageList.size();
209 languageList.insert(defaultIndex, u"default"_s);
211 for (
const QString &language : std::as_const(languageList)) {
212 const QString lang = language ==
"C"_L1 ? u"en_US"_s : language;
213 QString comm = localeComments.value(lang);
236QString QMimeType::genericIconName()
const
238 QString genericIconName = QMimeDatabasePrivate::instance()->genericIcon(d->name);
239 if (genericIconName.isEmpty()) {
245 const QString group = name();
246 QStringView groupRef(group);
247 const qsizetype slashindex = groupRef.indexOf(u'/');
248 if (slashindex != -1)
249 groupRef = groupRef.left(slashindex);
250 return groupRef +
"-x-generic"_L1;
252 return genericIconName;
319 QStringList newParents;
320 for (
const QString &parent : parents) {
322 if (!allParents.contains(parent)) {
323 allParents.append(parent);
324 newParents.append(parent);
329 for (
const QString &parent : newParents)
330 collectParentMimeTypes(parent, allParents);
385QStringList QMimeType::suffixes()
const
387 const QStringList patterns = globPatterns();
390 result.reserve(patterns.size());
391 for (
const QString &pattern : patterns) {
393 if (pattern.startsWith(
"*."_L1) &&
394 pattern.size() > 2 &&
395 pattern.indexOf(u'*', 2) < 0 && pattern.indexOf(u'?', 2) < 0) {
396 const QString suffix = pattern.mid(2);
397 result.append(suffix);