refactor: move more common code to base class

Also removes unused imports and organize the ModModel header
This commit is contained in:
flow
2022-03-07 17:46:18 -03:00
parent 16bfafa29e
commit b131d3b2ec
6 changed files with 65 additions and 170 deletions

View File

@ -1,39 +1,24 @@
#pragma once
#include <RWStorage.h>
#include <QIcon>
#include <QList>
#include <QMetaType>
#include <QSortFilterProxyModel>
#include <QString>
#include <QStringList>
#include <QStyledItemDelegate>
#include <QThreadPool>
#include <net/NetJob.h>
#include <functional>
#include "BaseInstance.h"
#include "ModrinthPage.h"
#include "modplatform/modrinth/ModrinthPackIndex.h"
namespace Modrinth {
typedef std::function<void(QString)> LogoCallback;
class ListModel : public ModPlatform::ListModel {
Q_OBJECT
public:
ListModel(ModrinthPage* parent);
virtual ~ListModel();
public slots:
void searchRequestFinished(QJsonDocument& doc) override;
ListModel(ModrinthPage* parent) : ModPlatform::ListModel(parent){};
virtual ~ListModel() = default;
private:
const char** getSorts() const override;
void loadIndexedPack(ModPlatform::IndexedPack& m, QJsonObject& obj) override { Modrinth::loadIndexedPack(m, obj); };
QJsonArray documentToArray(QJsonDocument& obj) const override { return obj.object().value("hits").toArray(); };
static const char* sorts[5];
const char** getSorts() const override { return sorts; };
};
} // namespace Modrinth