From af6e1c3ab4f3687c88715dffff8b1bf2f38a15d6 Mon Sep 17 00:00:00 2001 From: Tannin Date: Wed, 11 Sep 2013 22:54:45 +0200 Subject: - 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 --- src/pluginlist.h | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) (limited to 'src/pluginlist.h') diff --git a/src/pluginlist.h b/src/pluginlist.h index 003abd53..b1f1cc0e 100644 --- a/src/pluginlist.h +++ b/src/pluginlist.h @@ -169,30 +169,13 @@ signals: */ void saveTimer(); -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 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,12 +184,31 @@ private: FILETIME m_Time; QString m_OriginName; bool m_IsMaster; + std::set m_Masters; + mutable bool m_MasterUnset; }; friend bool ByName(const ESPInfo& LHS, const ESPInfo& RHS); friend bool ByDate(const ESPInfo& LHS, const ESPInfo& RHS); friend bool ByPriority(const ESPInfo& LHS, const ESPInfo& RHS); +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 rows, int newPriority); + + void startSaveTime(); + + void testMasters(); + private: std::vector m_ESPs; -- cgit v1.3.1