diff options
author | Petr Mrázek <peterix@gmail.com> | 2016-05-28 19:54:17 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2016-06-05 23:55:39 +0200 |
commit | a1abbd9e05c80584d831b1d12c27c5f7d731cece (patch) | |
tree | 3324eaf37efa228e07a0e3136952673f0bc3405a /application/dialogs | |
parent | a750f6e63c783730380c19788deff2acfb3f4836 (diff) | |
download | MultiMC-a1abbd9e05c80584d831b1d12c27c5f7d731cece.tar MultiMC-a1abbd9e05c80584d831b1d12c27c5f7d731cece.tar.gz MultiMC-a1abbd9e05c80584d831b1d12c27c5f7d731cece.tar.lz MultiMC-a1abbd9e05c80584d831b1d12c27c5f7d731cece.tar.xz MultiMC-a1abbd9e05c80584d831b1d12c27c5f7d731cece.zip |
NOISSUE refactor *Download into more, smaller pieces
* Download is now Download.
* Download uses Sink subclasses to process various events.
* Validators can be used to further customize the Sink behaviour.
Diffstat (limited to 'application/dialogs')
-rw-r--r-- | application/dialogs/AboutDialog.cpp | 12 | ||||
-rw-r--r-- | application/dialogs/AboutDialog.h | 6 | ||||
-rw-r--r-- | application/dialogs/UpdateDialog.cpp | 8 | ||||
-rw-r--r-- | application/dialogs/UpdateDialog.h | 3 |
4 files changed, 14 insertions, 15 deletions
diff --git a/application/dialogs/AboutDialog.cpp b/application/dialogs/AboutDialog.cpp index fd61adde..a474cfe6 100644 --- a/application/dialogs/AboutDialog.cpp +++ b/application/dialogs/AboutDialog.cpp @@ -109,16 +109,16 @@ AboutDialog::~AboutDialog() void AboutDialog::loadPatronList() { - NetJob* job = new NetJob("Patreon Patron List"); - patronListDownload = ByteArrayDownload::make(QUrl("http://files.multimc.org/patrons.txt")); - job->addNetAction(patronListDownload); - connect(job, &NetJob::succeeded, this, &AboutDialog::patronListLoaded); - job->start(); + netJob.reset(new NetJob("Patreon Patron List")); + netJob->addNetAction(Net::Download::makeByteArray(QUrl("http://files.multimc.org/patrons.txt"), &dataSink)); + connect(netJob.get(), &NetJob::succeeded, this, &AboutDialog::patronListLoaded); + netJob->start(); } void AboutDialog::patronListLoaded() { - QString patronListStr(patronListDownload->m_data); + QString patronListStr(dataSink); + dataSink.clear(); QString html = getCreditsHtml(patronListStr.split("\n", QString::SkipEmptyParts)); ui->creditsText->setHtml(html); } diff --git a/application/dialogs/AboutDialog.h b/application/dialogs/AboutDialog.h index 1885e9c0..5b5874a5 100644 --- a/application/dialogs/AboutDialog.h +++ b/application/dialogs/AboutDialog.h @@ -16,8 +16,7 @@ #pragma once #include <QDialog> - -#include <net/ByteArrayDownload.h> +#include <net/NetJob.h> namespace Ui { @@ -43,5 +42,6 @@ slots: private: Ui::AboutDialog *ui; - ByteArrayDownloadPtr patronListDownload; + NetJobPtr netJob; + QByteArray dataSink; }; diff --git a/application/dialogs/UpdateDialog.cpp b/application/dialogs/UpdateDialog.cpp index 31220e50..6e109bcb 100644 --- a/application/dialogs/UpdateDialog.cpp +++ b/application/dialogs/UpdateDialog.cpp @@ -46,8 +46,7 @@ void UpdateDialog::loadChangelog() url = QString("https://api.github.com/repos/MultiMC/MultiMC5/compare/%1...%2").arg(BuildConfig.GIT_COMMIT, channel); m_changelogType = CHANGELOG_COMMITS; } - changelogDownload = ByteArrayDownload::make(QUrl(url)); - dljob->addNetAction(changelogDownload); + dljob->addNetAction(Net::Download::makeByteArray(QUrl(url), &changelogData)); connect(dljob.get(), &NetJob::succeeded, this, &UpdateDialog::changelogLoaded); connect(dljob.get(), &NetJob::failed, this, &UpdateDialog::changelogFailed); dljob->start(); @@ -201,12 +200,13 @@ void UpdateDialog::changelogLoaded() switch(m_changelogType) { case CHANGELOG_COMMITS: - result = reprocessCommits(changelogDownload->m_data); + result = reprocessCommits(changelogData); break; case CHANGELOG_MARKDOWN: - result = reprocessMarkdown(changelogDownload->m_data); + result = reprocessMarkdown(changelogData); break; } + changelogData.clear(); ui->changelogBrowser->setHtml(result); } diff --git a/application/dialogs/UpdateDialog.h b/application/dialogs/UpdateDialog.h index 403b78ad..f8ecf006 100644 --- a/application/dialogs/UpdateDialog.h +++ b/application/dialogs/UpdateDialog.h @@ -16,7 +16,6 @@ #pragma once #include <QDialog> -#include "net/ByteArrayDownload.h" #include "net/NetJob.h" namespace Ui @@ -60,7 +59,7 @@ public slots: void changelogFailed(QString reason); private: - ByteArrayDownloadPtr changelogDownload; + QByteArray changelogData; NetJobPtr dljob; ChangelogType m_changelogType = CHANGELOG_MARKDOWN; }; |