Optimise ContentSelectorModel::ContentModel::item

This saves about 5% of remaining launcher startup time

Not using fileProperty avoids loads of QVariant conversions.
This commit is contained in:
AnyOldName3 2025-04-06 02:45:28 +01:00
parent 7bad2864d9
commit 973282e471

View file

@ -78,14 +78,10 @@ ContentSelectorModel::EsmFile* ContentSelectorModel::ContentModel::item(int row)
} }
const ContentSelectorModel::EsmFile* ContentSelectorModel::ContentModel::item(const QString& name) const const ContentSelectorModel::EsmFile* ContentSelectorModel::ContentModel::item(const QString& name) const
{ {
EsmFile::FileProperty fp = EsmFile::FileProperty_FileName; bool path = name.contains('/');
if (name.contains('/'))
fp = EsmFile::FileProperty_FilePath;
for (const EsmFile* file : mFiles) for (const EsmFile* file : mFiles)
{ {
if (name.compare(file->fileProperty(fp).toString(), Qt::CaseInsensitive) == 0) if (name.compare(path ? file->filePath() : file->fileName(), Qt::CaseInsensitive) == 0)
return file; return file;
} }
return nullptr; return nullptr;