diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-09-26 13:45:29 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-09-26 13:45:29 +0200 |
commit | 271ad9e4fdb4f003abd33b59ca9cadfb5bab9823 (patch) | |
tree | f006b597a61531345b810fb5ea28f45c850fd8a4 /logic/resources/WebResourceHandler.cpp | |
parent | cca670013463f0062cec950d9b9bb76f9150ed93 (diff) | |
download | PrismLauncher-271ad9e4fdb4f003abd33b59ca9cadfb5bab9823.tar.gz PrismLauncher-271ad9e4fdb4f003abd33b59ca9cadfb5bab9823.tar.bz2 PrismLauncher-271ad9e4fdb4f003abd33b59ca9cadfb5bab9823.zip |
GH-1072 split resource system to UI and logic parts
Diffstat (limited to 'logic/resources/WebResourceHandler.cpp')
-rw-r--r-- | logic/resources/WebResourceHandler.cpp | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/logic/resources/WebResourceHandler.cpp b/logic/resources/WebResourceHandler.cpp deleted file mode 100644 index 7ced5bc6..00000000 --- a/logic/resources/WebResourceHandler.cpp +++ /dev/null @@ -1,67 +0,0 @@ -#include "WebResourceHandler.h" - -#include "net/CacheDownload.h" -#include "net/HttpMetaCache.h" -#include "net/NetJob.h" -#include "FileSystem.h" -#include "Env.h" - -QMap<QString, NetJob *> WebResourceHandler::m_activeDownloads; - -WebResourceHandler::WebResourceHandler(const QString &url) - : QObject(), m_url(url) -{ - MetaEntryPtr entry = ENV.metacache()->resolveEntry("icons", url); - if (!entry->stale) - { - setResultFromFile(entry->getFullPath()); - } - else if (m_activeDownloads.contains(url)) - { - NetJob *job = m_activeDownloads.value(url); - connect(job, &NetJob::succeeded, this, &WebResourceHandler::succeeded); - connect(job, &NetJob::failed, this, [job, this]() {setFailure(job->failReason());}); - connect(job, &NetJob::progress, this, &WebResourceHandler::progress); - } - else - { - NetJob *job = new NetJob("Icon download"); - job->addNetAction(CacheDownload::make(QUrl(url), entry)); - connect(job, &NetJob::succeeded, this, &WebResourceHandler::succeeded); - connect(job, &NetJob::failed, this, [job, this]() {setFailure(job->failReason());}); - connect(job, &NetJob::progress, this, &WebResourceHandler::progress); - connect(job, &NetJob::finished, job, [job](){m_activeDownloads.remove(m_activeDownloads.key(job));job->deleteLater();}); - m_activeDownloads.insert(url, job); - job->start(); - } -} - -void WebResourceHandler::succeeded() -{ - MetaEntryPtr entry = ENV.metacache()->resolveEntry("icons", m_url); - setResultFromFile(entry->getFullPath()); - m_activeDownloads.remove(m_activeDownloads.key(qobject_cast<NetJob *>(sender()))); -} -void WebResourceHandler::progress(qint64 current, qint64 total) -{ - if (total == 0) - { - setProgress(101); - } - else - { - setProgress(current / total); - } -} - -void WebResourceHandler::setResultFromFile(const QString &file) -{ - try - { - setResult(FS::read(file)); - } - catch (Exception &e) - { - setFailure(e.cause()); - } -} |