Add assets download status to status bar.
This commit is contained in:
@ -67,6 +67,8 @@ void OneSixAssets::fetchXMLFinished()
|
||||
QString fprefix ( "assets/" );
|
||||
nuke_whitelist.clear();
|
||||
|
||||
emit filesStarted();
|
||||
|
||||
auto firstJob = index_job->first();
|
||||
QByteArray ba = std::dynamic_pointer_cast<ByteArrayDownload>(firstJob)->m_data;
|
||||
|
||||
@ -84,6 +86,7 @@ void OneSixAssets::fetchXMLFinished()
|
||||
DownloadJob *job = new DownloadJob("Assets");
|
||||
connect ( job, SIGNAL(succeeded()), SLOT(downloadFinished()) );
|
||||
connect ( job, SIGNAL(failed()), SIGNAL(failed()) );
|
||||
connect ( job, SIGNAL(filesProgress(int, int, int)), SIGNAL(filesProgress(int, int, int)) );
|
||||
|
||||
auto metacache = MMC->metacache();
|
||||
|
||||
@ -130,14 +133,15 @@ void OneSixAssets::fetchXMLFinished()
|
||||
emit finished();
|
||||
}
|
||||
}
|
||||
|
||||
void OneSixAssets::start()
|
||||
{
|
||||
auto job = new DownloadJob("Assets index");
|
||||
job->addByteArrayDownload(QUrl ( "http://s3.amazonaws.com/Minecraft.Resources/" ));
|
||||
connect ( job, SIGNAL(succeeded()), SLOT ( fetchXMLFinished() ) );
|
||||
emit indexStarted();
|
||||
index_job.reset ( job );
|
||||
job->start();
|
||||
}
|
||||
|
||||
|
||||
#include "OneSixAssets.moc"
|
||||
|
@ -10,6 +10,9 @@ class OneSixAssets : public QObject
|
||||
signals:
|
||||
void failed();
|
||||
void finished();
|
||||
void indexStarted();
|
||||
void filesStarted();
|
||||
void filesProgress(int, int, int);
|
||||
|
||||
public slots:
|
||||
void fetchXMLFinished();
|
||||
|
@ -56,6 +56,8 @@ void DownloadJob::partSucceeded(int index)
|
||||
num_succeeded++;
|
||||
QLOG_INFO() << m_job_name.toLocal8Bit() << "progress:" << num_succeeded << "/"
|
||||
<< downloads.size();
|
||||
emit filesProgress(num_succeeded, num_failed, downloads.size());
|
||||
|
||||
if (num_failed + num_succeeded == downloads.size())
|
||||
{
|
||||
if (num_failed)
|
||||
@ -78,6 +80,7 @@ void DownloadJob::partFailed(int index)
|
||||
{
|
||||
QLOG_ERROR() << "Part" << index << "failed 3 times (" << downloads[index]->m_url << ")";
|
||||
num_failed++;
|
||||
emit filesProgress(num_succeeded, num_failed, downloads.size());
|
||||
if (num_failed + num_succeeded == downloads.size())
|
||||
{
|
||||
QLOG_ERROR() << m_job_name.toLocal8Bit() << "failed.";
|
||||
|
@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include <QtNetwork>
|
||||
#include <QLabel>
|
||||
#include "Download.h"
|
||||
#include "ByteArrayDownload.h"
|
||||
#include "FileDownload.h"
|
||||
@ -57,12 +58,13 @@ public:
|
||||
signals:
|
||||
void started();
|
||||
void progress(qint64 current, qint64 total);
|
||||
void filesProgress(int, int, int);
|
||||
void succeeded();
|
||||
void failed();
|
||||
public slots:
|
||||
virtual void start();
|
||||
private slots:
|
||||
void partProgress(int index, qint64 bytesReceived, qint64 bytesTotal);;
|
||||
void partProgress(int index, qint64 bytesReceived, qint64 bytesTotal);
|
||||
void partSucceeded(int index);
|
||||
void partFailed(int index);
|
||||
private:
|
||||
|
Reference in New Issue
Block a user