diff options
| author | AL <26797547+Al12rs@users.noreply.github.com> | 2020-10-31 20:58:07 +0100 |
|---|---|---|
| committer | AL <26797547+Al12rs@users.noreply.github.com> | 2020-11-02 20:35:05 +0100 |
| commit | b7935aedec70dd4f0c40dbe948dba9a80a56a75a (patch) | |
| tree | 358266669f9163a883dcc4fabf3fcc67f8b80fa0 /src/modlist.cpp | |
| parent | 88475677d29a275fd9d25f452f58d3d745720124 (diff) | |
Change Alternatives vector to use a struct
Diffstat (limited to 'src/modlist.cpp')
| -rw-r--r-- | src/modlist.cpp | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/src/modlist.cpp b/src/modlist.cpp index f4c034dc..1f845999 100644 --- a/src/modlist.cpp +++ b/src/modlist.cpp @@ -854,25 +854,15 @@ void ModList::highlightMods(const QItemSelectionModel *selection, const MOShared ModInfo::getByIndex(i)->setPluginSelected(false); } for (QModelIndex idx : selection->selectedRows(PluginList::COL_NAME)) { - QString modName = idx.data().toString(); + QString pluginName = idx.data().toString(); - const MOShared::FileEntryPtr fileEntry = directoryEntry.findFile(modName.toStdWString()); + const MOShared::FileEntryPtr fileEntry = directoryEntry.findFile(pluginName.toStdWString()); if (fileEntry.get() != nullptr) { - bool archive = false; - std::vector<std::pair<int, std::pair<std::wstring, int>>> origins; - { - std::vector<std::pair<int, std::pair<std::wstring, int>>> alternatives = fileEntry->getAlternatives(); - origins.insert(origins.end(), std::pair<int, std::pair<std::wstring, int>>(fileEntry->getOrigin(archive), fileEntry->getArchive())); - } - for (auto originInfo : origins) { - MOShared::FilesOrigin& origin = directoryEntry.getOriginByID(originInfo.first); - for (unsigned int i = 0; i < ModInfo::getNumMods(); ++i) { - if (ModInfo::getByIndex(i)->internalName() == QString::fromStdWString(origin.getName())) { - ModInfo::getByIndex(i)->setPluginSelected(true); - break; - } - } - } + + QString originName = QString::fromStdWString(directoryEntry.getOriginByID(fileEntry->getOrigin()).getName()); + + auto modInfo = ModInfo::getByName(originName); + modInfo->setPluginSelected(true); } } notifyChange(0, rowCount() - 1); |
