summaryrefslogtreecommitdiff
path: root/src/modlistviewactions.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modlistviewactions.h')
-rw-r--r--src/modlistviewactions.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/modlistviewactions.h b/src/modlistviewactions.h
new file mode 100644
index 00000000..49cffaef
--- /dev/null
+++ b/src/modlistviewactions.h
@@ -0,0 +1,55 @@
+#ifndef MODLISTVIEWACTIONS_H
+#define MODLISTVIEWACTIONS_H
+
+#include <QObject>
+#include <QString>
+
+class CategoryFactory;
+class FilterList;
+class ModListView;
+class OrganizerCore;
+
+class ModListViewActions : public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // the nxmReceiver is a (hopefully temporary) "hack" because it would require a lots of change
+ // to do otherwise since NXM is mostly based on the old Qt signal-slot system
+ //
+ ModListViewActions(
+ OrganizerCore& core,
+ FilterList& filters,
+ CategoryFactory& categoryFactory,
+ QObject* nxmReceiver,
+ ModListView* view);
+
+ // install the mod from the given archive
+ //
+ void installMod(const QString& archivePath = "") const;
+
+ // create an empty mod/a separator before the given mod or at
+ // the end of the list if the index is -1
+ //
+ void createEmptyMod(int modIndex) const;
+ void createSeparator(int modIndex) const;
+
+ // check all mods for update
+ //
+ void checkModsForUpdates() const;
+
+ // start the "Export Mod List" dialog
+ //
+ void exportModListCSV() const;
+
+private:
+
+ OrganizerCore& m_core;
+ FilterList& m_filters;
+ CategoryFactory& m_categories;
+ QObject* m_receiver; // receiver for NXM signals (temporary)
+ ModListView* m_view;
+};
+
+#endif