summaryrefslogtreecommitdiff
path: root/src/modlist.h
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2013-11-06 18:35:27 +0100
committerTannin <devnull@localhost>2013-11-06 18:35:27 +0100
commitf010c22a3b2ec31bc4ebc3f577ac4455c5de5dfb (patch)
treeca37c8e7480b449289c091dd040bc3f782a52dd0 /src/modlist.h
parentd1594798e6e78bb329e744a72e92d3f292f38a20 (diff)
- diagnosis plugins can now request to be re-evaluated
- main application now contains means for plugins to react on some changes (to be extended) - plugins can now retrieve more information about a mod - user-agent sent to nexus now automatically contains the current MO version - included updated russian translation - problems dialog now refreshes itself after a fix was applied - fixed new esp/asset ordering diagnosis. May be fully functional now - bugfix: restoring locked load order could leave MO in an endless loop (not sure if this fix is correct yet) - bugfix: plugin list was not visually updated after some changes - bugfix: nmm importer threw away mod ordering
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