diff options
| author | Tannin <devnull@localhost> | 2015-01-29 19:26:42 +0100 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2015-01-29 19:26:42 +0100 |
| commit | 8aa6dc4c7dcf4139cd0144207a327013bd3cb1dc (patch) | |
| tree | 06a28839549304e32b5774b37fba07ca4413bc03 /src/pluginlist.cpp | |
| parent | c3a95bdef1d989a54684b966e042b12bf682046d (diff) | |
extended the game-plugin interface
Diffstat (limited to 'src/pluginlist.cpp')
| -rw-r--r-- | src/pluginlist.cpp | 23 |
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++;
}
}
|
