diff options
| author | LostDragonist <lost.dragonist@gmail.com> | 2018-12-30 16:27:43 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-30 16:27:43 -0600 |
| commit | b2ca83366a4794990b39bcc02861ae120d40cb09 (patch) | |
| tree | a646dbcfb20a1289179508649c7431036e06e85b /src/pluginlist.cpp | |
| parent | 4436d376a8d426867f217b03838570a424b09c5f (diff) | |
| parent | 71091f679dd1625b96e6d88d781a93fe6f14d210 (diff) | |
Merge pull request #601 from Project579/archive_conflicts_2
Archive conflicts Updating to Lastest Develop
Diffstat (limited to 'src/pluginlist.cpp')
| -rw-r--r-- | src/pluginlist.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp index 04e39abf..2f70cd27 100644 --- a/src/pluginlist.cpp +++ b/src/pluginlist.cpp @@ -181,15 +181,16 @@ void PluginList::refresh(const QString &profileName }
QString filename = ToQString(current->getName());
- availablePlugins.append(filename.toLower());
-
- if (m_ESPsByName.find(filename.toLower()) != m_ESPsByName.end()) {
- continue;
- }
-
QString extension = filename.right(3).toLower();
if ((extension == "esp") || (extension == "esm") || (extension == "esl")) {
+
+ availablePlugins.append(filename.toLower());
+
+ if (m_ESPsByName.find(filename.toLower()) != m_ESPsByName.end()) {
+ continue;
+ }
+
bool forceEnabled = Settings::instance().forceEnableCoreFiles() &&
std::find(primaryPlugins.begin(), primaryPlugins.end(), filename.toLower()) != primaryPlugins.end();
@@ -202,10 +203,12 @@ void PluginList::refresh(const QString &profileName bool hasIni = baseDirectory.findFile(ToWString(iniPath)).get() != nullptr;
std::set<QString> loadedArchives;
- QString originPath = QString::fromWCharArray(origin.getPath().c_str());
- QDir dir(QDir::toNativeSeparators(originPath));
- for (QString filename : dir.entryList(QStringList() << QFileInfo(filename).baseName() + "*.bsa" << QFileInfo(filename).baseName() + "*.ba2")) {
- loadedArchives.insert(filename);
+ for (FileEntry::Ptr archiveCandidate : files) {
+ QString candidateName = ToQString(archiveCandidate->getName());
+ if (candidateName.contains(QRegExp(QFileInfo(filename).baseName() + "*.bsa", Qt::CaseInsensitive, QRegExp::Wildcard)) ||
+ candidateName.contains(QRegExp(QFileInfo(filename).baseName() + "*.ba2", Qt::CaseInsensitive, QRegExp::Wildcard))) {
+ loadedArchives.insert(candidateName);
+ }
}
QString originName = ToQString(origin.getName());
@@ -846,6 +849,7 @@ void PluginList::generatePluginIndexes() m_ESPs[i].m_Index = QString("%1").arg(l - numESLs - numSkipped, 2, 16, QChar('0')).toUpper();
}
}
+ emit esplist_changed();
}
|
