aboutsummaryrefslogtreecommitdiff
path: root/libraries/logic/resources/ResourceProxyModel.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2016-04-10 15:53:05 +0200
committerPetr Mrázek <peterix@gmail.com>2016-05-01 00:00:14 +0200
commitb6d455a02bd338e9dc0faa09d4d8177ecd8d569a (patch)
tree41982bca1ede50049f2f8c7109dd18edeefde6d0 /libraries/logic/resources/ResourceProxyModel.h
parent47e37635f50c09b4f9a9ee7699e3120bab3e4088 (diff)
downloadPrismLauncher-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.tar.gz
PrismLauncher-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.tar.bz2
PrismLauncher-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.zip
NOISSUE reorganize and document libraries
Diffstat (limited to 'libraries/logic/resources/ResourceProxyModel.h')
-rw-r--r--libraries/logic/resources/ResourceProxyModel.h39
1 files changed, 0 insertions, 39 deletions
diff --git a/libraries/logic/resources/ResourceProxyModel.h b/libraries/logic/resources/ResourceProxyModel.h
deleted file mode 100644
index 98a3dbd1..00000000
--- a/libraries/logic/resources/ResourceProxyModel.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#pragma once
-
-#include <QIdentityProxyModel>
-#include <memory>
-
-#include "multimc_logic_export.h"
-
-/// Convenience proxy model that transforms resource identifiers (strings) for Qt::DecorationRole into other types.
-class MULTIMC_LOGIC_EXPORT ResourceProxyModel : public QIdentityProxyModel
-{
- Q_OBJECT
-public:
- // resultTypeId is found using qMetaTypeId<T>()
- explicit ResourceProxyModel(const int resultTypeId, QObject *parent = nullptr);
-
- enum
- {
- // provide this role from your model if you want to show a placeholder
- PlaceholderRole = Qt::UserRole + 0xabc // some random offset to not collide with other stuff
- };
-
- QVariant data(const QModelIndex &proxyIndex, int role) const override;
- void setSourceModel(QAbstractItemModel *model) override;
-
- /// Helper function, usage: m_view->setModel(ResourceProxyModel::mixin<QIcon>(m_model));
- template <typename T>
- static QAbstractItemModel *mixin(QAbstractItemModel *model)
- {
- ResourceProxyModel *proxy = new ResourceProxyModel(qMetaTypeId<T>(), model);
- proxy->setSourceModel(model);
- return proxy;
- }
-
-private:
- // mutable because it needs to be available from the const data()
- mutable QMap<QPersistentModelIndex, std::shared_ptr<class Resource>> m_resources;
-
- const int m_resultTypeId;
-};