diff options
Diffstat (limited to 'src/modlist.h')
| -rw-r--r-- | src/modlist.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/modlist.h b/src/modlist.h index cdaa24ca..8cab7f3e 100644 --- a/src/modlist.h +++ b/src/modlist.h @@ -32,7 +32,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. #include <QListWidget> #include <QNetworkReply> #include <QNetworkAccessManager> - +#include <boost/signals2.hpp> #include <set> #include <vector> #include <QVector> @@ -61,6 +61,8 @@ public: COL_LASTCOLUMN = COL_PRIORITY }; + typedef boost::signals2::signal<void (const QString &, ModStates)> SignalModStateChanged; + public: /** @@ -94,10 +96,13 @@ public: void changeModPriority(int sourceIndex, int newPriority); + void modInfoAboutToChange(ModInfo::Ptr info); + void modInfoChanged(ModInfo::Ptr info); + public: /// \copydoc MOBase::IModList::state - virtual ModState state(const QString &name) const; + virtual ModStates state(const QString &name) const; /// \copydoc MOBase::IModList::priority virtual int priority(const QString &name) const; @@ -105,6 +110,9 @@ public: /// \copydoc MOBase::IModList::setPriority virtual bool setPriority(const QString &name, int newPriority); + /// \copydoc MOBase::IModList::onModStateChanged + virtual bool onModStateChanged(const std::function<void (const QString &, ModStates)> &func); + public: // implementation of virtual functions of QAbstractItemModel virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; @@ -245,6 +253,11 @@ private: unsigned int categoryOrder; }; + struct TModInfoChange { + QString name; + QFlags<IModList::ModStates> state; + }; + private: Profile *m_Profile; @@ -258,6 +271,10 @@ private: bool m_DropOnItems; + TModInfoChange m_ChangeInfo; + + SignalModStateChanged m_ModStateChanged; + }; #endif // MODLIST_H |
