summaryrefslogtreecommitdiff
path: root/src/pluginlist.cpp
diff options
context:
space:
mode:
authorProject579 <star579avatar@gmail.com>2018-12-29 11:56:42 +0100
committerProject579 <star579avatar@gmail.com>2018-12-29 11:56:42 +0100
commitd6f9e6d900f4a92da6bb252f0f8a223d59819e45 (patch)
tree1e39b666e3d52632a471152630d2f07d4e73125d /src/pluginlist.cpp
parent4436d376a8d426867f217b03838570a424b09c5f (diff)
parenteb50d0b44773f17fd8edccd557b7a2135c2cdb76 (diff)
Merge branch 'Develop' into archive_conflicts_2
Updating to 2.1.7alpha1
Diffstat (limited to 'src/pluginlist.cpp')
-rw-r--r--src/pluginlist.cpp24
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();
}