diff options
author | Andrew <forkk@forkk.net> | 2013-03-13 13:25:24 -0500 |
---|---|---|
committer | Andrew <forkk@forkk.net> | 2013-03-13 13:25:24 -0500 |
commit | 8864c7ebdc7c6591f17ed65a474113b66e974488 (patch) | |
tree | 4a8ad6a1e771834f2060fcffd77e2dc820fb5cab /gui/instancemodel.h | |
parent | f0cb300d04aac77fbe6e03dfdbe201f5f834d886 (diff) | |
parent | 46f93311afc9f1e2afc306f63cee0e4f462758e2 (diff) | |
download | MultiMC-8864c7ebdc7c6591f17ed65a474113b66e974488.tar MultiMC-8864c7ebdc7c6591f17ed65a474113b66e974488.tar.gz MultiMC-8864c7ebdc7c6591f17ed65a474113b66e974488.tar.lz MultiMC-8864c7ebdc7c6591f17ed65a474113b66e974488.tar.xz MultiMC-8864c7ebdc7c6591f17ed65a474113b66e974488.zip |
Merge branch 'master' of git://github.com/peterix/MultiMC5
Diffstat (limited to 'gui/instancemodel.h')
-rw-r--r-- | gui/instancemodel.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/gui/instancemodel.h b/gui/instancemodel.h new file mode 100644 index 00000000..995c51ec --- /dev/null +++ b/gui/instancemodel.h @@ -0,0 +1,38 @@ +#pragma once + +#include <QAbstractListModel> +#include "kcategorizedsortfilterproxymodel.h" +#include "instancelist.h" +#include <QIcon> + +class InstanceModel : public QAbstractListModel +{ + Q_OBJECT +public: + enum AdditionalRoles + { + InstancePointerRole = 0x34B1CB48 ///< Return pointer to real instance + }; + explicit InstanceModel ( const InstanceList& instances, + QObject *parent = 0 ); + + QModelIndex index ( int row, int column = 0, + const QModelIndex& parent = QModelIndex() ) const; + int rowCount ( const QModelIndex& parent = QModelIndex() ) const; + QVariant data ( const QModelIndex& index, int role ) const; + Qt::ItemFlags flags ( const QModelIndex& index ) const; + +private: + const InstanceList* m_instances; + QIcon cachedIcon; +}; + +class InstanceProxyModel : public KCategorizedSortFilterProxyModel +{ +public: + explicit InstanceProxyModel ( QObject *parent = 0 ); + +protected: + virtual bool subSortLessThan ( const QModelIndex& left, const QModelIndex& right ) const; +}; + |