diff options
| -rw-r--r-- | src/modinforegular.cpp | 3 | ||||
| -rw-r--r-- | src/pluginlist.cpp | 24 |
2 files changed, 5 insertions, 22 deletions
diff --git a/src/modinforegular.cpp b/src/modinforegular.cpp index 185f0495..0f1f93dc 100644 --- a/src/modinforegular.cpp +++ b/src/modinforegular.cpp @@ -631,7 +631,8 @@ QStringList ModInfoRegular::archives() const { QStringList result; QDir dir(this->absolutePath()); - for (const QString &archive : dir.entryList(QStringList({ "*.bsa", "*.ba2" }))) { + QStringList bsaList = dir.entryList(QStringList({ "*.bsa", "*.ba2" })); + for (const QString &archive : bsaList) { result.append(this->absolutePath() + "/" + archive); } return result; diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp index 25f9c545..ab8bb9f7 100644 --- a/src/pluginlist.cpp +++ b/src/pluginlist.cpp @@ -175,19 +175,6 @@ void PluginList::refresh(const QString &profileName QStringList availablePlugins;
- QRegExp bsaReg = QRegExp();
- QRegExp ba2Reg = QRegExp();
- bsaReg.setPatternSyntax(QRegExp::Wildcard);
- bsaReg.setCaseSensitivity(Qt::CaseInsensitive);
- ba2Reg.setPatternSyntax(QRegExp::Wildcard);
- ba2Reg.setCaseSensitivity(Qt::CaseInsensitive);
-
- //TODO: try QRegularExpression when we move to Qt5.12
- /*QRegularExpression bsaReg = QRegularExpression();
- QRegularExpression ba2Reg = QRegularExpression();
- bsaReg.setPatternOptions(QRegularExpression::CaseInsensitiveOption);
- ba2Reg.setPatternOptions(QRegularExpression::CaseInsensitiveOption);*/
-
std::vector<FileEntry::Ptr> files = baseDirectory.getFiles();
for (FileEntry::Ptr current : files) {
if (current.get() == nullptr) {
@@ -217,18 +204,13 @@ void PluginList::refresh(const QString &profileName QString iniPath = baseName + ".ini";
bool hasIni = baseDirectory.findFile(ToWString(iniPath)).get() != nullptr;
-
- bsaReg.setPattern(baseName + "*.bsa");
- ba2Reg.setPattern(baseName + "*.ba2");
-
-
- //bsaReg.setPattern(QRegularExpression::wildcardToRegularExpression(baseName + "*.bsa"));
- //ba2Reg.setPattern(QRegularExpression::wildcardToRegularExpression(baseName + "*.ba2"));
std::set<QString> loadedArchives;
QString candidateName;
for (FileEntry::Ptr archiveCandidate : files) {
candidateName = ToQString(archiveCandidate->getName());
- if (candidateName.contains(bsaReg) || candidateName.contains(ba2Reg)) {
+ if (candidateName.startsWith(baseName, Qt::CaseInsensitive) &&
+ (candidateName.endsWith(".bsa", Qt::CaseInsensitive) ||
+ candidateName.endsWith(".ba2", Qt::CaseInsensitive))) {
loadedArchives.insert(candidateName);
}
}
|
