summaryrefslogtreecommitdiff
path: root/src/pluginlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pluginlist.h')
-rw-r--r--src/pluginlist.h29
1 files changed, 12 insertions, 17 deletions
diff --git a/src/pluginlist.h b/src/pluginlist.h
index 729c6f8b..79066165 100644
--- a/src/pluginlist.h
+++ b/src/pluginlist.h
@@ -26,6 +26,8 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <QListWidget>
#include <QTimer>
#include <QTemporaryFile>
+#pragma warning(push)
+#pragma warning(disable: 4100)
#ifndef Q_MOC_RUN
#include <boost/signals2.hpp>
#include <boost/ptr_container/ptr_vector.hpp>
@@ -33,7 +35,6 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <vector>
#include <map>
#include "pdll.h"
-#include <BOSS-API.h>
template <class C>
@@ -88,6 +89,7 @@ public:
typedef boost::signals2::signal<void ()> SignalRefreshed;
typedef boost::signals2::signal<void (const QString &, int, int)> SignalPluginMoved;
+ typedef boost::signals2::signal<void (const QString &, PluginStates)> SignalPluginStateChanged;
public:
@@ -96,7 +98,7 @@ public:
*
* @param parent parent object
**/
- PluginList(QObject *parent = NULL);
+ PluginList(QObject *parent = nullptr);
~PluginList();
@@ -213,14 +215,11 @@ public:
void refreshLoadOrder();
- void disconnectSlots() {
- m_PluginMoved.disconnect_all_slots();
- m_Refreshed.disconnect_all_slots();
- }
+ void disconnectSlots();
public:
- virtual PluginState state(const QString &name) const;
+ virtual PluginStates state(const QString &name) const;
virtual int priority(const QString &name) const;
virtual int loadOrder(const QString &name) const;
virtual bool isMaster(const QString &name) const;
@@ -228,6 +227,7 @@ public:
virtual QString origin(const QString &name) const;
virtual bool onRefreshed(const std::function<void()> &callback);
virtual bool onPluginMoved(const std::function<void (const QString &, int, int)> &func);
+ virtual bool onPluginStateChanged(const std::function<void (const QString &, PluginStates)> &func) override;
public: // implementation of the QAbstractTableModel interface
@@ -263,16 +263,13 @@ signals:
**/
void esplist_changed();
- /**
- * @brief emitted when the plugin list should be saved
- */
- void saveTimer();
+ void writePluginsList();
private:
struct ESPInfo {
- ESPInfo(const QString &name, bool enabled, FILETIME time, const QString &originName, const QString &fullPath, bool hasIni);
+ ESPInfo(const QString &name, bool enabled, const QString &originName, const QString &fullPath, bool hasIni);
QString m_Name;
QString m_FullPath;
bool m_Enabled;
@@ -311,8 +308,6 @@ private:
void setPluginPriority(int row, int &newPriority);
void changePluginPriority(std::vector<int> rows, int newPriority);
- void startSaveTime();
-
void testMasters();
private:
@@ -337,14 +332,14 @@ private:
QTextCodec *m_Utf8Codec;
QTextCodec *m_LocalCodec;
- mutable QTimer m_SaveTimer;
-
SignalRefreshed m_Refreshed;
SignalPluginMoved m_PluginMoved;
+ SignalPluginStateChanged m_PluginStateChanged;
QTemporaryFile m_TempFile;
-
};
+#pragma warning(pop)
+
#endif // PLUGINLIST_H