made skin upload more generic
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
parent
8c8e4329d7
commit
6ec1cf6e49
@ -42,7 +42,7 @@
|
|||||||
#include "net/ByteArraySink.h"
|
#include "net/ByteArraySink.h"
|
||||||
#include "net/StaticHeaderProxy.h"
|
#include "net/StaticHeaderProxy.h"
|
||||||
|
|
||||||
SkinUpload::SkinUpload(QString token, SkinModel* skin) : NetRequest(), m_skin(skin), m_token(token)
|
SkinUpload::SkinUpload(QString token, QString path, QString variant) : NetRequest(), m_token(token), m_path(path), m_variant(variant)
|
||||||
{
|
{
|
||||||
logCat = taskMCSkinsLogC;
|
logCat = taskMCSkinsLogC;
|
||||||
}
|
}
|
||||||
@ -55,11 +55,11 @@ QNetworkReply* SkinUpload::getReply(QNetworkRequest& request)
|
|||||||
skin.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/png"));
|
skin.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/png"));
|
||||||
skin.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"file\"; filename=\"skin.png\""));
|
skin.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"file\"; filename=\"skin.png\""));
|
||||||
|
|
||||||
skin.setBody(FS::read(m_skin->getPath()));
|
skin.setBody(FS::read(m_path));
|
||||||
|
|
||||||
QHttpPart model;
|
QHttpPart model;
|
||||||
model.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"variant\""));
|
model.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"variant\""));
|
||||||
model.setBody(m_skin->getModelString().toUtf8());
|
model.setBody(m_variant.toUtf8());
|
||||||
|
|
||||||
multiPart->append(skin);
|
multiPart->append(skin);
|
||||||
multiPart->append(model);
|
multiPart->append(model);
|
||||||
@ -74,9 +74,9 @@ void SkinUpload::init()
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
SkinUpload::Ptr SkinUpload::make(QString token, SkinModel* skin)
|
SkinUpload::Ptr SkinUpload::make(QString token, QString path, QString variant)
|
||||||
{
|
{
|
||||||
auto up = makeShared<SkinUpload>(token, skin);
|
auto up = makeShared<SkinUpload>(token, path, variant);
|
||||||
up->m_url = QUrl("https://api.minecraftservices.com/minecraft/profile/skins");
|
up->m_url = QUrl("https://api.minecraftservices.com/minecraft/profile/skins");
|
||||||
up->setObjectName(QString("BYTES:") + up->m_url.toString());
|
up->setObjectName(QString("BYTES:") + up->m_url.toString());
|
||||||
up->m_sink.reset(new Net::ByteArraySink(std::make_shared<QByteArray>()));
|
up->m_sink.reset(new Net::ByteArraySink(std::make_shared<QByteArray>()));
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "minecraft/skins/SkinModel.h"
|
|
||||||
#include "net/NetRequest.h"
|
#include "net/NetRequest.h"
|
||||||
|
|
||||||
class SkinUpload : public Net::NetRequest {
|
class SkinUpload : public Net::NetRequest {
|
||||||
@ -27,16 +26,17 @@ class SkinUpload : public Net::NetRequest {
|
|||||||
using Ptr = shared_qobject_ptr<SkinUpload>;
|
using Ptr = shared_qobject_ptr<SkinUpload>;
|
||||||
|
|
||||||
// Note this class takes ownership of the file.
|
// Note this class takes ownership of the file.
|
||||||
SkinUpload(QString token, SkinModel* skin);
|
SkinUpload(QString token, QString path, QString variant);
|
||||||
virtual ~SkinUpload() = default;
|
virtual ~SkinUpload() = default;
|
||||||
|
|
||||||
static SkinUpload::Ptr make(QString token, SkinModel* skin);
|
static SkinUpload::Ptr make(QString token, QString path, QString variant);
|
||||||
void init() override;
|
void init() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual QNetworkReply* getReply(QNetworkRequest&) override;
|
virtual QNetworkReply* getReply(QNetworkRequest&) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SkinModel* m_skin;
|
|
||||||
QString m_token;
|
QString m_token;
|
||||||
|
QString m_path;
|
||||||
|
QString m_variant;
|
||||||
};
|
};
|
||||||
|
@ -242,7 +242,7 @@ void SkinManageDialog::accept()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
skinUpload->addNetAction(SkinUpload::make(m_acct->accessToken(), skin));
|
skinUpload->addNetAction(SkinUpload::make(m_acct->accessToken(), skin->getPath(), skin->getModelString()));
|
||||||
|
|
||||||
auto selectedCape = skin->getCapeId();
|
auto selectedCape = skin->getCapeId();
|
||||||
if (selectedCape != m_acct->accountData()->minecraftProfile.currentCape) {
|
if (selectedCape != m_acct->accountData()->minecraftProfile.currentCape) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user