diff options
Diffstat (limited to 'src/pluginlist.cpp')
| -rw-r--r-- | src/pluginlist.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp index a215b9d3..add34b3f 100644 --- a/src/pluginlist.cpp +++ b/src/pluginlist.cpp @@ -118,8 +118,15 @@ void PluginList::highlightPlugins(const QItemSelection &selected, const MOShared if (!selectedMod.isNull()) { QDir dir(selectedMod->absolutePath()); QStringList plugins = dir.entryList(QStringList() << "*.esp" << "*.esm" << "*.esl"); + MOShared::FilesOrigin origin = directoryEntry.getOriginByName(selectedMod->internalName().toStdWString()); if (plugins.size() > 0) { - for (auto plugin : plugins) {
+ for (auto plugin : plugins) { + MOShared::FileEntry::Ptr file = directoryEntry.findFile(plugin.toStdWString());
+ if (file->getOrigin() != origin.getID()) {
+ const std::vector<int> alternatives = file->getAlternatives();
+ if (std::find(alternatives.begin(), alternatives.end(), origin.getID()) == alternatives.end())
+ continue;
+ }
std::map<QString, int>::iterator iter = m_ESPsByName.find(plugin.toLower()); if (iter != m_ESPsByName.end()) { m_ESPs[iter->second].m_ModSelected = true; |
