diff options
| author | Tannin <devnull@localhost> | 2013-03-22 18:46:40 +0100 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2013-03-22 18:46:40 +0100 |
| commit | 0a19f0433992be5f9791c8869380d09cd06b66b8 (patch) | |
| tree | 12399954f7c1156ed1cacb24dac3a8574a513e7f /src/modlistgroupnexusidproxy.h | |
| parent | 8b4e11060b37ad70754aa665ad59744eadd2dd1e (diff) | |
- support for grouping filters for mod list (incomplete)
- offering multiple options for mod names during installation
- support for renaming profiles
- updated installer plugins
- minor bugfixes
Diffstat (limited to 'src/modlistgroupnexusidproxy.h')
| -rw-r--r-- | src/modlistgroupnexusidproxy.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/modlistgroupnexusidproxy.h b/src/modlistgroupnexusidproxy.h new file mode 100644 index 00000000..01d8a97d --- /dev/null +++ b/src/modlistgroupnexusidproxy.h @@ -0,0 +1,49 @@ +#ifndef MODLISTGROUPNEXUSIDPROXY_H
+#define MODLISTGROUPNEXUSIDPROXY_H
+
+
+#include <QAbstractProxyModel>
+#include <vector>
+#include <map>
+#include "profile.h"
+
+
+class ModListGroupNexusIDProxy : public QAbstractProxyModel
+{
+ Q_OBJECT
+public:
+ explicit ModListGroupNexusIDProxy(Profile *profile, QObject *parent = 0);
+
+ virtual int rowCount(const QModelIndex &parent) const;
+ virtual int columnCount(const QModelIndex &parent) const;
+
+ virtual QModelIndex mapToSource(const QModelIndex &proxyIndex) const;
+ virtual QModelIndex mapFromSource(const QModelIndex &sourceIndex) const;
+
+ virtual QModelIndex index(int row, int column, const QModelIndex &parent) const;
+ virtual QModelIndex parent(const QModelIndex &child) const;
+
+ virtual bool hasChildren(const QModelIndex &parent) const;
+
+ virtual QVariant data(const QModelIndex &proxyIndex, int role) const;
+ virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const;
+signals:
+
+public slots:
+
+private:
+
+ void refreshMap(Profile *profile);
+
+private:
+
+ std::map<int, std::vector<unsigned int> > m_GroupMap;
+
+ std::map<unsigned int, unsigned int> m_RowIdxMap; // maps row to mod id
+ std::map<unsigned int, unsigned int> m_IdxRowMap; // maps mod id to row
+
+ mutable std::map<QPersistentModelIndex, QPersistentModelIndex> m_IndexMap;
+
+};
+
+#endif // MODLISTGROUPNEXUSIDPROXY_H
|
