| 53 | } |
| 54 | |
| 55 | void ImgurAlbumCreation::executeTask() |
| 56 | { |
| 57 | m_state = State::Running; |
| 58 | QNetworkRequest request(m_url); |
| 59 | request.setHeader(QNetworkRequest::UserAgentHeader, APPLICATION->getUserAgentUncached().toUtf8()); |
| 60 | request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); |
| 61 | request.setRawHeader("Authorization", QString("Client-ID %1").arg(BuildConfig.IMGUR_CLIENT_ID).toStdString().c_str()); |
| 62 | request.setRawHeader("Accept", "application/json"); |
| 63 | |
| 64 | QStringList hashes; |
| 65 | for (auto shot : m_screenshots) |
| 66 | { |
| 67 | hashes.append(shot->m_imgurDeleteHash); |
| 68 | } |
| 69 | |
| 70 | const QByteArray data = "deletehashes=" + hashes.join(',').toUtf8() + "&title=Minecraft%20Screenshots&privacy=hidden"; |
| 71 | |
| 72 | QNetworkReply *rep = APPLICATION->network()->post(request, data); |
| 73 | |
| 74 | m_reply.reset(rep); |
| 75 | connect(rep, &QNetworkReply::uploadProgress, this, &ImgurAlbumCreation::downloadProgress); |
| 76 | connect(rep, &QNetworkReply::finished, this, &ImgurAlbumCreation::downloadFinished); |
| 77 | #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) |
| 78 | connect(rep, SIGNAL(errorOccurred(QNetworkReply::NetworkError)), SLOT(downloadError(QNetworkReply::NetworkError))); |
| 79 | #else |
| 80 | connect(rep, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(downloadError(QNetworkReply::NetworkError))); |
| 81 | #endif |
| 82 | } |
| 83 | void ImgurAlbumCreation::downloadError(QNetworkReply::NetworkError error) |
| 84 | { |
| 85 | qDebug() << m_reply->errorString(); |