summaryrefslogtreecommitdiff
path: root/src/modlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modlist.h')
-rw-r--r--src/modlist.h21
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