diff options
| author | Jeremy Rimpo <jrim@rimpo.org> | 2017-11-30 17:34:28 -0600 |
|---|---|---|
| committer | Jeremy Rimpo <jrim@rimpo.org> | 2017-11-30 17:34:28 -0600 |
| commit | 797a007eab2695c231a00240225d77b3a9928992 (patch) | |
| tree | 850ead2730c8ab50babc865a505a513d8fba5f46 /src/pluginlist.cpp | |
| parent | d7bc542b3d1a96a546d48850e61d3ecdc953c4cc (diff) | |
Add unmanaged mods and fix plugin identification
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; |
