summaryrefslogtreecommitdiff
path: root/src/pluginlist.cpp
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2015-01-29 19:26:42 +0100
committerTannin <devnull@localhost>2015-01-29 19:26:42 +0100
commit8aa6dc4c7dcf4139cd0144207a327013bd3cb1dc (patch)
tree06a28839549304e32b5774b37fba07ca4413bc03 /src/pluginlist.cpp
parentc3a95bdef1d989a54684b966e042b12bf682046d (diff)
extended the game-plugin interface
Diffstat (limited to 'src/pluginlist.cpp')
-rw-r--r--src/pluginlist.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp
index ad177247..3c7af59f 100644
--- a/src/pluginlist.cpp
+++ b/src/pluginlist.cpp
@@ -26,6 +26,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include "modinfo.h"
#include <utility.h>
#include <gameinfo.h>
+#include <iplugingame.h>
#include <espfile.h>
#include <windows_error.h>
@@ -126,16 +127,19 @@ QString PluginList::getColumnToolTip(int column)
}
-void PluginList::refresh(const QString &profileName, const DirectoryEntry &baseDirectory,
- const QString &pluginsFile, const QString &loadOrderFile,
- const QString &lockedOrderFile)
+void PluginList::refresh(const QString &profileName
+ , const DirectoryEntry &baseDirectory
+ , const QString &pluginsFile
+ , const QString &loadOrderFile
+ , const QString &lockedOrderFile)
{
ChangeBracket<PluginList> layoutChange(this);
m_ESPsByName.clear();
m_ESPsByPriority.clear();
m_ESPs.clear();
- std::vector<std::wstring> primaryPlugins = GameInfo::instance().getPrimaryPlugins();
+
+ QStringList primaryPlugins = qApp->property("managed_game").value<IPluginGame*>()->getPrimaryPlugins();
m_CurrentProfile = profileName;
@@ -150,7 +154,7 @@ void PluginList::refresh(const QString &profileName, const DirectoryEntry &baseD
if ((extension == "esp") || (extension == "esm")) {
bool forceEnabled = Settings::instance().forceEnableCoreFiles() &&
- std::find(primaryPlugins.begin(), primaryPlugins.end(), ToWString(filename.toLower())) != primaryPlugins.end();
+ std::find(primaryPlugins.begin(), primaryPlugins.end(), filename.toLower()) != primaryPlugins.end();
bool archive = false;
try {
@@ -321,11 +325,10 @@ bool PluginList::readLoadOrder(const QString &fileName)
int priority = 0;
- std::vector<std::wstring> primaryPlugins = GameInfo::instance().getPrimaryPlugins();
- for (std::vector<std::wstring>::iterator iter = primaryPlugins.begin();
- iter != primaryPlugins.end(); ++iter) {
- if (availableESPs.find(ToQString(*iter)) != availableESPs.end()) {
- m_ESPLoadOrder[ToQString(*iter)] = priority++;
+ QStringList primaryPlugins = qApp->property("managed_game").value<IPluginGame*>()->getPrimaryPlugins();
+ for (const QString &plugin : primaryPlugins) {
+ if (availableESPs.find(plugin) != availableESPs.end()) {
+ m_ESPLoadOrder[plugin] = priority++;
}
}