summaryrefslogtreecommitdiffstats
path: root/gui/instancemodel.h
diff options
context:
space:
mode:
authorAndrew <forkk@forkk.net>2013-03-13 13:25:24 -0500
committerAndrew <forkk@forkk.net>2013-03-13 13:25:24 -0500
commit8864c7ebdc7c6591f17ed65a474113b66e974488 (patch)
tree4a8ad6a1e771834f2060fcffd77e2dc820fb5cab /gui/instancemodel.h
parentf0cb300d04aac77fbe6e03dfdbe201f5f834d886 (diff)
parent46f93311afc9f1e2afc306f63cee0e4f462758e2 (diff)
downloadMultiMC-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.h38
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;
+};
+