From b1cf498924e461556c8f2fe961172685d92bb03f Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Sat, 15 Feb 2020 13:24:56 -0500
Subject: split directoryentry made classes noncopyable, fixed a few unintended
copies
---
src/pluginlist.cpp | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
(limited to 'src/pluginlist.cpp')
diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp
index f348f64c..4b2eedbd 100644
--- a/src/pluginlist.cpp
+++ b/src/pluginlist.cpp
@@ -23,6 +23,10 @@ along with Mod Organizer. If not, see .
#include "modinfo.h"
#include "modlist.h"
#include "viewmarkingscrollbar.h"
+#include "shared/directoryentry.h"
+#include "shared/filesorigin.h"
+#include "shared/fileentry.h"
+
#include
#include
#include
@@ -144,10 +148,10 @@ void PluginList::highlightPlugins(const QItemSelectionModel *selection, const MO
if (!selectedMod.isNull() && profile.modEnabled(modIndex)) {
QDir dir(selectedMod->absolutePath());
QStringList plugins = dir.entryList(QStringList() << "*.esp" << "*.esm" << "*.esl");
- MOShared::FilesOrigin origin = directoryEntry.getOriginByName(selectedMod->internalName().toStdWString());
+ const MOShared::FilesOrigin& origin = directoryEntry.getOriginByName(selectedMod->internalName().toStdWString());
if (plugins.size() > 0) {
for (auto plugin : plugins) {
- MOShared::FileEntry::Ptr file = directoryEntry.findFile(plugin.toStdWString());
+ MOShared::FileEntryPtr file = directoryEntry.findFile(plugin.toStdWString());
if (file && file->getOrigin() != origin.getID()) {
const std::vector>> alternatives = file->getAlternatives();
if (std::find_if(alternatives.begin(), alternatives.end(), [&](const std::pair>& element) { return element.first == origin.getID(); }) == alternatives.end())
@@ -185,8 +189,8 @@ void PluginList::refresh(const QString &profileName
QStringList availablePlugins;
- std::vector files = baseDirectory.getFiles();
- for (FileEntry::Ptr current : files) {
+ std::vector files = baseDirectory.getFiles();
+ for (FileEntryPtr current : files) {
if (current.get() == nullptr) {
continue;
}
@@ -217,7 +221,7 @@ void PluginList::refresh(const QString &profileName
bool hasIni = baseDirectory.findFile(ToWString(iniPath)).get() != nullptr;
std::set loadedArchives;
QString candidateName;
- for (FileEntry::Ptr archiveCandidate : files) {
+ for (FileEntryPtr archiveCandidate : files) {
candidateName = ToQString(archiveCandidate->getName());
if (candidateName.startsWith(baseName, Qt::CaseInsensitive) &&
(candidateName.endsWith(".bsa", Qt::CaseInsensitive) ||
@@ -548,7 +552,7 @@ bool PluginList::saveLoadOrder(DirectoryEntry &directoryStructure)
for (ESPInfo &esp : m_ESPs) {
std::wstring espName = ToWString(esp.name);
- const FileEntry::Ptr fileEntry = directoryStructure.findFile(espName);
+ const FileEntryPtr fileEntry = directoryStructure.findFile(espName);
if (fileEntry.get() != nullptr) {
QString fileName;
bool archive = false;
--
cgit v1.3.1