summaryrefslogtreecommitdiffstats
path: root/application/FtbListModel.h
diff options
context:
space:
mode:
authorJanrupf <werbung.janrupf@t-online.de>2018-04-01 20:24:28 +0200
committerJanrupf <werbung.janrupf@t-online.de>2018-04-02 23:02:33 +0200
commitbbd523acb8bf846d27a7859d1d79f28ea92de245 (patch)
treeb8cb693f9558b99e27f730840ca1764da08495d2 /application/FtbListModel.h
parent67d2f283da3bf9538e6a31de3759cd959010b36c (diff)
downloadMultiMC-bbd523acb8bf846d27a7859d1d79f28ea92de245.tar
MultiMC-bbd523acb8bf846d27a7859d1d79f28ea92de245.tar.gz
MultiMC-bbd523acb8bf846d27a7859d1d79f28ea92de245.tar.lz
MultiMC-bbd523acb8bf846d27a7859d1d79f28ea92de245.tar.xz
MultiMC-bbd523acb8bf846d27a7859d1d79f28ea92de245.zip
NOISSUE Added FTB Pack logos to chooser and fixed some missing includes
Diffstat (limited to 'application/FtbListModel.h')
-rw-r--r--application/FtbListModel.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/application/FtbListModel.h b/application/FtbListModel.h
index 41fc3ccd..747c65bd 100644
--- a/application/FtbListModel.h
+++ b/application/FtbListModel.h
@@ -3,6 +3,13 @@
#include <QAbstractListModel>
#include <QSortFilterProxyModel>
#include <modplatform/ftb/PackHelpers.h>
+#include <QThreadPool>
+
+#include <RWStorage.h>
+
+#include <QPixmap>
+
+typedef QMap<QString, QPixmap> FtbLogoMap;
class FtbFilterModel : public QSortFilterProxyModel
{
@@ -13,8 +20,9 @@ public:
ByGameVersion
};
const QMap<QString, Sorting> getAvailableSortings();
- Sorting getCurrentSorting();
+ QString translateCurrentSorting();
void setSorting(Sorting sorting);
+ Sorting getCurrentSorting();
protected:
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override;
@@ -31,9 +39,22 @@ class FtbListModel : public QAbstractListModel
Q_OBJECT
private:
FtbModpackList modpacks;
+ QThreadPool *m_logoPool;
+ QStringList m_failedLogos;
+ QStringList m_loadingLogos;
+ FtbLogoMap m_logoMap;
+
+ void requestLogo(QString file);
+ QString translatePackType(FtbPackType type) const;
+
+
+private slots:
+ void logoFailed(QString logo);
+ void logoLoaded(QString logo, QPixmap out);
public:
FtbListModel(QObject *parent);
+ ~FtbListModel();
int rowCount(const QModelIndex &parent) const override;
int columnCount(const QModelIndex &parent) const override;
QVariant data(const QModelIndex &index, int role) const override;