diff options
author | flow <flowlnlnln@gmail.com> | 2022-12-16 20:26:10 -0300 |
---|---|---|
committer | flow <flowlnlnln@gmail.com> | 2023-02-05 17:02:52 -0300 |
commit | c3ea303a3742c886aae9e05d2e5f5fbb497260a1 (patch) | |
tree | a6d0d45d75b3761c8b92194d167b7128352efb09 /launcher/ui/pages/modplatform/ResourcePackModel.h | |
parent | e89a10945c683a1212fa6aa7824173f4f20cdee6 (diff) | |
download | PrismLauncher-c3ea303a3742c886aae9e05d2e5f5fbb497260a1.tar.gz PrismLauncher-c3ea303a3742c886aae9e05d2e5f5fbb497260a1.tar.bz2 PrismLauncher-c3ea303a3742c886aae9e05d2e5f5fbb497260a1.zip |
feat(RD): add resource pack downloader
Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher/ui/pages/modplatform/ResourcePackModel.h')
-rw-r--r-- | launcher/ui/pages/modplatform/ResourcePackModel.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/launcher/ui/pages/modplatform/ResourcePackModel.h b/launcher/ui/pages/modplatform/ResourcePackModel.h new file mode 100644 index 00000000..63aa533c --- /dev/null +++ b/launcher/ui/pages/modplatform/ResourcePackModel.h @@ -0,0 +1,39 @@ +#pragma once + +#include <QAbstractListModel> + +#include "BaseInstance.h" + +#include "modplatform/ModIndex.h" + +#include "ui/pages/modplatform/ResourceModel.h" + +class Version; + +namespace ResourceDownload { + +class ResourcePackResourceModel : public ResourceModel { + Q_OBJECT + + public: + ResourcePackResourceModel(BaseInstance const&, ResourceAPI*); + + /* Ask the API for more information */ + void searchWithTerm(const QString& term, unsigned int sort); + + void loadIndexedPack(ModPlatform::IndexedPack&, QJsonObject&) override = 0; + void loadExtraPackInfo(ModPlatform::IndexedPack&, QJsonObject&) override = 0; + void loadIndexedPackVersions(ModPlatform::IndexedPack&, QJsonArray&) override = 0; + + public slots: + ResourceAPI::SearchArgs createSearchArguments() override; + ResourceAPI::VersionSearchArgs createVersionsArguments(QModelIndex&) override; + ResourceAPI::ProjectInfoArgs createInfoArguments(QModelIndex&) override; + + protected: + const BaseInstance& m_base_instance; + + auto documentToArray(QJsonDocument& obj) const -> QJsonArray override = 0; +}; + +} // namespace ResourceDownload |