From 0a19f0433992be5f9791c8869380d09cd06b66b8 Mon Sep 17 00:00:00 2001 From: Tannin Date: Fri, 22 Mar 2013 18:46:40 +0100 Subject: - 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 --- src/modlistgroupnexusidproxy.h | 49 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/modlistgroupnexusidproxy.h (limited to 'src/modlistgroupnexusidproxy.h') 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 +#include +#include +#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 > m_GroupMap; + + std::map m_RowIdxMap; // maps row to mod id + std::map m_IdxRowMap; // maps mod id to row + + mutable std::map m_IndexMap; + +}; + +#endif // MODLISTGROUPNEXUSIDPROXY_H -- cgit v1.3.1