summaryrefslogtreecommitdiff
path: root/src/pluginlist.h
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2013-09-11 22:54:45 +0200
committerTannin <devnull@localhost>2013-09-11 22:54:45 +0200
commitaf6e1c3ab4f3687c88715dffff8b1bf2f38a15d6 (patch)
tree414f43c931e2e040344e87d2f6317196c1cea108 /src/pluginlist.h
parent50325c8fc23fdeed6e1acb90917e8e2889a1140f (diff)
- when installing mods from outside the download directory the absolute path is now stored
- added a context menu to the toolbar buttons so tool icons can be removed directly - initweaks modinfo tab is now always available and allows new ini tweaks to be created - fake esms are now treated as masters (as they should) - MO will now display a warning if not all masters of an esp are enabled. The tooltip gives a list of required masters - bugfix: path returned by getfullpathname was sometimes not correctly terminated - bugfix: path after reverse-rerouting was sometimes incorrect, missing a path separator - bugfix: change of current directory sometimes used a fake directory without need - bugfix: icons in shortcut menu were not alwayscorrectly updated
Diffstat (limited to 'src/pluginlist.h')
-rw-r--r--src/pluginlist.h40
1 files changed, 21 insertions, 19 deletions
diff --git a/src/pluginlist.h b/src/pluginlist.h
index 003abd53..b1f1cc0e 100644
--- a/src/pluginlist.h
+++ b/src/pluginlist.h
@@ -171,28 +171,11 @@ signals:
private:
- void syncLoadOrder();
- void updateIndices();
-
- void writePlugins(const QString &fileName, bool writeUnchecked) const;
- void writeLockedOrder(const QString &fileName) const;
-
- bool readLoadOrder(const QString &fileName);
- void readLockedOrderFrom(const QString &fileName);
- void setPluginPriority(int row, int &newPriority);
- void changePluginPriority(std::vector<int> rows, int newPriority);
-
- void startSaveTime();
-
-private:
-
struct ESPInfo {
- ESPInfo(const QString &name, bool enabled, FILETIME time, const QString &originName)
- : m_Name(name), m_Enabled(enabled), m_ForceEnabled(enabled), m_Removed(false), m_Priority(0),
- m_LoadOrder(-1), m_Time(time), m_OriginName(originName),
- m_IsMaster(name.endsWith("esm", Qt::CaseInsensitive)) {}
+ ESPInfo(const QString &name, bool enabled, FILETIME time, const QString &originName, const QString &fullPath);
QString m_Name;
+ QString m_FullPath;
bool m_Enabled;
bool m_ForceEnabled;
bool m_Removed;
@@ -201,6 +184,8 @@ private:
FILETIME m_Time;
QString m_OriginName;
bool m_IsMaster;
+ std::set<QString> m_Masters;
+ mutable bool m_MasterUnset;
};
friend bool ByName(const ESPInfo& LHS, const ESPInfo& RHS);
@@ -209,6 +194,23 @@ private:
private:
+ void syncLoadOrder();
+ void updateIndices();
+
+ void writePlugins(const QString &fileName, bool writeUnchecked) const;
+ void writeLockedOrder(const QString &fileName) const;
+
+ bool readLoadOrder(const QString &fileName);
+ void readLockedOrderFrom(const QString &fileName);
+ void setPluginPriority(int row, int &newPriority);
+ void changePluginPriority(std::vector<int> rows, int newPriority);
+
+ void startSaveTime();
+
+ void testMasters();
+
+private:
+
std::vector<ESPInfo> m_ESPs;
std::map<QString, int> m_ESPsByName;